diff --git a/.github/ISSUE_TEMPLATE/new_resource_request.md b/.github/ISSUE_TEMPLATE/new_resource_request.md index 19ab7cd..3fa43c3 100644 --- a/.github/ISSUE_TEMPLATE/new_resource_request.md +++ b/.github/ISSUE_TEMPLATE/new_resource_request.md @@ -23,10 +23,10 @@ Help us for prioritization of the resource support by giving more details about why you need it. --> -### Would you be willing to contribute it using [Terrajet](https://github.com/crossplane-contrib/terrajet)? +### Would you be willing to contribute it using [Terrajet](https://github.com/crossplane/terrajet)? \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08989c4..8ccc526 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: env: # Common versions - GO_VERSION: '1.16' + GO_VERSION: '1.18' GOLANGCI_VERSION: 'v1.31' DOCKER_BUILDX_VERSION: 'v0.4.2' @@ -78,7 +78,7 @@ jobs: # prefer this action because it leaves 'annotations' (i.e. it comments # on PRs to point out linter violations). - name: Lint - uses: golangci/golangci-lint-action@v2 + uses: golangci/golangci-lint-action@v3 with: version: ${{ env.GOLANGCI_VERSION }} skip-go-installation: true @@ -295,20 +295,20 @@ jobs: # We're using docker buildx, which doesn't actually load the images it # builds by default. Specifying --load does so. BUILD_ARGS: "--load" - + - name: Publish Artifacts to GitHub uses: actions/upload-artifact@v2 with: name: output path: _output/** - + - name: Login to Docker uses: docker/login-action@v1 if: env.DOCKER_USR != '' with: username: ${{ secrets.DOCKER_USR }} password: ${{ secrets.DOCKER_PSW }} - + - name: Publish Artifacts to S3 and Docker Hub run: make -j2 publish BRANCH_NAME=${GITHUB_REF##*/} if: env.AWS_USR != '' && env.DOCKER_USR != '' @@ -316,7 +316,7 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_USR }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_PSW }} GIT_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + - name: Promote Artifacts in S3 and Docker Hub if: github.ref == 'refs/heads/main' && env.AWS_USR != '' && env.DOCKER_USR != '' run: make -j2 promote @@ -325,3 +325,4 @@ jobs: CHANNEL: main AWS_ACCESS_KEY_ID: ${{ secrets.AWS_USR }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_PSW }} + diff --git a/Makefile b/Makefile index 6744eea..7fb03c3 100644 --- a/Makefile +++ b/Makefile @@ -4,9 +4,10 @@ PROJECT_NAME := provider-jet-rancher PROJECT_REPO := github.com/crossplane-contrib/$(PROJECT_NAME) -export TERRAFORM_VERSION := 1.0.11 +export TERRAFORM_VERSION := 1.1.6 + export TERRAFORM_PROVIDER_SOURCE := rancher/rancher2 -export TERRAFORM_PROVIDER_VERSION := 1.22.2 +export TERRAFORM_PROVIDER_VERSION := 1.24.0 export TERRAFORM_PROVIDER_DOWNLOAD_NAME := terraform-provider-rancher2 export TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX := https://github.com/rancher/terraform-provider-rancher2/releases/download/v$(TERRAFORM_PROVIDER_VERSION) @@ -54,7 +55,7 @@ IMAGES = provider-jet-rancher provider-jet-rancher-controller -include build/makelib/image.mk # ==================================================================================== -# Targets +# Fallthrough # run `make help` to see the targets and options @@ -67,6 +68,35 @@ fallthrough: submodules @echo Initial setup complete. Running make again . . . @make +# ==================================================================================== +# Setup Terraform for fetching provider schema +TERRAFORM := $(TOOLS_HOST_DIR)/terraform-$(TERRAFORM_VERSION) +TERRAFORM_WORKDIR := $(WORK_DIR)/terraform +TERRAFORM_PROVIDER_SCHEMA := config/schema.json + +$(TERRAFORM): + @$(INFO) installing terraform $(HOSTOS)-$(HOSTARCH) + @mkdir -p $(TOOLS_HOST_DIR)/tmp-terraform + @curl -fsSL https://releases.hashicorp.com/terraform/$(TERRAFORM_VERSION)/terraform_$(TERRAFORM_VERSION)_$(SAFEHOST_PLATFORM).zip -o $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip + @unzip $(TOOLS_HOST_DIR)/tmp-terraform/terraform.zip -d $(TOOLS_HOST_DIR)/tmp-terraform + @mv $(TOOLS_HOST_DIR)/tmp-terraform/terraform $(TERRAFORM) + @rm -fr $(TOOLS_HOST_DIR)/tmp-terraform + @$(OK) installing terraform $(HOSTOS)-$(HOSTARCH) + +$(TERRAFORM_PROVIDER_SCHEMA): $(TERRAFORM) + @$(INFO) generating provider schema for $(TERRAFORM_PROVIDER_SOURCE) $(TERRAFORM_PROVIDER_VERSION) + @mkdir -p $(TERRAFORM_WORKDIR) + @echo '{"terraform":[{"required_providers":[{"provider":{"source":"'"$(TERRAFORM_PROVIDER_SOURCE)"'","version":"'"$(TERRAFORM_PROVIDER_VERSION)"'"}}],"required_version":"'"$(TERRAFORM_VERSION)"'"}]}' > $(TERRAFORM_WORKDIR)/main.tf.json + @$(TERRAFORM) -chdir=$(TERRAFORM_WORKDIR) init > $(TERRAFORM_WORKDIR)/terraform-logs.txt 2>&1 + @$(TERRAFORM) -chdir=$(TERRAFORM_WORKDIR) providers schema -json=true > $(TERRAFORM_PROVIDER_SCHEMA) 2>> $(TERRAFORM_WORKDIR)/terraform-logs.txt + @$(OK) generating provider schema for $(TERRAFORM_PROVIDER_SOURCE) $(TERRAFORM_PROVIDER_VERSION) + +generate.init: $(TERRAFORM_PROVIDER_SCHEMA) + +.PHONY: $(TERRAFORM_PROVIDER_SCHEMA) +# ==================================================================================== +# Targets + # NOTE: the build submodule currently overrides XDG_CACHE_HOME in order to # force the Helm 3 to use the .work/helm directory. This causes Go on Linux # machines to use that directory as the build cache as well. We should adjust @@ -83,14 +113,6 @@ cobertura: grep -v zz_ | \ $(GOCOVER_COBERTURA) > $(GO_TEST_OUTPUT)/cobertura-coverage.xml -crds.clean: - @$(INFO) cleaning generated CRDs - @find package/crds -name '*.yaml' -exec sed -i.sed -e '1,2d' {} \; || $(FAIL) - @find package/crds -name '*.yaml.sed' -delete || $(FAIL) - @$(OK) cleaned generated CRDs - -generate.done: crds.clean - # Update the submodules, such as the common build scripts. submodules: @git submodule sync diff --git a/README.md b/README.md index 30051ab..10acd30 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Terrajet Rancher Provider `provider-jet-rancher` is a [Crossplane](https://crossplane.io/) provider that -is built using [Terrajet](https://github.com/crossplane-contrib/terrajet) code -generation tools and exposes XRM-conformant managed resources for the +is built using [Terrajet](https://github.com/crossplane/terrajet) code +generation tools and exposes XRM-conformant managed resources for the Rancher API. ## Getting Started @@ -13,13 +13,26 @@ to the [latest release](https://github.com/crossplane-contrib/provider-jet-ranch kubectl crossplane install provider crossplane/provider-jet-rancher:v0.1.0 ``` +Alternatively, you can use declarative installation: +``` +kubectl apply -f examples/install.yaml +``` + +Notice that in this example Provider resource is referencing ControllerConfig with debug enabled. + You can see the API reference [here](https://doc.crds.dev/github.com/crossplane-contrib/provider-jet-rancher). ## Developing -Run code-generation pipeline: +Clone this repository and cd into the repository directory. Fetch the upbound/build submodule by running the following: + ```console -go run cmd/generator/main.go +make submodules +``` + +Run code-generation pipeline: +``` +make generate ``` Run against a Kubernetes cluster: @@ -34,18 +47,6 @@ Build, push, and install: make all ``` -Build image: - -```console -make image -``` - -Push image: - -```console -make push -``` - Build binary: ```console diff --git a/apis/app/v1alpha1/zz_generated.deepcopy.go b/apis/app/v1alpha1/zz_generated.deepcopy.go index bb09eb2..e30ffc3 100644 --- a/apis/app/v1alpha1/zz_generated.deepcopy.go +++ b/apis/app/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -118,9 +119,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ChartName != nil { @@ -160,9 +169,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Namespace != nil { diff --git a/apis/app/v1alpha1/zz_generated.managed.go b/apis/app/v1alpha1/zz_generated.managed.go index 4407d72..f9eed55 100644 --- a/apis/app/v1alpha1/zz_generated.managed.go +++ b/apis/app/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *V2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this V2. +func (mg *V2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this V2. func (mg *V2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *V2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this V2. +func (mg *V2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this V2. func (mg *V2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/app/v1alpha1/zz_v2_terraformed.go b/apis/app/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/app/v1alpha1/zz_v2_terraformed.go rename to apis/app/v1alpha1/zz_generated_terraformed.go diff --git a/apis/app/v1alpha1/zz_v2_types.go b/apis/app/v1alpha1/zz_v2_types.go index ea9d7e8..111d820 100755 --- a/apis/app/v1alpha1/zz_v2_types.go +++ b/apis/app/v1alpha1/zz_v2_types.go @@ -37,7 +37,7 @@ type V2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Chart name // +kubebuilder:validation:Required @@ -68,7 +68,7 @@ type V2Parameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // App v2 namespace // +kubebuilder:validation:Required diff --git a/apis/auth/v1alpha1/zz_configactivedirectory_terraformed.go b/apis/auth/v1alpha1/zz_configactivedirectory_terraformed.go deleted file mode 100755 index 1fb7cc5..0000000 --- a/apis/auth/v1alpha1/zz_configactivedirectory_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigActivedirectory -func (mg *ConfigActivedirectory) GetTerraformResourceType() string { - return "rancher2_auth_config_activedirectory" -} - -// GetConnectionDetailsMapping for this ConfigActivedirectory -func (tr *ConfigActivedirectory) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "service_account_username": "spec.forProvider.serviceAccountUsernameSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} -} - -// GetObservation of this ConfigActivedirectory -func (tr *ConfigActivedirectory) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigActivedirectory -func (tr *ConfigActivedirectory) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigActivedirectory -func (tr *ConfigActivedirectory) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigActivedirectory -func (tr *ConfigActivedirectory) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigActivedirectory -func (tr *ConfigActivedirectory) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigActivedirectory using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigActivedirectory) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigActivedirectoryParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigActivedirectory) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configactivedirectory_types.go b/apis/auth/v1alpha1/zz_configactivedirectory_types.go index 6b688a5..976e873 100755 --- a/apis/auth/v1alpha1/zz_configactivedirectory_types.go +++ b/apis/auth/v1alpha1/zz_configactivedirectory_types.go @@ -41,13 +41,13 @@ type ConfigActivedirectoryParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional CertificateSecretRef *v1.SecretKeySelector `json:"certificateSecretRef,omitempty" tf:"-"` // +kubebuilder:validation:Optional - ConnectionTimeout *int64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` + ConnectionTimeout *float64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` // +kubebuilder:validation:Optional DefaultLoginDomain *string `json:"defaultLoginDomain,omitempty" tf:"default_login_domain,omitempty"` @@ -81,13 +81,13 @@ type ConfigActivedirectoryParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NestedGroupMembershipEnabled *bool `json:"nestedGroupMembershipEnabled,omitempty" tf:"nested_group_membership_enabled,omitempty"` // +kubebuilder:validation:Optional - Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Required Servers []*string `json:"servers" tf:"servers,omitempty"` @@ -111,7 +111,7 @@ type ConfigActivedirectoryParameters struct { TestUsername *string `json:"testUsername" tf:"test_username,omitempty"` // +kubebuilder:validation:Optional - UserDisabledBitMask *int64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` + UserDisabledBitMask *float64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` // +kubebuilder:validation:Optional UserEnabledAttribute *string `json:"userEnabledAttribute,omitempty" tf:"user_enabled_attribute,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configadfs_terraformed.go b/apis/auth/v1alpha1/zz_configadfs_terraformed.go deleted file mode 100755 index b2764fa..0000000 --- a/apis/auth/v1alpha1/zz_configadfs_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigAdfs -func (mg *ConfigAdfs) GetTerraformResourceType() string { - return "rancher2_auth_config_adfs" -} - -// GetConnectionDetailsMapping for this ConfigAdfs -func (tr *ConfigAdfs) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} -} - -// GetObservation of this ConfigAdfs -func (tr *ConfigAdfs) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigAdfs -func (tr *ConfigAdfs) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigAdfs -func (tr *ConfigAdfs) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigAdfs -func (tr *ConfigAdfs) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigAdfs -func (tr *ConfigAdfs) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigAdfs using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigAdfs) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigAdfsParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigAdfs) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configadfs_types.go b/apis/auth/v1alpha1/zz_configadfs_types.go index 6833c25..e534f4f 100755 --- a/apis/auth/v1alpha1/zz_configadfs_types.go +++ b/apis/auth/v1alpha1/zz_configadfs_types.go @@ -41,7 +41,7 @@ type ConfigAdfsParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required DisplayNameField *string `json:"displayNameField" tf:"display_name_field,omitempty"` @@ -57,7 +57,7 @@ type ConfigAdfsParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RancherAPIHost *string `json:"rancherApiHost" tf:"rancher_api_host,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configazuread_terraformed.go b/apis/auth/v1alpha1/zz_configazuread_terraformed.go deleted file mode 100755 index 5c10a41..0000000 --- a/apis/auth/v1alpha1/zz_configazuread_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigAzuread -func (mg *ConfigAzuread) GetTerraformResourceType() string { - return "rancher2_auth_config_azuread" -} - -// GetConnectionDetailsMapping for this ConfigAzuread -func (tr *ConfigAzuread) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"application_id": "spec.forProvider.applicationIDSecretRef", "application_secret": "spec.forProvider.applicationSecretSecretRef"} -} - -// GetObservation of this ConfigAzuread -func (tr *ConfigAzuread) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigAzuread -func (tr *ConfigAzuread) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigAzuread -func (tr *ConfigAzuread) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigAzuread -func (tr *ConfigAzuread) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigAzuread -func (tr *ConfigAzuread) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigAzuread using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigAzuread) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigAzureadParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigAzuread) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configazuread_types.go b/apis/auth/v1alpha1/zz_configazuread_types.go index 5379738..bb5c356 100755 --- a/apis/auth/v1alpha1/zz_configazuread_types.go +++ b/apis/auth/v1alpha1/zz_configazuread_types.go @@ -41,7 +41,7 @@ type ConfigAzureadParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ApplicationIDSecretRef v1.SecretKeySelector `json:"applicationIdSecretRef" tf:"-"` @@ -63,7 +63,7 @@ type ConfigAzureadParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RancherURL *string `json:"rancherUrl" tf:"rancher_url,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configfreeipa_terraformed.go b/apis/auth/v1alpha1/zz_configfreeipa_terraformed.go deleted file mode 100755 index 94ebf66..0000000 --- a/apis/auth/v1alpha1/zz_configfreeipa_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigFreeipa -func (mg *ConfigFreeipa) GetTerraformResourceType() string { - return "rancher2_auth_config_freeipa" -} - -// GetConnectionDetailsMapping for this ConfigFreeipa -func (tr *ConfigFreeipa) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_distinguished_name": "spec.forProvider.serviceAccountDistinguishedNameSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} -} - -// GetObservation of this ConfigFreeipa -func (tr *ConfigFreeipa) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigFreeipa -func (tr *ConfigFreeipa) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigFreeipa -func (tr *ConfigFreeipa) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigFreeipa -func (tr *ConfigFreeipa) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigFreeipa -func (tr *ConfigFreeipa) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigFreeipa using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigFreeipa) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigFreeipaParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigFreeipa) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configfreeipa_types.go b/apis/auth/v1alpha1/zz_configfreeipa_types.go index 70cbf08..1a22c99 100755 --- a/apis/auth/v1alpha1/zz_configfreeipa_types.go +++ b/apis/auth/v1alpha1/zz_configfreeipa_types.go @@ -41,13 +41,13 @@ type ConfigFreeipaParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional CertificateSecretRef *v1.SecretKeySelector `json:"certificateSecretRef,omitempty" tf:"-"` // +kubebuilder:validation:Optional - ConnectionTimeout *int64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` + ConnectionTimeout *float64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` @@ -75,13 +75,13 @@ type ConfigFreeipaParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NestedGroupMembershipEnabled *bool `json:"nestedGroupMembershipEnabled,omitempty" tf:"nested_group_membership_enabled,omitempty"` // +kubebuilder:validation:Optional - Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Required Servers []*string `json:"servers" tf:"servers,omitempty"` @@ -102,7 +102,7 @@ type ConfigFreeipaParameters struct { TestUsername *string `json:"testUsername" tf:"test_username,omitempty"` // +kubebuilder:validation:Optional - UserDisabledBitMask *int64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` + UserDisabledBitMask *float64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` // +kubebuilder:validation:Optional UserEnabledAttribute *string `json:"userEnabledAttribute,omitempty" tf:"user_enabled_attribute,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configgithub_terraformed.go b/apis/auth/v1alpha1/zz_configgithub_terraformed.go deleted file mode 100755 index f3138ce..0000000 --- a/apis/auth/v1alpha1/zz_configgithub_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigGithub -func (mg *ConfigGithub) GetTerraformResourceType() string { - return "rancher2_auth_config_github" -} - -// GetConnectionDetailsMapping for this ConfigGithub -func (tr *ConfigGithub) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"client_id": "spec.forProvider.clientIDSecretRef", "client_secret": "spec.forProvider.clientSecretSecretRef"} -} - -// GetObservation of this ConfigGithub -func (tr *ConfigGithub) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigGithub -func (tr *ConfigGithub) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigGithub -func (tr *ConfigGithub) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigGithub -func (tr *ConfigGithub) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigGithub -func (tr *ConfigGithub) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigGithub using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigGithub) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigGithubParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigGithub) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configgithub_types.go b/apis/auth/v1alpha1/zz_configgithub_types.go index 1580cd1..cbfc48c 100755 --- a/apis/auth/v1alpha1/zz_configgithub_types.go +++ b/apis/auth/v1alpha1/zz_configgithub_types.go @@ -41,7 +41,7 @@ type ConfigGithubParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ClientIDSecretRef v1.SecretKeySelector `json:"clientIdSecretRef" tf:"-"` @@ -57,7 +57,7 @@ type ConfigGithubParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configkeycloak_terraformed.go b/apis/auth/v1alpha1/zz_configkeycloak_terraformed.go deleted file mode 100755 index a11c7ab..0000000 --- a/apis/auth/v1alpha1/zz_configkeycloak_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigKeycloak -func (mg *ConfigKeycloak) GetTerraformResourceType() string { - return "rancher2_auth_config_keycloak" -} - -// GetConnectionDetailsMapping for this ConfigKeycloak -func (tr *ConfigKeycloak) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} -} - -// GetObservation of this ConfigKeycloak -func (tr *ConfigKeycloak) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigKeycloak -func (tr *ConfigKeycloak) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigKeycloak -func (tr *ConfigKeycloak) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigKeycloak -func (tr *ConfigKeycloak) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigKeycloak -func (tr *ConfigKeycloak) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigKeycloak using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigKeycloak) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigKeycloakParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigKeycloak) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configkeycloak_types.go b/apis/auth/v1alpha1/zz_configkeycloak_types.go index e26f7f7..8df05de 100755 --- a/apis/auth/v1alpha1/zz_configkeycloak_types.go +++ b/apis/auth/v1alpha1/zz_configkeycloak_types.go @@ -41,7 +41,7 @@ type ConfigKeycloakParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required DisplayNameField *string `json:"displayNameField" tf:"display_name_field,omitempty"` @@ -60,7 +60,7 @@ type ConfigKeycloakParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RancherAPIHost *string `json:"rancherApiHost" tf:"rancher_api_host,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configokta_terraformed.go b/apis/auth/v1alpha1/zz_configokta_terraformed.go deleted file mode 100755 index a2bac2e..0000000 --- a/apis/auth/v1alpha1/zz_configokta_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigOkta -func (mg *ConfigOkta) GetTerraformResourceType() string { - return "rancher2_auth_config_okta" -} - -// GetConnectionDetailsMapping for this ConfigOkta -func (tr *ConfigOkta) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} -} - -// GetObservation of this ConfigOkta -func (tr *ConfigOkta) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigOkta -func (tr *ConfigOkta) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigOkta -func (tr *ConfigOkta) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigOkta -func (tr *ConfigOkta) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigOkta -func (tr *ConfigOkta) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigOkta using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigOkta) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigOktaParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigOkta) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configokta_types.go b/apis/auth/v1alpha1/zz_configokta_types.go index 2c38f17..62f15ef 100755 --- a/apis/auth/v1alpha1/zz_configokta_types.go +++ b/apis/auth/v1alpha1/zz_configokta_types.go @@ -41,7 +41,7 @@ type ConfigOktaParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required DisplayNameField *string `json:"displayNameField" tf:"display_name_field,omitempty"` @@ -57,7 +57,7 @@ type ConfigOktaParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RancherAPIHost *string `json:"rancherApiHost" tf:"rancher_api_host,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configopenldap_terraformed.go b/apis/auth/v1alpha1/zz_configopenldap_terraformed.go deleted file mode 100755 index 4105c44..0000000 --- a/apis/auth/v1alpha1/zz_configopenldap_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigOpenldap -func (mg *ConfigOpenldap) GetTerraformResourceType() string { - return "rancher2_auth_config_openldap" -} - -// GetConnectionDetailsMapping for this ConfigOpenldap -func (tr *ConfigOpenldap) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_distinguished_name": "spec.forProvider.serviceAccountDistinguishedNameSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} -} - -// GetObservation of this ConfigOpenldap -func (tr *ConfigOpenldap) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigOpenldap -func (tr *ConfigOpenldap) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigOpenldap -func (tr *ConfigOpenldap) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigOpenldap -func (tr *ConfigOpenldap) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigOpenldap -func (tr *ConfigOpenldap) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigOpenldap using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigOpenldap) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigOpenldapParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigOpenldap) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configopenldap_types.go b/apis/auth/v1alpha1/zz_configopenldap_types.go index 0c46224..9142bd5 100755 --- a/apis/auth/v1alpha1/zz_configopenldap_types.go +++ b/apis/auth/v1alpha1/zz_configopenldap_types.go @@ -41,13 +41,13 @@ type ConfigOpenldapParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional CertificateSecretRef *v1.SecretKeySelector `json:"certificateSecretRef,omitempty" tf:"-"` // +kubebuilder:validation:Optional - ConnectionTimeout *int64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` + ConnectionTimeout *float64 `json:"connectionTimeout,omitempty" tf:"connection_timeout,omitempty"` // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` @@ -75,13 +75,13 @@ type ConfigOpenldapParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NestedGroupMembershipEnabled *bool `json:"nestedGroupMembershipEnabled,omitempty" tf:"nested_group_membership_enabled,omitempty"` // +kubebuilder:validation:Optional - Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Required Servers []*string `json:"servers" tf:"servers,omitempty"` @@ -102,7 +102,7 @@ type ConfigOpenldapParameters struct { TestUsername *string `json:"testUsername" tf:"test_username,omitempty"` // +kubebuilder:validation:Optional - UserDisabledBitMask *int64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` + UserDisabledBitMask *float64 `json:"userDisabledBitMask,omitempty" tf:"user_disabled_bit_mask,omitempty"` // +kubebuilder:validation:Optional UserEnabledAttribute *string `json:"userEnabledAttribute,omitempty" tf:"user_enabled_attribute,omitempty"` diff --git a/apis/auth/v1alpha1/zz_configping_terraformed.go b/apis/auth/v1alpha1/zz_configping_terraformed.go deleted file mode 100755 index a7a74c1..0000000 --- a/apis/auth/v1alpha1/zz_configping_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this ConfigPing -func (mg *ConfigPing) GetTerraformResourceType() string { - return "rancher2_auth_config_ping" -} - -// GetConnectionDetailsMapping for this ConfigPing -func (tr *ConfigPing) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} -} - -// GetObservation of this ConfigPing -func (tr *ConfigPing) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this ConfigPing -func (tr *ConfigPing) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this ConfigPing -func (tr *ConfigPing) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this ConfigPing -func (tr *ConfigPing) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this ConfigPing -func (tr *ConfigPing) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this ConfigPing using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *ConfigPing) LateInitialize(attrs []byte) (bool, error) { - params := &ConfigPingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *ConfigPing) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/auth/v1alpha1/zz_configping_types.go b/apis/auth/v1alpha1/zz_configping_types.go index 1db41d8..e3cf6ec 100755 --- a/apis/auth/v1alpha1/zz_configping_types.go +++ b/apis/auth/v1alpha1/zz_configping_types.go @@ -41,7 +41,7 @@ type ConfigPingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required DisplayNameField *string `json:"displayNameField" tf:"display_name_field,omitempty"` @@ -57,7 +57,7 @@ type ConfigPingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RancherAPIHost *string `json:"rancherApiHost" tf:"rancher_api_host,omitempty"` diff --git a/apis/auth/v1alpha1/zz_generated.deepcopy.go b/apis/auth/v1alpha1/zz_generated.deepcopy.go index 431482d..efeb039 100644 --- a/apis/auth/v1alpha1/zz_generated.deepcopy.go +++ b/apis/auth/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -130,9 +131,17 @@ func (in *ConfigActivedirectoryParameters) DeepCopyInto(out *ConfigActivedirecto } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CertificateSecretRef != nil { @@ -142,7 +151,7 @@ func (in *ConfigActivedirectoryParameters) DeepCopyInto(out *ConfigActivedirecto } if in.ConnectionTimeout != nil { in, out := &in.ConnectionTimeout, &out.ConnectionTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.DefaultLoginDomain != nil { @@ -197,9 +206,17 @@ func (in *ConfigActivedirectoryParameters) DeepCopyInto(out *ConfigActivedirecto } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NestedGroupMembershipEnabled != nil { @@ -209,7 +226,7 @@ func (in *ConfigActivedirectoryParameters) DeepCopyInto(out *ConfigActivedirecto } if in.Port != nil { in, out := &in.Port, &out.Port - *out = new(int64) + *out = new(float64) **out = **in } if in.Servers != nil { @@ -243,7 +260,7 @@ func (in *ConfigActivedirectoryParameters) DeepCopyInto(out *ConfigActivedirecto } if in.UserDisabledBitMask != nil { in, out := &in.UserDisabledBitMask, &out.UserDisabledBitMask - *out = new(int64) + *out = new(float64) **out = **in } if in.UserEnabledAttribute != nil { @@ -432,9 +449,17 @@ func (in *ConfigAdfsParameters) DeepCopyInto(out *ConfigAdfsParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.DisplayNameField != nil { @@ -455,9 +480,17 @@ func (in *ConfigAdfsParameters) DeepCopyInto(out *ConfigAdfsParameters) { out.IdpMetadataContentSecretRef = in.IdpMetadataContentSecretRef if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RancherAPIHost != nil { @@ -628,9 +661,17 @@ func (in *ConfigAzureadParameters) DeepCopyInto(out *ConfigAzureadParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } out.ApplicationIDSecretRef = in.ApplicationIDSecretRef @@ -657,9 +698,17 @@ func (in *ConfigAzureadParameters) DeepCopyInto(out *ConfigAzureadParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RancherURL != nil { @@ -828,9 +877,17 @@ func (in *ConfigFreeipaParameters) DeepCopyInto(out *ConfigFreeipaParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CertificateSecretRef != nil { @@ -840,7 +897,7 @@ func (in *ConfigFreeipaParameters) DeepCopyInto(out *ConfigFreeipaParameters) { } if in.ConnectionTimeout != nil { in, out := &in.ConnectionTimeout, &out.ConnectionTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.Enabled != nil { @@ -885,9 +942,17 @@ func (in *ConfigFreeipaParameters) DeepCopyInto(out *ConfigFreeipaParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NestedGroupMembershipEnabled != nil { @@ -897,7 +962,7 @@ func (in *ConfigFreeipaParameters) DeepCopyInto(out *ConfigFreeipaParameters) { } if in.Port != nil { in, out := &in.Port, &out.Port - *out = new(int64) + *out = new(float64) **out = **in } if in.Servers != nil { @@ -926,7 +991,7 @@ func (in *ConfigFreeipaParameters) DeepCopyInto(out *ConfigFreeipaParameters) { } if in.UserDisabledBitMask != nil { in, out := &in.UserDisabledBitMask, &out.UserDisabledBitMask - *out = new(int64) + *out = new(float64) **out = **in } if in.UserEnabledAttribute != nil { @@ -1115,9 +1180,17 @@ func (in *ConfigGithubParameters) DeepCopyInto(out *ConfigGithubParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } out.ClientIDSecretRef = in.ClientIDSecretRef @@ -1134,9 +1207,17 @@ func (in *ConfigGithubParameters) DeepCopyInto(out *ConfigGithubParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.TLS != nil { @@ -1295,9 +1376,17 @@ func (in *ConfigKeycloakParameters) DeepCopyInto(out *ConfigKeycloakParameters) } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.DisplayNameField != nil { @@ -1323,9 +1412,17 @@ func (in *ConfigKeycloakParameters) DeepCopyInto(out *ConfigKeycloakParameters) out.IdpMetadataContentSecretRef = in.IdpMetadataContentSecretRef if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RancherAPIHost != nil { @@ -1496,9 +1593,17 @@ func (in *ConfigOktaParameters) DeepCopyInto(out *ConfigOktaParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.DisplayNameField != nil { @@ -1519,9 +1624,17 @@ func (in *ConfigOktaParameters) DeepCopyInto(out *ConfigOktaParameters) { out.IdpMetadataContentSecretRef = in.IdpMetadataContentSecretRef if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RancherAPIHost != nil { @@ -1692,9 +1805,17 @@ func (in *ConfigOpenldapParameters) DeepCopyInto(out *ConfigOpenldapParameters) } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CertificateSecretRef != nil { @@ -1704,7 +1825,7 @@ func (in *ConfigOpenldapParameters) DeepCopyInto(out *ConfigOpenldapParameters) } if in.ConnectionTimeout != nil { in, out := &in.ConnectionTimeout, &out.ConnectionTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.Enabled != nil { @@ -1749,9 +1870,17 @@ func (in *ConfigOpenldapParameters) DeepCopyInto(out *ConfigOpenldapParameters) } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NestedGroupMembershipEnabled != nil { @@ -1761,7 +1890,7 @@ func (in *ConfigOpenldapParameters) DeepCopyInto(out *ConfigOpenldapParameters) } if in.Port != nil { in, out := &in.Port, &out.Port - *out = new(int64) + *out = new(float64) **out = **in } if in.Servers != nil { @@ -1790,7 +1919,7 @@ func (in *ConfigOpenldapParameters) DeepCopyInto(out *ConfigOpenldapParameters) } if in.UserDisabledBitMask != nil { in, out := &in.UserDisabledBitMask, &out.UserDisabledBitMask - *out = new(int64) + *out = new(float64) **out = **in } if in.UserEnabledAttribute != nil { @@ -1979,9 +2108,17 @@ func (in *ConfigPingParameters) DeepCopyInto(out *ConfigPingParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.DisplayNameField != nil { @@ -2002,9 +2139,17 @@ func (in *ConfigPingParameters) DeepCopyInto(out *ConfigPingParameters) { out.IdpMetadataContentSecretRef = in.IdpMetadataContentSecretRef if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RancherAPIHost != nil { diff --git a/apis/auth/v1alpha1/zz_generated.managed.go b/apis/auth/v1alpha1/zz_generated.managed.go index d6fe29c..e56b7b6 100644 --- a/apis/auth/v1alpha1/zz_generated.managed.go +++ b/apis/auth/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *ConfigActivedirectory) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigActivedirectory. +func (mg *ConfigActivedirectory) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigActivedirectory. func (mg *ConfigActivedirectory) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *ConfigActivedirectory) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigActivedirectory. +func (mg *ConfigActivedirectory) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigActivedirectory. func (mg *ConfigActivedirectory) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *ConfigAdfs) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigAdfs. +func (mg *ConfigAdfs) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigAdfs. func (mg *ConfigAdfs) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *ConfigAdfs) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigAdfs. +func (mg *ConfigAdfs) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigAdfs. func (mg *ConfigAdfs) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *ConfigAzuread) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigAzuread. +func (mg *ConfigAzuread) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigAzuread. func (mg *ConfigAzuread) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *ConfigAzuread) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigAzuread. +func (mg *ConfigAzuread) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigAzuread. func (mg *ConfigAzuread) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -210,6 +240,11 @@ func (mg *ConfigFreeipa) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigFreeipa. +func (mg *ConfigFreeipa) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigFreeipa. func (mg *ConfigFreeipa) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -238,6 +273,11 @@ func (mg *ConfigFreeipa) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigFreeipa. +func (mg *ConfigFreeipa) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigFreeipa. func (mg *ConfigFreeipa) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -266,6 +306,11 @@ func (mg *ConfigGithub) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigGithub. +func (mg *ConfigGithub) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigGithub. func (mg *ConfigGithub) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -294,6 +339,11 @@ func (mg *ConfigGithub) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigGithub. +func (mg *ConfigGithub) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigGithub. func (mg *ConfigGithub) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -322,6 +372,11 @@ func (mg *ConfigKeycloak) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigKeycloak. +func (mg *ConfigKeycloak) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigKeycloak. func (mg *ConfigKeycloak) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -350,6 +405,11 @@ func (mg *ConfigKeycloak) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigKeycloak. +func (mg *ConfigKeycloak) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigKeycloak. func (mg *ConfigKeycloak) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -378,6 +438,11 @@ func (mg *ConfigOkta) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigOkta. +func (mg *ConfigOkta) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigOkta. func (mg *ConfigOkta) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -406,6 +471,11 @@ func (mg *ConfigOkta) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigOkta. +func (mg *ConfigOkta) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigOkta. func (mg *ConfigOkta) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -434,6 +504,11 @@ func (mg *ConfigOpenldap) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigOpenldap. +func (mg *ConfigOpenldap) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigOpenldap. func (mg *ConfigOpenldap) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -462,6 +537,11 @@ func (mg *ConfigOpenldap) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigOpenldap. +func (mg *ConfigOpenldap) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigOpenldap. func (mg *ConfigOpenldap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -490,6 +570,11 @@ func (mg *ConfigPing) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigPing. +func (mg *ConfigPing) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigPing. func (mg *ConfigPing) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -518,6 +603,11 @@ func (mg *ConfigPing) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigPing. +func (mg *ConfigPing) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigPing. func (mg *ConfigPing) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/auth/v1alpha1/zz_generated_terraformed.go b/apis/auth/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..e1e347d --- /dev/null +++ b/apis/auth/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,692 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConfigActivedirectory +func (mg *ConfigActivedirectory) GetTerraformResourceType() string { + return "rancher2_auth_config_activedirectory" +} + +// GetConnectionDetailsMapping for this ConfigActivedirectory +func (tr *ConfigActivedirectory) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "service_account_username": "spec.forProvider.serviceAccountUsernameSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} +} + +// GetObservation of this ConfigActivedirectory +func (tr *ConfigActivedirectory) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigActivedirectory +func (tr *ConfigActivedirectory) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigActivedirectory +func (tr *ConfigActivedirectory) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigActivedirectory +func (tr *ConfigActivedirectory) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigActivedirectory +func (tr *ConfigActivedirectory) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigActivedirectory using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigActivedirectory) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigActivedirectoryParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigActivedirectory) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigAdfs +func (mg *ConfigAdfs) GetTerraformResourceType() string { + return "rancher2_auth_config_adfs" +} + +// GetConnectionDetailsMapping for this ConfigAdfs +func (tr *ConfigAdfs) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} +} + +// GetObservation of this ConfigAdfs +func (tr *ConfigAdfs) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigAdfs +func (tr *ConfigAdfs) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigAdfs +func (tr *ConfigAdfs) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigAdfs +func (tr *ConfigAdfs) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigAdfs +func (tr *ConfigAdfs) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigAdfs using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigAdfs) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigAdfsParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigAdfs) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigAzuread +func (mg *ConfigAzuread) GetTerraformResourceType() string { + return "rancher2_auth_config_azuread" +} + +// GetConnectionDetailsMapping for this ConfigAzuread +func (tr *ConfigAzuread) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"application_id": "spec.forProvider.applicationIdSecretRef", "application_secret": "spec.forProvider.applicationSecretSecretRef"} +} + +// GetObservation of this ConfigAzuread +func (tr *ConfigAzuread) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigAzuread +func (tr *ConfigAzuread) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigAzuread +func (tr *ConfigAzuread) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigAzuread +func (tr *ConfigAzuread) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigAzuread +func (tr *ConfigAzuread) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigAzuread using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigAzuread) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigAzureadParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigAzuread) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigFreeipa +func (mg *ConfigFreeipa) GetTerraformResourceType() string { + return "rancher2_auth_config_freeipa" +} + +// GetConnectionDetailsMapping for this ConfigFreeipa +func (tr *ConfigFreeipa) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_distinguished_name": "spec.forProvider.serviceAccountDistinguishedNameSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} +} + +// GetObservation of this ConfigFreeipa +func (tr *ConfigFreeipa) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigFreeipa +func (tr *ConfigFreeipa) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigFreeipa +func (tr *ConfigFreeipa) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigFreeipa +func (tr *ConfigFreeipa) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigFreeipa +func (tr *ConfigFreeipa) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigFreeipa using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigFreeipa) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigFreeipaParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigFreeipa) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigGithub +func (mg *ConfigGithub) GetTerraformResourceType() string { + return "rancher2_auth_config_github" +} + +// GetConnectionDetailsMapping for this ConfigGithub +func (tr *ConfigGithub) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"client_id": "spec.forProvider.clientIdSecretRef", "client_secret": "spec.forProvider.clientSecretSecretRef"} +} + +// GetObservation of this ConfigGithub +func (tr *ConfigGithub) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigGithub +func (tr *ConfigGithub) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigGithub +func (tr *ConfigGithub) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigGithub +func (tr *ConfigGithub) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigGithub +func (tr *ConfigGithub) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigGithub using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigGithub) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigGithubParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigGithub) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigKeycloak +func (mg *ConfigKeycloak) GetTerraformResourceType() string { + return "rancher2_auth_config_keycloak" +} + +// GetConnectionDetailsMapping for this ConfigKeycloak +func (tr *ConfigKeycloak) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} +} + +// GetObservation of this ConfigKeycloak +func (tr *ConfigKeycloak) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigKeycloak +func (tr *ConfigKeycloak) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigKeycloak +func (tr *ConfigKeycloak) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigKeycloak +func (tr *ConfigKeycloak) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigKeycloak +func (tr *ConfigKeycloak) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigKeycloak using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigKeycloak) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigKeycloakParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigKeycloak) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigOkta +func (mg *ConfigOkta) GetTerraformResourceType() string { + return "rancher2_auth_config_okta" +} + +// GetConnectionDetailsMapping for this ConfigOkta +func (tr *ConfigOkta) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} +} + +// GetObservation of this ConfigOkta +func (tr *ConfigOkta) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigOkta +func (tr *ConfigOkta) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigOkta +func (tr *ConfigOkta) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigOkta +func (tr *ConfigOkta) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigOkta +func (tr *ConfigOkta) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigOkta using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigOkta) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigOktaParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigOkta) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigOpenldap +func (mg *ConfigOpenldap) GetTerraformResourceType() string { + return "rancher2_auth_config_openldap" +} + +// GetConnectionDetailsMapping for this ConfigOpenldap +func (tr *ConfigOpenldap) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "service_account_distinguished_name": "spec.forProvider.serviceAccountDistinguishedNameSecretRef", "service_account_password": "spec.forProvider.serviceAccountPasswordSecretRef", "test_password": "spec.forProvider.testPasswordSecretRef"} +} + +// GetObservation of this ConfigOpenldap +func (tr *ConfigOpenldap) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigOpenldap +func (tr *ConfigOpenldap) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigOpenldap +func (tr *ConfigOpenldap) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigOpenldap +func (tr *ConfigOpenldap) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigOpenldap +func (tr *ConfigOpenldap) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigOpenldap using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigOpenldap) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigOpenldapParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigOpenldap) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ConfigPing +func (mg *ConfigPing) GetTerraformResourceType() string { + return "rancher2_auth_config_ping" +} + +// GetConnectionDetailsMapping for this ConfigPing +func (tr *ConfigPing) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"idp_metadata_content": "spec.forProvider.idpMetadataContentSecretRef", "sp_cert": "spec.forProvider.spCertSecretRef", "sp_key": "spec.forProvider.spKeySecretRef"} +} + +// GetObservation of this ConfigPing +func (tr *ConfigPing) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConfigPing +func (tr *ConfigPing) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ConfigPing +func (tr *ConfigPing) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConfigPing +func (tr *ConfigPing) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConfigPing +func (tr *ConfigPing) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConfigPing using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConfigPing) LateInitialize(attrs []byte) (bool, error) { + params := &ConfigPingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ConfigPing) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/catalog/v1alpha1/zz_generated.deepcopy.go b/apis/catalog/v1alpha1/zz_generated.deepcopy.go index f4efb88..f5764bb 100644 --- a/apis/catalog/v1alpha1/zz_generated.deepcopy.go +++ b/apis/catalog/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -113,9 +114,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CABundle != nil { @@ -150,9 +159,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.SecretName != nil { diff --git a/apis/catalog/v1alpha1/zz_generated.managed.go b/apis/catalog/v1alpha1/zz_generated.managed.go index 4407d72..f9eed55 100644 --- a/apis/catalog/v1alpha1/zz_generated.managed.go +++ b/apis/catalog/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *V2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this V2. +func (mg *V2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this V2. func (mg *V2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *V2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this V2. +func (mg *V2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this V2. func (mg *V2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/catalog/v1alpha1/zz_v2_terraformed.go b/apis/catalog/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/catalog/v1alpha1/zz_v2_terraformed.go rename to apis/catalog/v1alpha1/zz_generated_terraformed.go diff --git a/apis/catalog/v1alpha1/zz_v2_types.go b/apis/catalog/v1alpha1/zz_v2_types.go index 227c707..532c75b 100755 --- a/apis/catalog/v1alpha1/zz_v2_types.go +++ b/apis/catalog/v1alpha1/zz_v2_types.go @@ -35,7 +35,7 @@ type V2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // PEM encoded CA bundle which will be used to validate the repo's certificate // +kubebuilder:validation:Optional @@ -63,7 +63,7 @@ type V2Parameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // K8s secret name to be used to connect to the repo // +kubebuilder:validation:Optional diff --git a/apis/cloud/v1alpha1/zz_credential_types.go b/apis/cloud/v1alpha1/zz_credential_types.go index ec97b8e..c499ff7 100755 --- a/apis/cloud/v1alpha1/zz_credential_types.go +++ b/apis/cloud/v1alpha1/zz_credential_types.go @@ -82,7 +82,7 @@ type CredentialParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional AzureCredentialConfig []AzureCredentialConfigParameters `json:"azureCredentialConfig,omitempty" tf:"azure_credential_config,omitempty"` @@ -96,9 +96,12 @@ type CredentialParameters struct { // +kubebuilder:validation:Optional GoogleCredentialConfig []GoogleCredentialConfigParameters `json:"googleCredentialConfig,omitempty" tf:"google_credential_config,omitempty"` + // +kubebuilder:validation:Optional + HarvesterCredentialConfig []HarvesterCredentialConfigParameters `json:"harvesterCredentialConfig,omitempty" tf:"harvester_credential_config,omitempty"` + // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional LinodeCredentialConfig []LinodeCredentialConfigParameters `json:"linodeCredentialConfig,omitempty" tf:"linode_credential_config,omitempty"` @@ -133,6 +136,24 @@ type GoogleCredentialConfigParameters struct { AuthEncodedJSONSecretRef v1.SecretKeySelector `json:"authEncodedJsonSecretRef" tf:"-"` } +type HarvesterCredentialConfigObservation struct { +} + +type HarvesterCredentialConfigParameters struct { + + // The cluster id of imported Harvester cluster + // +kubebuilder:validation:Optional + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` + + // Harvester cluster type. must be imported or external + // +kubebuilder:validation:Required + ClusterType *string `json:"clusterType" tf:"cluster_type,omitempty"` + + // Harvester cluster kubeconfig content + // +kubebuilder:validation:Required + KubeconfigContentSecretRef v1.SecretKeySelector `json:"kubeconfigContentSecretRef" tf:"-"` +} + type LinodeCredentialConfigObservation struct { } diff --git a/apis/cloud/v1alpha1/zz_generated.deepcopy.go b/apis/cloud/v1alpha1/zz_generated.deepcopy.go index 0b7495e..9af4987 100644 --- a/apis/cloud/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cloud/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -201,9 +202,17 @@ func (in *CredentialParameters) DeepCopyInto(out *CredentialParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.AzureCredentialConfig != nil { @@ -228,11 +237,26 @@ func (in *CredentialParameters) DeepCopyInto(out *CredentialParameters) { *out = make([]GoogleCredentialConfigParameters, len(*in)) copy(*out, *in) } + if in.HarvesterCredentialConfig != nil { + in, out := &in.HarvesterCredentialConfig, &out.HarvesterCredentialConfig + *out = make([]HarvesterCredentialConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LinodeCredentialConfig != nil { @@ -367,6 +391,47 @@ func (in *GoogleCredentialConfigParameters) DeepCopy() *GoogleCredentialConfigPa return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterCredentialConfigObservation) DeepCopyInto(out *HarvesterCredentialConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterCredentialConfigObservation. +func (in *HarvesterCredentialConfigObservation) DeepCopy() *HarvesterCredentialConfigObservation { + if in == nil { + return nil + } + out := new(HarvesterCredentialConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterCredentialConfigParameters) DeepCopyInto(out *HarvesterCredentialConfigParameters) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.ClusterType != nil { + in, out := &in.ClusterType, &out.ClusterType + *out = new(string) + **out = **in + } + out.KubeconfigContentSecretRef = in.KubeconfigContentSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterCredentialConfigParameters. +func (in *HarvesterCredentialConfigParameters) DeepCopy() *HarvesterCredentialConfigParameters { + if in == nil { + return nil + } + out := new(HarvesterCredentialConfigParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LinodeCredentialConfigObservation) DeepCopyInto(out *LinodeCredentialConfigObservation) { *out = *in diff --git a/apis/cloud/v1alpha1/zz_generated.managed.go b/apis/cloud/v1alpha1/zz_generated.managed.go index 289b21c..eb98ffd 100644 --- a/apis/cloud/v1alpha1/zz_generated.managed.go +++ b/apis/cloud/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *Credential) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Credential. +func (mg *Credential) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Credential. func (mg *Credential) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *Credential) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Credential. +func (mg *Credential) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Credential. func (mg *Credential) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/cloud/v1alpha1/zz_credential_terraformed.go b/apis/cloud/v1alpha1/zz_generated_terraformed.go similarity index 79% rename from apis/cloud/v1alpha1/zz_credential_terraformed.go rename to apis/cloud/v1alpha1/zz_generated_terraformed.go index 9f265a6..e527811 100755 --- a/apis/cloud/v1alpha1/zz_credential_terraformed.go +++ b/apis/cloud/v1alpha1/zz_generated_terraformed.go @@ -32,7 +32,7 @@ func (mg *Credential) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this Credential func (tr *Credential) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"amazonec2_credential_config[*].access_key": "spec.forProvider.amazonec2CredentialConfig[*].accessKeySecretRef", "amazonec2_credential_config[*].secret_key": "spec.forProvider.amazonec2CredentialConfig[*].secretKeySecretRef", "azure_credential_config[*].client_id": "spec.forProvider.azureCredentialConfig[*].clientIDSecretRef", "azure_credential_config[*].client_secret": "spec.forProvider.azureCredentialConfig[*].clientSecretSecretRef", "azure_credential_config[*].subscription_id": "spec.forProvider.azureCredentialConfig[*].subscriptionIDSecretRef", "digitalocean_credential_config[*].access_token": "spec.forProvider.digitaloceanCredentialConfig[*].accessTokenSecretRef", "google_credential_config[*].auth_encoded_json": "spec.forProvider.googleCredentialConfig[*].authEncodedJSONSecretRef", "linode_credential_config[*].token": "spec.forProvider.linodeCredentialConfig[*].tokenSecretRef", "openstack_credential_config[*].password": "spec.forProvider.openstackCredentialConfig[*].passwordSecretRef", "s3_credential_config[*].access_key": "spec.forProvider.s3CredentialConfig[*].accessKeySecretRef", "s3_credential_config[*].default_endpoint_ca": "spec.forProvider.s3CredentialConfig[*].defaultEndpointCASecretRef", "s3_credential_config[*].secret_key": "spec.forProvider.s3CredentialConfig[*].secretKeySecretRef", "vsphere_credential_config[*].password": "spec.forProvider.vsphereCredentialConfig[*].passwordSecretRef"} + return map[string]string{"amazonec2_credential_config[*].access_key": "spec.forProvider.amazonec2CredentialConfig[*].accessKeySecretRef", "amazonec2_credential_config[*].secret_key": "spec.forProvider.amazonec2CredentialConfig[*].secretKeySecretRef", "azure_credential_config[*].client_id": "spec.forProvider.azureCredentialConfig[*].clientIdSecretRef", "azure_credential_config[*].client_secret": "spec.forProvider.azureCredentialConfig[*].clientSecretSecretRef", "azure_credential_config[*].subscription_id": "spec.forProvider.azureCredentialConfig[*].subscriptionIdSecretRef", "digitalocean_credential_config[*].access_token": "spec.forProvider.digitaloceanCredentialConfig[*].accessTokenSecretRef", "google_credential_config[*].auth_encoded_json": "spec.forProvider.googleCredentialConfig[*].authEncodedJsonSecretRef", "harvester_credential_config[*].kubeconfig_content": "spec.forProvider.harvesterCredentialConfig[*].kubeconfigContentSecretRef", "linode_credential_config[*].token": "spec.forProvider.linodeCredentialConfig[*].tokenSecretRef", "openstack_credential_config[*].password": "spec.forProvider.openstackCredentialConfig[*].passwordSecretRef", "s3_credential_config[*].access_key": "spec.forProvider.s3CredentialConfig[*].accessKeySecretRef", "s3_credential_config[*].default_endpoint_ca": "spec.forProvider.s3CredentialConfig[*].defaultEndpointCaSecretRef", "s3_credential_config[*].secret_key": "spec.forProvider.s3CredentialConfig[*].secretKeySecretRef", "vsphere_credential_config[*].password": "spec.forProvider.vsphereCredentialConfig[*].passwordSecretRef"} } // GetObservation of this Credential diff --git a/apis/cluster/v1alpha1/zz_alertgroup_terraformed.go b/apis/cluster/v1alpha1/zz_alertgroup_terraformed.go deleted file mode 100755 index 93f6029..0000000 --- a/apis/cluster/v1alpha1/zz_alertgroup_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this AlertGroup -func (mg *AlertGroup) GetTerraformResourceType() string { - return "rancher2_cluster_alert_group" -} - -// GetConnectionDetailsMapping for this AlertGroup -func (tr *AlertGroup) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this AlertGroup -func (tr *AlertGroup) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this AlertGroup -func (tr *AlertGroup) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this AlertGroup -func (tr *AlertGroup) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this AlertGroup -func (tr *AlertGroup) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this AlertGroup -func (tr *AlertGroup) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this AlertGroup using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *AlertGroup) LateInitialize(attrs []byte) (bool, error) { - params := &AlertGroupParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *AlertGroup) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_alertgroup_types.go b/apis/cluster/v1alpha1/zz_alertgroup_types.go index dc0e5bc..3abe145 100755 --- a/apis/cluster/v1alpha1/zz_alertgroup_types.go +++ b/apis/cluster/v1alpha1/zz_alertgroup_types.go @@ -33,7 +33,7 @@ type AlertGroupParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Alert group Cluster ID // +kubebuilder:validation:Required @@ -45,15 +45,15 @@ type AlertGroupParameters struct { // Alert group interval seconds // +kubebuilder:validation:Optional - GroupIntervalSeconds *int64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` + GroupIntervalSeconds *float64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` // Alert group wait seconds // +kubebuilder:validation:Optional - GroupWaitSeconds *int64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` + GroupWaitSeconds *float64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Alert group recipients // +kubebuilder:validation:Optional @@ -61,7 +61,7 @@ type AlertGroupParameters struct { // Alert group repeat interval seconds // +kubebuilder:validation:Optional - RepeatIntervalSeconds *int64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` + RepeatIntervalSeconds *float64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` } type RecipientsObservation struct { diff --git a/apis/cluster/v1alpha1/zz_alertrule_terraformed.go b/apis/cluster/v1alpha1/zz_alertrule_terraformed.go deleted file mode 100755 index dd31b5f..0000000 --- a/apis/cluster/v1alpha1/zz_alertrule_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this AlertRule -func (mg *AlertRule) GetTerraformResourceType() string { - return "rancher2_cluster_alert_rule" -} - -// GetConnectionDetailsMapping for this AlertRule -func (tr *AlertRule) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this AlertRule -func (tr *AlertRule) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this AlertRule -func (tr *AlertRule) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this AlertRule -func (tr *AlertRule) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this AlertRule -func (tr *AlertRule) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this AlertRule -func (tr *AlertRule) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this AlertRule using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *AlertRule) LateInitialize(attrs []byte) (bool, error) { - params := &AlertRuleParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *AlertRule) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_alertrule_types.go b/apis/cluster/v1alpha1/zz_alertrule_types.go index ead1fa0..db052db 100755 --- a/apis/cluster/v1alpha1/zz_alertrule_types.go +++ b/apis/cluster/v1alpha1/zz_alertrule_types.go @@ -33,7 +33,7 @@ type AlertRuleParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Alert rule cluster ID // +kubebuilder:validation:Required @@ -49,11 +49,11 @@ type AlertRuleParameters struct { // Alert rule interval seconds // +kubebuilder:validation:Optional - GroupIntervalSeconds *int64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` + GroupIntervalSeconds *float64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` // Alert rule wait seconds // +kubebuilder:validation:Optional - GroupWaitSeconds *int64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` + GroupWaitSeconds *float64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` // Alert rule inherited // +kubebuilder:validation:Optional @@ -61,7 +61,7 @@ type AlertRuleParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Alert metric rule // +kubebuilder:validation:Optional @@ -73,7 +73,7 @@ type AlertRuleParameters struct { // Alert rule repeat interval seconds // +kubebuilder:validation:Optional - RepeatIntervalSeconds *int64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` + RepeatIntervalSeconds *float64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` // Alert rule severity // +kubebuilder:validation:Optional @@ -131,7 +131,7 @@ type NodeRuleParameters struct { // Node rule cpu threshold // +kubebuilder:validation:Optional - CPUThreshold *int64 `json:"cpuThreshold,omitempty" tf:"cpu_threshold,omitempty"` + CPUThreshold *float64 `json:"cpuThreshold,omitempty" tf:"cpu_threshold,omitempty"` // Node rule condition // +kubebuilder:validation:Optional @@ -139,7 +139,7 @@ type NodeRuleParameters struct { // Node rule mem threshold // +kubebuilder:validation:Optional - MemThreshold *int64 `json:"memThreshold,omitempty" tf:"mem_threshold,omitempty"` + MemThreshold *float64 `json:"memThreshold,omitempty" tf:"mem_threshold,omitempty"` // Node ID // +kubebuilder:validation:Optional @@ -147,7 +147,7 @@ type NodeRuleParameters struct { // Node rule selector // +kubebuilder:validation:Optional - Selector map[string]string `json:"selector,omitempty" tf:"selector,omitempty"` + Selector map[string]*string `json:"selector,omitempty" tf:"selector,omitempty"` } type SystemServiceRuleObservation struct { diff --git a/apis/cluster/v1alpha1/zz_driver_terraformed.go b/apis/cluster/v1alpha1/zz_driver_terraformed.go deleted file mode 100755 index 9531d5f..0000000 --- a/apis/cluster/v1alpha1/zz_driver_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Driver -func (mg *Driver) GetTerraformResourceType() string { - return "rancher2_cluster_driver" -} - -// GetConnectionDetailsMapping for this Driver -func (tr *Driver) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Driver -func (tr *Driver) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Driver -func (tr *Driver) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Driver -func (tr *Driver) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Driver -func (tr *Driver) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Driver -func (tr *Driver) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Driver using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Driver) LateInitialize(attrs []byte) (bool, error) { - params := &DriverParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Driver) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_driver_types.go b/apis/cluster/v1alpha1/zz_driver_types.go index 7576fdb..d1f9d55 100755 --- a/apis/cluster/v1alpha1/zz_driver_types.go +++ b/apis/cluster/v1alpha1/zz_driver_types.go @@ -39,7 +39,7 @@ type DriverParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required Builtin *bool `json:"builtin" tf:"builtin,omitempty"` @@ -49,7 +49,7 @@ type DriverParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional UIURL *string `json:"uiUrl,omitempty" tf:"ui_url,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_generated.deepcopy.go b/apis/cluster/v1alpha1/zz_generated.deepcopy.go index 78f6a52..47e990a 100644 --- a/apis/cluster/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cluster/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -149,9 +150,17 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -166,19 +175,27 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { } if in.GroupIntervalSeconds != nil { in, out := &in.GroupIntervalSeconds, &out.GroupIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.GroupWaitSeconds != nil { in, out := &in.GroupWaitSeconds, &out.GroupWaitSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Recipients != nil { @@ -190,7 +207,7 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { } if in.RepeatIntervalSeconds != nil { in, out := &in.RepeatIntervalSeconds, &out.RepeatIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } } @@ -323,9 +340,17 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -347,12 +372,12 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.GroupIntervalSeconds != nil { in, out := &in.GroupIntervalSeconds, &out.GroupIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.GroupWaitSeconds != nil { in, out := &in.GroupWaitSeconds, &out.GroupWaitSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Inherited != nil { @@ -362,9 +387,17 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MetricRule != nil { @@ -383,7 +416,7 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.RepeatIntervalSeconds != nil { in, out := &in.RepeatIntervalSeconds, &out.RepeatIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Severity != nil { @@ -557,9 +590,17 @@ func (in *AuthorizationParameters) DeepCopyInto(out *AuthorizationParameters) { } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -660,22 +701,22 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.CloudProviderBackoffDuration != nil { in, out := &in.CloudProviderBackoffDuration, &out.CloudProviderBackoffDuration - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffExponent != nil { in, out := &in.CloudProviderBackoffExponent, &out.CloudProviderBackoffExponent - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffJitter != nil { in, out := &in.CloudProviderBackoffJitter, &out.CloudProviderBackoffJitter - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffRetries != nil { in, out := &in.CloudProviderBackoffRetries, &out.CloudProviderBackoffRetries - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderRateLimit != nil { @@ -685,12 +726,12 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.CloudProviderRateLimitBucket != nil { in, out := &in.CloudProviderRateLimitBucket, &out.CloudProviderRateLimitBucket - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderRateLimitQPS != nil { in, out := &in.CloudProviderRateLimitQPS, &out.CloudProviderRateLimitQPS - *out = new(int64) + *out = new(float64) **out = **in } if in.LoadBalancerSku != nil { @@ -705,7 +746,7 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.MaximumLoadBalancerRuleCount != nil { in, out := &in.MaximumLoadBalancerRuleCount, &out.MaximumLoadBalancerRuleCount - *out = new(int64) + *out = new(float64) **out = **in } if in.PrimaryAvailabilitySetName != nil { @@ -802,12 +843,12 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.IntervalHours != nil { in, out := &in.IntervalHours, &out.IntervalHours - *out = new(int64) + *out = new(float64) **out = **in } if in.Retention != nil { in, out := &in.Retention, &out.Retention - *out = new(int64) + *out = new(float64) **out = **in } if in.S3BackupConfig != nil { @@ -824,7 +865,7 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -1287,6 +1328,21 @@ func (in *ClusterConfigParameters) DeepCopy() *ClusterConfigParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistrationTokenObservation) { *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.ClusterID != nil { in, out := &in.ClusterID, &out.ClusterID *out = new(string) @@ -1317,6 +1373,21 @@ func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistra *out = new(string) **out = **in } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.ManifestURL != nil { in, out := &in.ManifestURL, &out.ManifestURL *out = new(string) @@ -1332,6 +1403,11 @@ func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistra *out = new(string) **out = **in } + if in.Token != nil { + in, out := &in.Token, &out.Token + *out = new(string) + **out = **in + } if in.WindowsNodeCommand != nil { in, out := &in.WindowsNodeCommand, &out.WindowsNodeCommand *out = new(string) @@ -1352,20 +1428,6 @@ func (in *ClusterRegistrationTokenObservation) DeepCopy() *ClusterRegistrationTo // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterRegistrationTokenParameters) DeepCopyInto(out *ClusterRegistrationTokenParameters) { *out = *in - if in.Annotations != nil { - in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } - if in.Labels != nil { - in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationTokenParameters. @@ -1458,17 +1520,17 @@ func (in *ConfigurationParameters) DeepCopyInto(out *ConfigurationParameters) { } if in.MaxAge != nil { in, out := &in.MaxAge, &out.MaxAge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxBackup != nil { in, out := &in.MaxBackup, &out.MaxBackup - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxSize != nil { in, out := &in.MaxSize, &out.MaxSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Path != nil { @@ -1533,7 +1595,7 @@ func (in *ControlPlaneDrainOptionsParameters) DeepCopyInto(out *ControlPlaneDrai } if in.GracePeriod != nil { in, out := &in.GracePeriod, &out.GracePeriod - *out = new(int64) + *out = new(float64) **out = **in } if in.IgnoreDaemonSets != nil { @@ -1548,12 +1610,12 @@ func (in *ControlPlaneDrainOptionsParameters) DeepCopyInto(out *ControlPlaneDrai } if in.SkipWaitForDeleteTimeoutSeconds != nil { in, out := &in.SkipWaitForDeleteTimeoutSeconds, &out.SkipWaitForDeleteTimeoutSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -1645,9 +1707,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Nodelocal != nil { @@ -1659,9 +1729,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -1782,7 +1860,7 @@ func (in *DrainInputParameters) DeepCopyInto(out *DrainInputParameters) { } if in.GracePeriod != nil { in, out := &in.GracePeriod, &out.GracePeriod - *out = new(int64) + *out = new(float64) **out = **in } if in.IgnoreDaemonSets != nil { @@ -1792,7 +1870,7 @@ func (in *DrainInputParameters) DeepCopyInto(out *DrainInputParameters) { } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -1901,9 +1979,17 @@ func (in *DriverParameters) DeepCopyInto(out *DriverParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Builtin != nil { @@ -1918,9 +2004,17 @@ func (in *DriverParameters) DeepCopyInto(out *DriverParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.UIURL != nil { @@ -2173,9 +2267,17 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -2202,7 +2304,7 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.GID != nil { in, out := &in.GID, &out.GID - *out = new(int64) + *out = new(float64) **out = **in } if in.Image != nil { @@ -2232,7 +2334,7 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.UID != nil { in, out := &in.UID, &out.UID - *out = new(int64) + *out = new(float64) **out = **in } } @@ -2247,6 +2349,86 @@ func (in *EtcdParameters) DeepCopy() *EtcdParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdSnapshotCreateObservation) DeepCopyInto(out *EtcdSnapshotCreateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSnapshotCreateObservation. +func (in *EtcdSnapshotCreateObservation) DeepCopy() *EtcdSnapshotCreateObservation { + if in == nil { + return nil + } + out := new(EtcdSnapshotCreateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdSnapshotCreateParameters) DeepCopyInto(out *EtcdSnapshotCreateParameters) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSnapshotCreateParameters. +func (in *EtcdSnapshotCreateParameters) DeepCopy() *EtcdSnapshotCreateParameters { + if in == nil { + return nil + } + out := new(EtcdSnapshotCreateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdSnapshotRestoreObservation) DeepCopyInto(out *EtcdSnapshotRestoreObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSnapshotRestoreObservation. +func (in *EtcdSnapshotRestoreObservation) DeepCopy() *EtcdSnapshotRestoreObservation { + if in == nil { + return nil + } + out := new(EtcdSnapshotRestoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdSnapshotRestoreParameters) DeepCopyInto(out *EtcdSnapshotRestoreParameters) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.RestoreRkeConfig != nil { + in, out := &in.RestoreRkeConfig, &out.RestoreRkeConfig + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSnapshotRestoreParameters. +func (in *EtcdSnapshotRestoreParameters) DeepCopy() *EtcdSnapshotRestoreParameters { + if in == nil { + return nil + } + out := new(EtcdSnapshotRestoreParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EventRateLimitObservation) DeepCopyInto(out *EventRateLimitObservation) { *out = *in @@ -2412,7 +2594,7 @@ func (in *FluentServersParameters) DeepCopyInto(out *FluentServersParameters) { } if in.Weight != nil { in, out := &in.Weight, &out.Weight - *out = new(int64) + *out = new(float64) **out = **in } } @@ -2589,19 +2771,27 @@ func (in *IngressParameters) DeepCopyInto(out *IngressParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.HTTPPort != nil { in, out := &in.HTTPPort, &out.HTTPPort - *out = new(int64) + *out = new(float64) **out = **in } if in.HTTPSPort != nil { in, out := &in.HTTPSPort, &out.HTTPSPort - *out = new(int64) + *out = new(float64) **out = **in } if in.NetworkMode != nil { @@ -2611,16 +2801,32 @@ func (in *IngressParameters) DeepCopyInto(out *IngressParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -2689,7 +2895,7 @@ func (in *IngressTolerationsParameters) DeepCopyInto(out *IngressTolerationsPara } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -2837,9 +3043,17 @@ func (in *KubeAPIParameters) DeepCopyInto(out *KubeAPIParameters) { *out = *in if in.AdmissionConfiguration != nil { in, out := &in.AdmissionConfiguration, &out.AdmissionConfiguration - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.AlwaysPullImages != nil { @@ -2863,9 +3077,17 @@ func (in *KubeAPIParameters) DeepCopyInto(out *KubeAPIParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -2954,9 +3176,17 @@ func (in *KubeControllerParameters) DeepCopyInto(out *KubeControllerParameters) } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -3033,9 +3263,17 @@ func (in *KubeletParameters) DeepCopyInto(out *KubeletParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -3112,9 +3350,17 @@ func (in *KubeproxyParameters) DeepCopyInto(out *KubeproxyParameters) { *out = *in if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -3181,12 +3427,12 @@ func (in *LinearAutoscalerParamsParameters) DeepCopyInto(out *LinearAutoscalerPa } if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } if in.NodesPerReplica != nil { @@ -3266,7 +3512,7 @@ func (in *LoadBalancerParameters) DeepCopyInto(out *LoadBalancerParameters) { } if in.MonitorMaxRetries != nil { in, out := &in.MonitorMaxRetries, &out.MonitorMaxRetries - *out = new(int64) + *out = new(float64) **out = **in } if in.MonitorTimeout != nil { @@ -3425,9 +3671,17 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -3475,9 +3729,17 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NamespaceID != nil { @@ -3487,14 +3749,22 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { } if in.OutputFlushInterval != nil { in, out := &in.OutputFlushInterval, &out.OutputFlushInterval - *out = new(int64) + *out = new(float64) **out = **in } if in.OutputTags != nil { in, out := &in.OutputTags, &out.OutputTags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.SplunkConfig != nil { @@ -3624,9 +3894,17 @@ func (in *MachineLabelSelectorParameters) DeepCopyInto(out *MachineLabelSelector } if in.MatchLabels != nil { in, out := &in.MatchLabels, &out.MatchLabels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -3661,9 +3939,17 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CloudCredentialSecretName != nil { @@ -3676,6 +3962,11 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { *out = new(bool) **out = **in } + if in.DrainBeforeDelete != nil { + in, out := &in.DrainBeforeDelete, &out.DrainBeforeDelete + *out = new(bool) + **out = **in + } if in.EtcdRole != nil { in, out := &in.EtcdRole, &out.EtcdRole *out = new(bool) @@ -3683,9 +3974,17 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MachineConfig != nil { @@ -3695,11 +3994,26 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.MaxUnhealthy != nil { + in, out := &in.MaxUnhealthy, &out.MaxUnhealthy + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } + if in.NodeDrainTimeout != nil { + in, out := &in.NodeDrainTimeout, &out.NodeDrainTimeout + *out = new(float64) + **out = **in + } + if in.NodeStartupTimeoutSeconds != nil { + in, out := &in.NodeStartupTimeoutSeconds, &out.NodeStartupTimeoutSeconds + *out = new(float64) + **out = **in + } if in.Paused != nil { in, out := &in.Paused, &out.Paused *out = new(bool) @@ -3707,7 +4021,7 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { } if in.Quantity != nil { in, out := &in.Quantity, &out.Quantity - *out = new(int64) + *out = new(float64) **out = **in } if in.RollingUpdate != nil { @@ -3724,6 +4038,16 @@ func (in *MachinePoolsParameters) DeepCopyInto(out *MachinePoolsParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.UnhealthyNodeTimeoutSeconds != nil { + in, out := &in.UnhealthyNodeTimeoutSeconds, &out.UnhealthyNodeTimeoutSeconds + *out = new(float64) + **out = **in + } + if in.UnhealthyRange != nil { + in, out := &in.UnhealthyRange, &out.UnhealthyRange + *out = new(string) + **out = **in + } if in.WorkerRole != nil { in, out := &in.WorkerRole, &out.WorkerRole *out = new(bool) @@ -3801,9 +4125,17 @@ func (in *MachineSelectorConfigParameters) DeepCopyInto(out *MachineSelectorConf *out = *in if in.Config != nil { in, out := &in.Config, &out.Config - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MachineLabelSelector != nil { @@ -3941,7 +4273,7 @@ func (in *MetadataParameters) DeepCopyInto(out *MetadataParameters) { *out = *in if in.RequestTimeout != nil { in, out := &in.RequestTimeout, &out.RequestTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.SearchOrder != nil { @@ -4052,9 +4384,17 @@ func (in *MirrorsParameters) DeepCopyInto(out *MirrorsParameters) { } if in.Rewrites != nil { in, out := &in.Rewrites, &out.Rewrites - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -4089,16 +4429,32 @@ func (in *MonitoringParameters) DeepCopyInto(out *MonitoringParameters) { *out = *in if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -4108,7 +4464,7 @@ func (in *MonitoringParameters) DeepCopyInto(out *MonitoringParameters) { } if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas - *out = new(int64) + *out = new(float64) **out = **in } if in.Tolerations != nil { @@ -4172,7 +4528,7 @@ func (in *MonitoringTolerationsParameters) DeepCopyInto(out *MonitoringToleratio } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -4254,12 +4610,12 @@ func (in *MonitoringUpdateStrategyRollingUpdateParameters) DeepCopyInto(out *Mon *out = *in if in.MaxSurge != nil { in, out := &in.MaxSurge, &out.MaxSurge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -4344,7 +4700,7 @@ func (in *NetworkTolerationsParameters) DeepCopyInto(out *NetworkTolerationsPara } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -4384,7 +4740,7 @@ func (in *NodeRuleParameters) DeepCopyInto(out *NodeRuleParameters) { *out = *in if in.CPUThreshold != nil { in, out := &in.CPUThreshold, &out.CPUThreshold - *out = new(int64) + *out = new(float64) **out = **in } if in.Condition != nil { @@ -4394,7 +4750,7 @@ func (in *NodeRuleParameters) DeepCopyInto(out *NodeRuleParameters) { } if in.MemThreshold != nil { in, out := &in.MemThreshold, &out.MemThreshold - *out = new(int64) + *out = new(float64) **out = **in } if in.NodeID != nil { @@ -4404,9 +4760,17 @@ func (in *NodeRuleParameters) DeepCopyInto(out *NodeRuleParameters) { } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -4446,9 +4810,17 @@ func (in *NodelocalParameters) DeepCopyInto(out *NodelocalParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -4466,11 +4838,34 @@ func (in *NodelocalParameters) DeepCopy() *NodelocalParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodesObservation) DeepCopyInto(out *NodesObservation) { *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.Capacity != nil { in, out := &in.Capacity, &out.Capacity - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -4498,6 +4893,21 @@ func (in *NodesObservation) DeepCopyInto(out *NodesObservation) { *out = new(string) **out = **in } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -4534,11 +4944,24 @@ func (in *NodesObservation) DeepCopyInto(out *NodesObservation) { } } } + if in.SSHUser != nil { + in, out := &in.SSHUser, &out.SSHUser + *out = new(string) + **out = **in + } if in.SystemInfo != nil { in, out := &in.SystemInfo, &out.SystemInfo - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -4556,20 +4979,6 @@ func (in *NodesObservation) DeepCopy() *NodesObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodesParameters) DeepCopyInto(out *NodesParameters) { *out = *in - if in.Annotations != nil { - in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } - if in.Labels != nil { - in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodesParameters. @@ -4952,7 +5361,7 @@ func (in *RkeConfigEtcdParameters) DeepCopyInto(out *RkeConfigEtcdParameters) { } if in.SnapshotRetention != nil { in, out := &in.SnapshotRetention, &out.SnapshotRetention - *out = new(int64) + *out = new(float64) **out = **in } if in.SnapshotScheduleCron != nil { @@ -5058,14 +5467,22 @@ func (in *RkeConfigNetworkParameters) DeepCopyInto(out *RkeConfigNetworkParamete } if in.Mtu != nil { in, out := &in.Mtu, &out.Mtu - *out = new(int64) + *out = new(float64) **out = **in } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Plugin != nil { @@ -5139,9 +5556,17 @@ func (in *RkeConfigNodesParameters) DeepCopyInto(out *RkeConfigNodesParameters) } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NodeID != nil { @@ -5213,7 +5638,7 @@ func (in *RkeConfigParameters) DeepCopyInto(out *RkeConfigParameters) { *out = *in if in.AddonJobTimeout != nil { in, out := &in.AddonJobTimeout, &out.AddonJobTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.Addons != nil { @@ -5506,9 +5931,17 @@ func (in *RoleTemplateBindingParameters) DeepCopyInto(out *RoleTemplateBindingPa *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -5528,9 +5961,17 @@ func (in *RoleTemplateBindingParameters) DeepCopyInto(out *RoleTemplateBindingPa } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RoleTemplateID != nil { @@ -5614,12 +6055,12 @@ func (in *RollingUpdateParameters) DeepCopyInto(out *RollingUpdateParameters) { *out = *in if in.MaxSurge != nil { in, out := &in.MaxSurge, &out.MaxSurge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -5634,6 +6075,52 @@ func (in *RollingUpdateParameters) DeepCopy() *RollingUpdateParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RotateCertificatesObservation) DeepCopyInto(out *RotateCertificatesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RotateCertificatesObservation. +func (in *RotateCertificatesObservation) DeepCopy() *RotateCertificatesObservation { + if in == nil { + return nil + } + out := new(RotateCertificatesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RotateCertificatesParameters) DeepCopyInto(out *RotateCertificatesParameters) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(float64) + **out = **in + } + if in.Services != nil { + in, out := &in.Services, &out.Services + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RotateCertificatesParameters. +func (in *RotateCertificatesParameters) DeepCopy() *RotateCertificatesParameters { + if in == nil { + return nil + } + out := new(RotateCertificatesParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RouteObservation) DeepCopyInto(out *RouteObservation) { *out = *in @@ -5861,7 +6348,7 @@ func (in *ScheduleConfigParameters) DeepCopyInto(out *ScheduleConfigParameters) } if in.Retention != nil { in, out := &in.Retention, &out.Retention - *out = new(int64) + *out = new(float64) **out = **in } } @@ -5945,9 +6432,17 @@ func (in *SchedulerParameters) DeepCopyInto(out *SchedulerParameters) { *out = *in if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -6349,7 +6844,7 @@ func (in *SyncParameters) DeepCopyInto(out *SyncParameters) { } if in.StateConfirm != nil { in, out := &in.StateConfirm, &out.StateConfirm - *out = new(int64) + *out = new(float64) **out = **in } if in.Synced != nil { @@ -6667,9 +7162,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Description != nil { @@ -6679,9 +7182,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Members != nil { @@ -6740,9 +7251,17 @@ func (in *TemplateRevisionsParameters) DeepCopyInto(out *TemplateRevisionsParame *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterConfig != nil { @@ -6764,9 +7283,17 @@ func (in *TemplateRevisionsParameters) DeepCopyInto(out *TemplateRevisionsParame } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Name != nil { @@ -6862,7 +7389,7 @@ func (in *TolerationsParameters) DeepCopyInto(out *TolerationsParameters) { } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -6944,7 +7471,7 @@ func (in *UpdateStrategyRollingUpdateParameters) DeepCopyInto(out *UpdateStrateg *out = *in if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -7112,9 +7639,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CloudCredentialSecretName != nil { @@ -7149,9 +7684,17 @@ func (in *V2Parameters) DeepCopyInto(out *V2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LocalAuthEndpoint != nil { @@ -7215,6 +7758,20 @@ func (in *V2RkeConfigParameters) DeepCopyInto(out *V2RkeConfigParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.EtcdSnapshotCreate != nil { + in, out := &in.EtcdSnapshotCreate, &out.EtcdSnapshotCreate + *out = make([]EtcdSnapshotCreateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EtcdSnapshotRestore != nil { + in, out := &in.EtcdSnapshotRestore, &out.EtcdSnapshotRestore + *out = make([]EtcdSnapshotRestoreParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.LocalAuthEndpoint != nil { in, out := &in.LocalAuthEndpoint, &out.LocalAuthEndpoint *out = make([]RkeConfigLocalAuthEndpointParameters, len(*in)) @@ -7248,6 +7805,13 @@ func (in *V2RkeConfigParameters) DeepCopyInto(out *V2RkeConfigParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.RotateCertificates != nil { + in, out := &in.RotateCertificates, &out.RotateCertificates + *out = make([]RotateCertificatesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.UpgradeStrategy != nil { in, out := &in.UpgradeStrategy, &out.UpgradeStrategy *out = make([]RkeConfigUpgradeStrategyParameters, len(*in)) @@ -7337,7 +7901,7 @@ func (in *VirtualCenterParameters) DeepCopyInto(out *VirtualCenterParameters) { } if in.SoapRoundtripCount != nil { in, out := &in.SoapRoundtripCount, &out.SoapRoundtripCount - *out = new(int64) + *out = new(float64) **out = **in } out.UserSecretRef = in.UserSecretRef @@ -7393,7 +7957,7 @@ func (in *VsphereCloudProviderGlobalParameters) DeepCopyInto(out *VsphereCloudPr } if in.SoapRoundtripCount != nil { in, out := &in.SoapRoundtripCount, &out.SoapRoundtripCount - *out = new(int64) + *out = new(float64) **out = **in } if in.UserSecretRef != nil { @@ -7553,7 +8117,7 @@ func (in *WorkerDrainOptionsParameters) DeepCopyInto(out *WorkerDrainOptionsPara } if in.GracePeriod != nil { in, out := &in.GracePeriod, &out.GracePeriod - *out = new(int64) + *out = new(float64) **out = **in } if in.IgnoreDaemonSets != nil { @@ -7568,12 +8132,12 @@ func (in *WorkerDrainOptionsParameters) DeepCopyInto(out *WorkerDrainOptionsPara } if in.SkipWaitForDeleteTimeoutSeconds != nil { in, out := &in.SkipWaitForDeleteTimeoutSeconds, &out.SkipWaitForDeleteTimeoutSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } diff --git a/apis/cluster/v1alpha1/zz_generated.managed.go b/apis/cluster/v1alpha1/zz_generated.managed.go index 76550b7..b6a0057 100644 --- a/apis/cluster/v1alpha1/zz_generated.managed.go +++ b/apis/cluster/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *AlertGroup) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this AlertGroup. +func (mg *AlertGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this AlertGroup. func (mg *AlertGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *AlertGroup) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this AlertGroup. +func (mg *AlertGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this AlertGroup. func (mg *AlertGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *AlertRule) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this AlertRule. +func (mg *AlertRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this AlertRule. func (mg *AlertRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *AlertRule) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this AlertRule. +func (mg *AlertRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this AlertRule. func (mg *AlertRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *Driver) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Driver. +func (mg *Driver) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Driver. func (mg *Driver) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *Driver) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Driver. +func (mg *Driver) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Driver. func (mg *Driver) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -210,6 +240,11 @@ func (mg *Logging) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Logging. +func (mg *Logging) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Logging. func (mg *Logging) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -238,6 +273,11 @@ func (mg *Logging) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Logging. +func (mg *Logging) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Logging. func (mg *Logging) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -266,6 +306,11 @@ func (mg *RoleTemplateBinding) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this RoleTemplateBinding. +func (mg *RoleTemplateBinding) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this RoleTemplateBinding. func (mg *RoleTemplateBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -294,6 +339,11 @@ func (mg *RoleTemplateBinding) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this RoleTemplateBinding. +func (mg *RoleTemplateBinding) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this RoleTemplateBinding. func (mg *RoleTemplateBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -322,6 +372,11 @@ func (mg *Sync) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Sync. +func (mg *Sync) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Sync. func (mg *Sync) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -350,6 +405,11 @@ func (mg *Sync) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Sync. +func (mg *Sync) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Sync. func (mg *Sync) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -378,6 +438,11 @@ func (mg *Template) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Template. +func (mg *Template) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Template. func (mg *Template) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -406,6 +471,11 @@ func (mg *Template) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Template. +func (mg *Template) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Template. func (mg *Template) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -434,6 +504,11 @@ func (mg *V2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this V2. +func (mg *V2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this V2. func (mg *V2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -462,6 +537,11 @@ func (mg *V2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this V2. +func (mg *V2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this V2. func (mg *V2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/cluster/v1alpha1/zz_generated_terraformed.go b/apis/cluster/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..77d6ea0 --- /dev/null +++ b/apis/cluster/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,618 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AlertGroup +func (mg *AlertGroup) GetTerraformResourceType() string { + return "rancher2_cluster_alert_group" +} + +// GetConnectionDetailsMapping for this AlertGroup +func (tr *AlertGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AlertGroup +func (tr *AlertGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AlertGroup +func (tr *AlertGroup) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this AlertGroup +func (tr *AlertGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AlertGroup +func (tr *AlertGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AlertGroup +func (tr *AlertGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AlertGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AlertGroup) LateInitialize(attrs []byte) (bool, error) { + params := &AlertGroupParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *AlertGroup) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this AlertRule +func (mg *AlertRule) GetTerraformResourceType() string { + return "rancher2_cluster_alert_rule" +} + +// GetConnectionDetailsMapping for this AlertRule +func (tr *AlertRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AlertRule +func (tr *AlertRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AlertRule +func (tr *AlertRule) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this AlertRule +func (tr *AlertRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AlertRule +func (tr *AlertRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AlertRule +func (tr *AlertRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AlertRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AlertRule) LateInitialize(attrs []byte) (bool, error) { + params := &AlertRuleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *AlertRule) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Driver +func (mg *Driver) GetTerraformResourceType() string { + return "rancher2_cluster_driver" +} + +// GetConnectionDetailsMapping for this Driver +func (tr *Driver) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Driver +func (tr *Driver) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Driver +func (tr *Driver) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Driver +func (tr *Driver) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Driver +func (tr *Driver) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Driver +func (tr *Driver) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Driver using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Driver) LateInitialize(attrs []byte) (bool, error) { + params := &DriverParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Driver) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Logging +func (mg *Logging) GetTerraformResourceType() string { + return "rancher2_cluster_logging" +} + +// GetConnectionDetailsMapping for this Logging +func (tr *Logging) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"custom_target_config[*].certificate": "spec.forProvider.customTargetConfig[*].certificateSecretRef", "custom_target_config[*].client_cert": "spec.forProvider.customTargetConfig[*].clientCertSecretRef", "custom_target_config[*].client_key": "spec.forProvider.customTargetConfig[*].clientKeySecretRef", "elasticsearch_config[*].auth_password": "spec.forProvider.elasticsearchConfig[*].authPasswordSecretRef", "elasticsearch_config[*].auth_username": "spec.forProvider.elasticsearchConfig[*].authUsernameSecretRef", "elasticsearch_config[*].certificate": "spec.forProvider.elasticsearchConfig[*].certificateSecretRef", "elasticsearch_config[*].client_cert": "spec.forProvider.elasticsearchConfig[*].clientCertSecretRef", "elasticsearch_config[*].client_key": "spec.forProvider.elasticsearchConfig[*].clientKeySecretRef", "elasticsearch_config[*].client_key_pass": "spec.forProvider.elasticsearchConfig[*].clientKeyPassSecretRef", "fluentd_config[*].certificate": "spec.forProvider.fluentdConfig[*].certificateSecretRef", "fluentd_config[*].fluent_servers[*].password": "spec.forProvider.fluentdConfig[*].fluentServers[*].passwordSecretRef", "fluentd_config[*].fluent_servers[*].shared_key": "spec.forProvider.fluentdConfig[*].fluentServers[*].sharedKeySecretRef", "fluentd_config[*].fluent_servers[*].username": "spec.forProvider.fluentdConfig[*].fluentServers[*].usernameSecretRef", "kafka_config[*].certificate": "spec.forProvider.kafkaConfig[*].certificateSecretRef", "kafka_config[*].client_cert": "spec.forProvider.kafkaConfig[*].clientCertSecretRef", "kafka_config[*].client_key": "spec.forProvider.kafkaConfig[*].clientKeySecretRef", "splunk_config[*].certificate": "spec.forProvider.splunkConfig[*].certificateSecretRef", "splunk_config[*].client_cert": "spec.forProvider.splunkConfig[*].clientCertSecretRef", "splunk_config[*].client_key": "spec.forProvider.splunkConfig[*].clientKeySecretRef", "splunk_config[*].client_key_pass": "spec.forProvider.splunkConfig[*].clientKeyPassSecretRef", "splunk_config[*].token": "spec.forProvider.splunkConfig[*].tokenSecretRef", "syslog_config[*].certificate": "spec.forProvider.syslogConfig[*].certificateSecretRef", "syslog_config[*].client_cert": "spec.forProvider.syslogConfig[*].clientCertSecretRef", "syslog_config[*].client_key": "spec.forProvider.syslogConfig[*].clientKeySecretRef", "syslog_config[*].token": "spec.forProvider.syslogConfig[*].tokenSecretRef"} +} + +// GetObservation of this Logging +func (tr *Logging) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Logging +func (tr *Logging) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Logging +func (tr *Logging) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Logging +func (tr *Logging) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Logging +func (tr *Logging) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Logging using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Logging) LateInitialize(attrs []byte) (bool, error) { + params := &LoggingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Logging) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this RoleTemplateBinding +func (mg *RoleTemplateBinding) GetTerraformResourceType() string { + return "rancher2_cluster_role_template_binding" +} + +// GetConnectionDetailsMapping for this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RoleTemplateBinding +func (tr *RoleTemplateBinding) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RoleTemplateBinding +func (tr *RoleTemplateBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RoleTemplateBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RoleTemplateBinding) LateInitialize(attrs []byte) (bool, error) { + params := &RoleTemplateBindingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RoleTemplateBinding) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Sync +func (mg *Sync) GetTerraformResourceType() string { + return "rancher2_cluster_sync" +} + +// GetConnectionDetailsMapping for this Sync +func (tr *Sync) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"kube_config": "status.atProvider.kubeConfig"} +} + +// GetObservation of this Sync +func (tr *Sync) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Sync +func (tr *Sync) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Sync +func (tr *Sync) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Sync +func (tr *Sync) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Sync +func (tr *Sync) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Sync using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Sync) LateInitialize(attrs []byte) (bool, error) { + params := &SyncParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Sync) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Template +func (mg *Template) GetTerraformResourceType() string { + return "rancher2_cluster_template" +} + +// GetConnectionDetailsMapping for this Template +func (tr *Template) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"template_revisions[*].cluster_config[*].rke_config[*].bastion_host[*].ssh_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].bastionHost[*].sshKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_cert_password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientCertPasswordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_secret": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientSecretSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].subscription_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].subscriptionIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].tenant_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].tenantIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].domain_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].domainIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].tenant_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].tenantIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].trust_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].trustIdSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].username": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].usernameSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].nodes[*].ssh_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].nodes[*].sshKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].nodes[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].nodes[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_secret_access_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSecretAccessKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_session_token": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSessionTokenSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].access_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].accessKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].secret_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].secretKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].cert": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].certSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].keySecretRef"} +} + +// GetObservation of this Template +func (tr *Template) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Template +func (tr *Template) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Template +func (tr *Template) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Template +func (tr *Template) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Template +func (tr *Template) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Template using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Template) LateInitialize(attrs []byte) (bool, error) { + params := &TemplateParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Template) GetTerraformSchemaVersion() int { + return 1 +} + +// GetTerraformResourceType returns Terraform resource type for this V2 +func (mg *V2) GetTerraformResourceType() string { + return "rancher2_cluster_v2" +} + +// GetConnectionDetailsMapping for this V2 +func (tr *V2) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"cluster_registration_token": "status.atProvider.clusterRegistrationToken", "kube_config": "status.atProvider.kubeConfig"} +} + +// GetObservation of this V2 +func (tr *V2) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this V2 +func (tr *V2) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this V2 +func (tr *V2) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this V2 +func (tr *V2) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this V2 +func (tr *V2) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this V2 using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *V2) LateInitialize(attrs []byte) (bool, error) { + params := &V2Parameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *V2) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cluster/v1alpha1/zz_logging_terraformed.go b/apis/cluster/v1alpha1/zz_logging_terraformed.go deleted file mode 100755 index 1c1edb3..0000000 --- a/apis/cluster/v1alpha1/zz_logging_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Logging -func (mg *Logging) GetTerraformResourceType() string { - return "rancher2_cluster_logging" -} - -// GetConnectionDetailsMapping for this Logging -func (tr *Logging) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"custom_target_config[*].certificate": "spec.forProvider.customTargetConfig[*].certificateSecretRef", "custom_target_config[*].client_cert": "spec.forProvider.customTargetConfig[*].clientCertSecretRef", "custom_target_config[*].client_key": "spec.forProvider.customTargetConfig[*].clientKeySecretRef", "elasticsearch_config[*].auth_password": "spec.forProvider.elasticsearchConfig[*].authPasswordSecretRef", "elasticsearch_config[*].auth_username": "spec.forProvider.elasticsearchConfig[*].authUsernameSecretRef", "elasticsearch_config[*].certificate": "spec.forProvider.elasticsearchConfig[*].certificateSecretRef", "elasticsearch_config[*].client_cert": "spec.forProvider.elasticsearchConfig[*].clientCertSecretRef", "elasticsearch_config[*].client_key": "spec.forProvider.elasticsearchConfig[*].clientKeySecretRef", "elasticsearch_config[*].client_key_pass": "spec.forProvider.elasticsearchConfig[*].clientKeyPassSecretRef", "fluentd_config[*].certificate": "spec.forProvider.fluentdConfig[*].certificateSecretRef", "fluentd_config[*].fluent_servers[*].password": "spec.forProvider.fluentdConfig[*].fluentServers[*].passwordSecretRef", "fluentd_config[*].fluent_servers[*].shared_key": "spec.forProvider.fluentdConfig[*].fluentServers[*].sharedKeySecretRef", "fluentd_config[*].fluent_servers[*].username": "spec.forProvider.fluentdConfig[*].fluentServers[*].usernameSecretRef", "kafka_config[*].certificate": "spec.forProvider.kafkaConfig[*].certificateSecretRef", "kafka_config[*].client_cert": "spec.forProvider.kafkaConfig[*].clientCertSecretRef", "kafka_config[*].client_key": "spec.forProvider.kafkaConfig[*].clientKeySecretRef", "splunk_config[*].certificate": "spec.forProvider.splunkConfig[*].certificateSecretRef", "splunk_config[*].client_cert": "spec.forProvider.splunkConfig[*].clientCertSecretRef", "splunk_config[*].client_key": "spec.forProvider.splunkConfig[*].clientKeySecretRef", "splunk_config[*].client_key_pass": "spec.forProvider.splunkConfig[*].clientKeyPassSecretRef", "splunk_config[*].token": "spec.forProvider.splunkConfig[*].tokenSecretRef", "syslog_config[*].certificate": "spec.forProvider.syslogConfig[*].certificateSecretRef", "syslog_config[*].client_cert": "spec.forProvider.syslogConfig[*].clientCertSecretRef", "syslog_config[*].client_key": "spec.forProvider.syslogConfig[*].clientKeySecretRef", "syslog_config[*].token": "spec.forProvider.syslogConfig[*].tokenSecretRef"} -} - -// GetObservation of this Logging -func (tr *Logging) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Logging -func (tr *Logging) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Logging -func (tr *Logging) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Logging -func (tr *Logging) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Logging -func (tr *Logging) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Logging using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Logging) LateInitialize(attrs []byte) (bool, error) { - params := &LoggingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Logging) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_logging_types.go b/apis/cluster/v1alpha1/zz_logging_types.go index e803aaa..d0a7b05 100755 --- a/apis/cluster/v1alpha1/zz_logging_types.go +++ b/apis/cluster/v1alpha1/zz_logging_types.go @@ -106,7 +106,7 @@ type FluentServersParameters struct { UsernameSecretRef *v1.SecretKeySelector `json:"usernameSecretRef,omitempty" tf:"-"` // +kubebuilder:validation:Optional - Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` + Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"` } type FluentdConfigObservation struct { @@ -159,7 +159,7 @@ type LoggingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` @@ -185,16 +185,16 @@ type LoggingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NamespaceID *string `json:"namespaceId,omitempty" tf:"namespace_id,omitempty"` // +kubebuilder:validation:Optional - OutputFlushInterval *int64 `json:"outputFlushInterval,omitempty" tf:"output_flush_interval,omitempty"` + OutputFlushInterval *float64 `json:"outputFlushInterval,omitempty" tf:"output_flush_interval,omitempty"` // +kubebuilder:validation:Optional - OutputTags map[string]string `json:"outputTags,omitempty" tf:"output_tags,omitempty"` + OutputTags map[string]*string `json:"outputTags,omitempty" tf:"output_tags,omitempty"` // +kubebuilder:validation:Optional SplunkConfig []SplunkConfigParameters `json:"splunkConfig,omitempty" tf:"splunk_config,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_roletemplatebinding_terraformed.go b/apis/cluster/v1alpha1/zz_roletemplatebinding_terraformed.go deleted file mode 100755 index 2d4278e..0000000 --- a/apis/cluster/v1alpha1/zz_roletemplatebinding_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this RoleTemplateBinding -func (mg *RoleTemplateBinding) GetTerraformResourceType() string { - return "rancher2_cluster_role_template_binding" -} - -// GetConnectionDetailsMapping for this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this RoleTemplateBinding -func (tr *RoleTemplateBinding) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this RoleTemplateBinding -func (tr *RoleTemplateBinding) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this RoleTemplateBinding using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *RoleTemplateBinding) LateInitialize(attrs []byte) (bool, error) { - params := &RoleTemplateBindingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *RoleTemplateBinding) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_roletemplatebinding_types.go b/apis/cluster/v1alpha1/zz_roletemplatebinding_types.go index 4d936ef..56c55c9 100755 --- a/apis/cluster/v1alpha1/zz_roletemplatebinding_types.go +++ b/apis/cluster/v1alpha1/zz_roletemplatebinding_types.go @@ -33,7 +33,7 @@ type RoleTemplateBindingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` @@ -46,7 +46,7 @@ type RoleTemplateBindingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RoleTemplateID *string `json:"roleTemplateId" tf:"role_template_id,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_sync_terraformed.go b/apis/cluster/v1alpha1/zz_sync_terraformed.go deleted file mode 100755 index 1844ea9..0000000 --- a/apis/cluster/v1alpha1/zz_sync_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Sync -func (mg *Sync) GetTerraformResourceType() string { - return "rancher2_cluster_sync" -} - -// GetConnectionDetailsMapping for this Sync -func (tr *Sync) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"kube_config": "status.atProvider.kubeConfig", "nodes[*].ssh_user": "status.atProvider.nodes[*].sshUser"} -} - -// GetObservation of this Sync -func (tr *Sync) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Sync -func (tr *Sync) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Sync -func (tr *Sync) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Sync -func (tr *Sync) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Sync -func (tr *Sync) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Sync using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Sync) LateInitialize(attrs []byte) (bool, error) { - params := &SyncParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Sync) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_sync_types.go b/apis/cluster/v1alpha1/zz_sync_types.go index 517191d..711e685 100755 --- a/apis/cluster/v1alpha1/zz_sync_types.go +++ b/apis/cluster/v1alpha1/zz_sync_types.go @@ -26,7 +26,9 @@ import ( ) type NodesObservation struct { - Capacity map[string]string `json:"capacity,omitempty" tf:"capacity,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + + Capacity map[string]*string `json:"capacity,omitempty" tf:"capacity,omitempty"` ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` @@ -38,6 +40,8 @@ type NodesObservation struct { IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + Name *string `json:"name,omitempty" tf:"name,omitempty"` NodePoolID *string `json:"nodePoolId,omitempty" tf:"node_pool_id,omitempty"` @@ -50,18 +54,12 @@ type NodesObservation struct { Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"` - SystemInfo map[string]string `json:"systemInfo,omitempty" tf:"system_info,omitempty"` + SSHUser *string `json:"sshUser,omitempty" tf:"ssh_user,omitempty"` + + SystemInfo map[string]*string `json:"systemInfo,omitempty" tf:"system_info,omitempty"` } type NodesParameters struct { - - // Annotations of the resource - // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` - - // Labels of the resource - // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` } type SyncObservation struct { @@ -86,7 +84,7 @@ type SyncParameters struct { // Wait until active status is confirmed a number of times (wait interval of 5s) // +kubebuilder:validation:Optional - StateConfirm *int64 `json:"stateConfirm,omitempty" tf:"state_confirm,omitempty"` + StateConfirm *float64 `json:"stateConfirm,omitempty" tf:"state_confirm,omitempty"` // +kubebuilder:validation:Optional Synced *bool `json:"synced,omitempty" tf:"synced,omitempty"` diff --git a/apis/cluster/v1alpha1/zz_template_terraformed.go b/apis/cluster/v1alpha1/zz_template_terraformed.go deleted file mode 100755 index 479046e..0000000 --- a/apis/cluster/v1alpha1/zz_template_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Template -func (mg *Template) GetTerraformResourceType() string { - return "rancher2_cluster_template" -} - -// GetConnectionDetailsMapping for this Template -func (tr *Template) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"template_revisions[*].cluster_config[*].rke_config[*].bastion_host[*].ssh_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].bastionHost[*].sshKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_cert_password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientCertPasswordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_secret": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientSecretSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].subscription_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].subscriptionIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].azure_cloud_provider[*].tenant_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].azureCloudProvider[*].tenantIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].domain_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].domainIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].tenant_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].tenantIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].trust_id": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].trustIDSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].username": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].usernameSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].nodes[*].ssh_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].nodes[*].sshKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].nodes[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].nodes[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_secret_access_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSecretAccessKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_session_token": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSessionTokenSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].password": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].passwordSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].private_registries[*].user": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].privateRegistries[*].userSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].access_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].accessKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].secret_key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].secretKeySecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].cert": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].certSecretRef", "template_revisions[*].cluster_config[*].rke_config[*].services[*].etcd[*].key": "spec.forProvider.templateRevisions[*].clusterConfig[*].rkeConfig[*].services[*].etcd[*].keySecretRef"} -} - -// GetObservation of this Template -func (tr *Template) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Template -func (tr *Template) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Template -func (tr *Template) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Template -func (tr *Template) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Template -func (tr *Template) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Template using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Template) LateInitialize(attrs []byte) (bool, error) { - params := &TemplateParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Template) GetTerraformSchemaVersion() int { - return 1 -} diff --git a/apis/cluster/v1alpha1/zz_template_types.go b/apis/cluster/v1alpha1/zz_template_types.go index acc5178..d35c787 100755 --- a/apis/cluster/v1alpha1/zz_template_types.go +++ b/apis/cluster/v1alpha1/zz_template_types.go @@ -58,7 +58,7 @@ type AuthorizationParameters struct { Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` } type AwsCloudProviderObservation struct { @@ -97,25 +97,25 @@ type AzureCloudProviderParameters struct { CloudProviderBackoff *bool `json:"cloudProviderBackoff,omitempty" tf:"cloud_provider_backoff,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffDuration *int64 `json:"cloudProviderBackoffDuration,omitempty" tf:"cloud_provider_backoff_duration,omitempty"` + CloudProviderBackoffDuration *float64 `json:"cloudProviderBackoffDuration,omitempty" tf:"cloud_provider_backoff_duration,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffExponent *int64 `json:"cloudProviderBackoffExponent,omitempty" tf:"cloud_provider_backoff_exponent,omitempty"` + CloudProviderBackoffExponent *float64 `json:"cloudProviderBackoffExponent,omitempty" tf:"cloud_provider_backoff_exponent,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffJitter *int64 `json:"cloudProviderBackoffJitter,omitempty" tf:"cloud_provider_backoff_jitter,omitempty"` + CloudProviderBackoffJitter *float64 `json:"cloudProviderBackoffJitter,omitempty" tf:"cloud_provider_backoff_jitter,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffRetries *int64 `json:"cloudProviderBackoffRetries,omitempty" tf:"cloud_provider_backoff_retries,omitempty"` + CloudProviderBackoffRetries *float64 `json:"cloudProviderBackoffRetries,omitempty" tf:"cloud_provider_backoff_retries,omitempty"` // +kubebuilder:validation:Optional CloudProviderRateLimit *bool `json:"cloudProviderRateLimit,omitempty" tf:"cloud_provider_rate_limit,omitempty"` // +kubebuilder:validation:Optional - CloudProviderRateLimitBucket *int64 `json:"cloudProviderRateLimitBucket,omitempty" tf:"cloud_provider_rate_limit_bucket,omitempty"` + CloudProviderRateLimitBucket *float64 `json:"cloudProviderRateLimitBucket,omitempty" tf:"cloud_provider_rate_limit_bucket,omitempty"` // +kubebuilder:validation:Optional - CloudProviderRateLimitQPS *int64 `json:"cloudProviderRateLimitQps,omitempty" tf:"cloud_provider_rate_limit_qps,omitempty"` + CloudProviderRateLimitQPS *float64 `json:"cloudProviderRateLimitQps,omitempty" tf:"cloud_provider_rate_limit_qps,omitempty"` // Load balancer type (basic | standard). Must be standard for auto-scaling // +kubebuilder:validation:Optional @@ -125,7 +125,7 @@ type AzureCloudProviderParameters struct { Location *string `json:"location,omitempty" tf:"location,omitempty"` // +kubebuilder:validation:Optional - MaximumLoadBalancerRuleCount *int64 `json:"maximumLoadBalancerRuleCount,omitempty" tf:"maximum_load_balancer_rule_count,omitempty"` + MaximumLoadBalancerRuleCount *float64 `json:"maximumLoadBalancerRuleCount,omitempty" tf:"maximum_load_balancer_rule_count,omitempty"` // +kubebuilder:validation:Optional PrimaryAvailabilitySetName *string `json:"primaryAvailabilitySetName,omitempty" tf:"primary_availability_set_name,omitempty"` @@ -176,10 +176,10 @@ type BackupConfigParameters struct { Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // +kubebuilder:validation:Optional - IntervalHours *int64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` + IntervalHours *float64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` // +kubebuilder:validation:Optional - Retention *int64 `json:"retention,omitempty" tf:"retention,omitempty"` + Retention *float64 `json:"retention,omitempty" tf:"retention,omitempty"` // +kubebuilder:validation:Optional S3BackupConfig []S3BackupConfigParameters `json:"s3BackupConfig,omitempty" tf:"s3_backup_config,omitempty"` @@ -188,7 +188,7 @@ type BackupConfigParameters struct { SafeTimestamp *bool `json:"safeTimestamp,omitempty" tf:"safe_timestamp,omitempty"` // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } type BastionHostObservation struct { @@ -375,13 +375,13 @@ type ConfigurationParameters struct { Format *string `json:"format,omitempty" tf:"format,omitempty"` // +kubebuilder:validation:Optional - MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` + MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` // +kubebuilder:validation:Optional - MaxBackup *int64 `json:"maxBackup,omitempty" tf:"max_backup,omitempty"` + MaxBackup *float64 `json:"maxBackup,omitempty" tf:"max_backup,omitempty"` // +kubebuilder:validation:Optional - MaxSize *int64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` // +kubebuilder:validation:Optional Path *string `json:"path,omitempty" tf:"path,omitempty"` @@ -400,14 +400,14 @@ type DNSParameters struct { LinearAutoscalerParams []LinearAutoscalerParamsParameters `json:"linearAutoscalerParams,omitempty" tf:"linear_autoscaler_params,omitempty"` // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // Nodelocal dns // +kubebuilder:validation:Optional Nodelocal []NodelocalParameters `json:"nodelocal,omitempty" tf:"nodelocal,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` @@ -448,13 +448,13 @@ type DrainInputParameters struct { Force *bool `json:"force,omitempty" tf:"force,omitempty"` // +kubebuilder:validation:Optional - GracePeriod *int64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` + GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` // +kubebuilder:validation:Optional IgnoreDaemonSets *bool `json:"ignoreDaemonSets,omitempty" tf:"ignore_daemon_sets,omitempty"` // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } type EcrCredentialPluginObservation struct { @@ -493,7 +493,7 @@ type EtcdParameters struct { ExternalUrls []*string `json:"externalUrls,omitempty" tf:"external_urls,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -502,7 +502,7 @@ type EtcdParameters struct { ExtraEnv []*string `json:"extraEnv,omitempty" tf:"extra_env,omitempty"` // +kubebuilder:validation:Optional - GID *int64 `json:"gid,omitempty" tf:"gid,omitempty"` + GID *float64 `json:"gid,omitempty" tf:"gid,omitempty"` // +kubebuilder:validation:Optional Image *string `json:"image,omitempty" tf:"image,omitempty"` @@ -520,7 +520,7 @@ type EtcdParameters struct { Snapshot *bool `json:"snapshot,omitempty" tf:"snapshot,omitempty"` // +kubebuilder:validation:Optional - UID *int64 `json:"uid,omitempty" tf:"uid,omitempty"` + UID *float64 `json:"uid,omitempty" tf:"uid,omitempty"` } type EventRateLimitObservation struct { @@ -592,22 +592,22 @@ type IngressParameters struct { DefaultBackend *bool `json:"defaultBackend,omitempty" tf:"default_backend,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional - HTTPPort *int64 `json:"httpPort,omitempty" tf:"http_port,omitempty"` + HTTPPort *float64 `json:"httpPort,omitempty" tf:"http_port,omitempty"` // +kubebuilder:validation:Optional - HTTPSPort *int64 `json:"httpsPort,omitempty" tf:"https_port,omitempty"` + HTTPSPort *float64 `json:"httpsPort,omitempty" tf:"https_port,omitempty"` // +kubebuilder:validation:Optional NetworkMode *string `json:"networkMode,omitempty" tf:"network_mode,omitempty"` // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` @@ -636,7 +636,7 @@ type IngressTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -662,7 +662,7 @@ type KubeAPIObservation struct { type KubeAPIParameters struct { // +kubebuilder:validation:Optional - AdmissionConfiguration map[string]string `json:"admissionConfiguration,omitempty" tf:"admission_configuration,omitempty"` + AdmissionConfiguration map[string]*string `json:"admissionConfiguration,omitempty" tf:"admission_configuration,omitempty"` // +kubebuilder:validation:Optional AlwaysPullImages *bool `json:"alwaysPullImages,omitempty" tf:"always_pull_images,omitempty"` @@ -674,7 +674,7 @@ type KubeAPIParameters struct { EventRateLimit []EventRateLimitParameters `json:"eventRateLimit,omitempty" tf:"event_rate_limit,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -707,7 +707,7 @@ type KubeControllerParameters struct { ClusterCidr *string `json:"clusterCidr,omitempty" tf:"cluster_cidr,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -734,7 +734,7 @@ type KubeletParameters struct { ClusterDomain *string `json:"clusterDomain,omitempty" tf:"cluster_domain,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -761,7 +761,7 @@ type KubeproxyObservation struct { type KubeproxyParameters struct { // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -782,10 +782,10 @@ type LinearAutoscalerParamsParameters struct { CoresPerReplica *float64 `json:"coresPerReplica,omitempty" tf:"cores_per_replica,omitempty"` // +kubebuilder:validation:Optional - Max *int64 `json:"max,omitempty" tf:"max,omitempty"` + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` // +kubebuilder:validation:Optional - Min *int64 `json:"min,omitempty" tf:"min,omitempty"` + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` // +kubebuilder:validation:Optional NodesPerReplica *float64 `json:"nodesPerReplica,omitempty" tf:"nodes_per_replica,omitempty"` @@ -821,7 +821,7 @@ type LoadBalancerParameters struct { MonitorDelay *string `json:"monitorDelay,omitempty" tf:"monitor_delay,omitempty"` // +kubebuilder:validation:Optional - MonitorMaxRetries *int64 `json:"monitorMaxRetries,omitempty" tf:"monitor_max_retries,omitempty"` + MonitorMaxRetries *float64 `json:"monitorMaxRetries,omitempty" tf:"monitor_max_retries,omitempty"` // +kubebuilder:validation:Optional MonitorTimeout *string `json:"monitorTimeout,omitempty" tf:"monitor_timeout,omitempty"` @@ -857,7 +857,7 @@ type MetadataObservation struct { type MetadataParameters struct { // +kubebuilder:validation:Optional - RequestTimeout *int64 `json:"requestTimeout,omitempty" tf:"request_timeout,omitempty"` + RequestTimeout *float64 `json:"requestTimeout,omitempty" tf:"request_timeout,omitempty"` // +kubebuilder:validation:Optional SearchOrder *string `json:"searchOrder,omitempty" tf:"search_order,omitempty"` @@ -869,16 +869,16 @@ type MonitoringObservation struct { type MonitoringParameters struct { // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` // +kubebuilder:validation:Optional - Replicas *int64 `json:"replicas,omitempty" tf:"replicas,omitempty"` + Replicas *float64 `json:"replicas,omitempty" tf:"replicas,omitempty"` // Monitoring add-on tolerations // +kubebuilder:validation:Optional @@ -904,7 +904,7 @@ type MonitoringTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -931,11 +931,11 @@ type MonitoringUpdateStrategyRollingUpdateParameters struct { // Rolling update max surge // +kubebuilder:validation:Optional - MaxSurge *int64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` + MaxSurge *float64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type NetworkObservation struct { @@ -962,7 +962,7 @@ type NetworkTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -978,7 +978,7 @@ type NodelocalParameters struct { // Node selector key pair // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` } type OpenstackCloudProviderGlobalObservation struct { @@ -1097,10 +1097,10 @@ type RkeConfigNetworkParameters struct { FlannelNetworkProvider []FlannelNetworkProviderParameters `json:"flannelNetworkProvider,omitempty" tf:"flannel_network_provider,omitempty"` // +kubebuilder:validation:Optional - Mtu *int64 `json:"mtu,omitempty" tf:"mtu,omitempty"` + Mtu *float64 `json:"mtu,omitempty" tf:"mtu,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Plugin *string `json:"plugin,omitempty" tf:"plugin,omitempty"` @@ -1131,7 +1131,7 @@ type RkeConfigNodesParameters struct { InternalAddress *string `json:"internalAddress,omitempty" tf:"internal_address,omitempty"` // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NodeID *string `json:"nodeId,omitempty" tf:"node_id,omitempty"` @@ -1162,7 +1162,7 @@ type RkeConfigParameters struct { // Optional duration in seconds of addon job. // +kubebuilder:validation:Optional - AddonJobTimeout *int64 `json:"addonJobTimeout,omitempty" tf:"addon_job_timeout,omitempty"` + AddonJobTimeout *float64 `json:"addonJobTimeout,omitempty" tf:"addon_job_timeout,omitempty"` // Optional addons descripton to deploy on rke cluster. // +kubebuilder:validation:Optional @@ -1258,11 +1258,11 @@ type RollingUpdateParameters struct { // Rolling update max surge // +kubebuilder:validation:Optional - MaxSurge *int64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` + MaxSurge *float64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type RouteObservation struct { @@ -1322,7 +1322,7 @@ type ScheduleConfigParameters struct { // Cluster scan retention // +kubebuilder:validation:Optional - Retention *int64 `json:"retention,omitempty" tf:"retention,omitempty"` + Retention *float64 `json:"retention,omitempty" tf:"retention,omitempty"` } type ScheduledClusterScanObservation struct { @@ -1349,7 +1349,7 @@ type SchedulerObservation struct { type SchedulerParameters struct { // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1431,7 +1431,7 @@ type TemplateParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Cluster template description // +kubebuilder:validation:Optional @@ -1439,7 +1439,7 @@ type TemplateParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Cluster template members // +kubebuilder:validation:Optional @@ -1460,7 +1460,7 @@ type TemplateRevisionsParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Cluster configuration // +kubebuilder:validation:Required @@ -1476,7 +1476,7 @@ type TemplateRevisionsParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Cluster template revision name // +kubebuilder:validation:Required @@ -1502,7 +1502,7 @@ type TolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -1529,7 +1529,7 @@ type UpdateStrategyRollingUpdateParameters struct { // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type UpgradeStrategyObservation struct { @@ -1568,7 +1568,7 @@ type VirtualCenterParameters struct { Port *string `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Optional - SoapRoundtripCount *int64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` + SoapRoundtripCount *float64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` // +kubebuilder:validation:Required UserSecretRef v1.SecretKeySelector `json:"userSecretRef" tf:"-"` @@ -1592,7 +1592,7 @@ type VsphereCloudProviderGlobalParameters struct { Port *string `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Optional - SoapRoundtripCount *int64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` + SoapRoundtripCount *float64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` // +kubebuilder:validation:Optional UserSecretRef *v1.SecretKeySelector `json:"userSecretRef,omitempty" tf:"-"` diff --git a/apis/cluster/v1alpha1/zz_v2_terraformed.go b/apis/cluster/v1alpha1/zz_v2_terraformed.go deleted file mode 100755 index 2f9a0eb..0000000 --- a/apis/cluster/v1alpha1/zz_v2_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this V2 -func (mg *V2) GetTerraformResourceType() string { - return "rancher2_cluster_v2" -} - -// GetConnectionDetailsMapping for this V2 -func (tr *V2) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"cluster_registration_token": "status.atProvider.clusterRegistrationToken", "cluster_registration_token[*].token": "status.atProvider.clusterRegistrationToken[*].token", "kube_config": "status.atProvider.kubeConfig"} -} - -// GetObservation of this V2 -func (tr *V2) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this V2 -func (tr *V2) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this V2 -func (tr *V2) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this V2 -func (tr *V2) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this V2 -func (tr *V2) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this V2 using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *V2) LateInitialize(attrs []byte) (bool, error) { - params := &V2Parameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *V2) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/cluster/v1alpha1/zz_v2_types.go b/apis/cluster/v1alpha1/zz_v2_types.go index 89a4240..eb01217 100755 --- a/apis/cluster/v1alpha1/zz_v2_types.go +++ b/apis/cluster/v1alpha1/zz_v2_types.go @@ -38,6 +38,8 @@ type AgentEnvVarsParameters struct { } type ClusterRegistrationTokenObservation struct { + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` Command *string `json:"command,omitempty" tf:"command,omitempty"` @@ -50,24 +52,20 @@ type ClusterRegistrationTokenObservation struct { InsecureWindowsNodeCommand *string `json:"insecureWindowsNodeCommand,omitempty" tf:"insecure_windows_node_command,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + ManifestURL *string `json:"manifestUrl,omitempty" tf:"manifest_url,omitempty"` Name *string `json:"name,omitempty" tf:"name,omitempty"` NodeCommand *string `json:"nodeCommand,omitempty" tf:"node_command,omitempty"` + Token *string `json:"token,omitempty" tf:"token,omitempty"` + WindowsNodeCommand *string `json:"windowsNodeCommand,omitempty" tf:"windows_node_command,omitempty"` } type ClusterRegistrationTokenParameters struct { - - // Annotations of the resource - // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` - - // Labels of the resource - // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` } type ConfigsObservation struct { @@ -119,7 +117,7 @@ type ControlPlaneDrainOptionsParameters struct { // Drain options grace period // +kubebuilder:validation:Optional - GracePeriod *int64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` + GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` // Drain options ignore daemon sets // +kubebuilder:validation:Optional @@ -131,11 +129,39 @@ type ControlPlaneDrainOptionsParameters struct { // Drain options skip wait for delete timeout seconds // +kubebuilder:validation:Optional - SkipWaitForDeleteTimeoutSeconds *int64 `json:"skipWaitForDeleteTimeoutSeconds,omitempty" tf:"skip_wait_for_delete_timeout_seconds,omitempty"` + SkipWaitForDeleteTimeoutSeconds *float64 `json:"skipWaitForDeleteTimeoutSeconds,omitempty" tf:"skip_wait_for_delete_timeout_seconds,omitempty"` // Drain options timeout // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type EtcdSnapshotCreateObservation struct { +} + +type EtcdSnapshotCreateParameters struct { + + // ETCD generation to initiate a snapshot + // +kubebuilder:validation:Required + Generation *float64 `json:"generation" tf:"generation,omitempty"` +} + +type EtcdSnapshotRestoreObservation struct { +} + +type EtcdSnapshotRestoreParameters struct { + + // ETCD snapshot desired generation + // +kubebuilder:validation:Required + Generation *float64 `json:"generation" tf:"generation,omitempty"` + + // ETCD snapshot name to restore + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // ETCD restore RKE config (set to none, all, or kubernetesVersion) + // +kubebuilder:validation:Optional + RestoreRkeConfig *string `json:"restoreRkeConfig,omitempty" tf:"restore_rke_config,omitempty"` } type LocalAuthEndpointObservation struct { @@ -178,7 +204,7 @@ type MachineLabelSelectorParameters struct { // Label selector match labels // +kubebuilder:validation:Optional - MatchLabels map[string]string `json:"matchLabels,omitempty" tf:"match_labels,omitempty"` + MatchLabels map[string]*string `json:"matchLabels,omitempty" tf:"match_labels,omitempty"` } type MachinePoolsObservation struct { @@ -188,7 +214,7 @@ type MachinePoolsParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Machine pool cloud credential secret name // +kubebuilder:validation:Required @@ -198,29 +224,45 @@ type MachinePoolsParameters struct { // +kubebuilder:validation:Optional ControlPlaneRole *bool `json:"controlPlaneRole,omitempty" tf:"control_plane_role,omitempty"` + // Machine pool drain before delete + // +kubebuilder:validation:Optional + DrainBeforeDelete *bool `json:"drainBeforeDelete,omitempty" tf:"drain_before_delete,omitempty"` + // Machine pool etcd role // +kubebuilder:validation:Optional EtcdRole *bool `json:"etcdRole,omitempty" tf:"etcd_role,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Machine config data // +kubebuilder:validation:Required MachineConfig []MachineConfigParameters `json:"machineConfig" tf:"machine_config,omitempty"` + // max unhealthy nodes for automated replacement to be allowed + // +kubebuilder:validation:Optional + MaxUnhealthy *string `json:"maxUnhealthy,omitempty" tf:"max_unhealthy,omitempty"` + // Machine pool name // +kubebuilder:validation:Required Name *string `json:"name" tf:"name,omitempty"` + // seconds to wait for machine pool drain to complete before machine deletion + // +kubebuilder:validation:Optional + NodeDrainTimeout *float64 `json:"nodeDrainTimeout,omitempty" tf:"node_drain_timeout,omitempty"` + + // seconds a new node has to become active before it is replaced + // +kubebuilder:validation:Optional + NodeStartupTimeoutSeconds *float64 `json:"nodeStartupTimeoutSeconds,omitempty" tf:"node_startup_timeout_seconds,omitempty"` + // Machine pool paused // +kubebuilder:validation:Optional Paused *bool `json:"paused,omitempty" tf:"paused,omitempty"` // Machine pool quantity // +kubebuilder:validation:Optional - Quantity *int64 `json:"quantity,omitempty" tf:"quantity,omitempty"` + Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"` // Machine pool rolling update // +kubebuilder:validation:Optional @@ -230,6 +272,14 @@ type MachinePoolsParameters struct { // +kubebuilder:validation:Optional Taints []TaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"` + // seconds an unhealthy node has to become active before it is replaced + // +kubebuilder:validation:Optional + UnhealthyNodeTimeoutSeconds *float64 `json:"unhealthyNodeTimeoutSeconds,omitempty" tf:"unhealthy_node_timeout_seconds,omitempty"` + + // range of unhealthy nodes for automated replacement to be allowed + // +kubebuilder:validation:Optional + UnhealthyRange *string `json:"unhealthyRange,omitempty" tf:"unhealthy_range,omitempty"` + // Machine pool worker role // +kubebuilder:validation:Optional WorkerRole *bool `json:"workerRole,omitempty" tf:"worker_role,omitempty"` @@ -256,7 +306,7 @@ type MachineSelectorConfigParameters struct { // Machine selector config // +kubebuilder:validation:Optional - Config map[string]string `json:"config,omitempty" tf:"config,omitempty"` + Config map[string]*string `json:"config,omitempty" tf:"config,omitempty"` // Machine label selector // +kubebuilder:validation:Optional @@ -296,7 +346,7 @@ type MirrorsParameters struct { // Registry mirror rewrites // +kubebuilder:validation:Optional - Rewrites map[string]string `json:"rewrites,omitempty" tf:"rewrites,omitempty"` + Rewrites map[string]*string `json:"rewrites,omitempty" tf:"rewrites,omitempty"` } type RegistriesObservation struct { @@ -328,7 +378,7 @@ type RkeConfigEtcdParameters struct { // ETCD snapshot retention // +kubebuilder:validation:Optional - SnapshotRetention *int64 `json:"snapshotRetention,omitempty" tf:"snapshot_retention,omitempty"` + SnapshotRetention *float64 `json:"snapshotRetention,omitempty" tf:"snapshot_retention,omitempty"` // ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) // +kubebuilder:validation:Optional @@ -372,6 +422,20 @@ type RkeConfigUpgradeStrategyParameters struct { WorkerDrainOptions []WorkerDrainOptionsParameters `json:"workerDrainOptions,omitempty" tf:"worker_drain_options,omitempty"` } +type RotateCertificatesObservation struct { +} + +type RotateCertificatesParameters struct { + + // Desired certificate rotation generation. + // +kubebuilder:validation:Required + Generation *float64 `json:"generation" tf:"generation,omitempty"` + + // Service certificates to rotate with this generation. + // +kubebuilder:validation:Optional + Services []*string `json:"services,omitempty" tf:"services,omitempty"` +} + type S3ConfigObservation struct { } @@ -437,7 +501,7 @@ type V2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Cluster V2 cloud credential secret name // +kubebuilder:validation:Optional @@ -464,7 +528,7 @@ type V2Parameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Cluster V2 local auth endpoint // +kubebuilder:validation:Optional @@ -492,6 +556,14 @@ type V2RkeConfigParameters struct { // +kubebuilder:validation:Optional Etcd []RkeConfigEtcdParameters `json:"etcd,omitempty" tf:"etcd,omitempty"` + // Cluster V2 etcd snapshot create + // +kubebuilder:validation:Optional + EtcdSnapshotCreate []EtcdSnapshotCreateParameters `json:"etcdSnapshotCreate,omitempty" tf:"etcd_snapshot_create,omitempty"` + + // Cluster V2 etcd snapshot restore + // +kubebuilder:validation:Optional + EtcdSnapshotRestore []EtcdSnapshotRestoreParameters `json:"etcdSnapshotRestore,omitempty" tf:"etcd_snapshot_restore,omitempty"` + // Cluster V2 local auth endpoint // +kubebuilder:validation:Optional LocalAuthEndpoint []RkeConfigLocalAuthEndpointParameters `json:"localAuthEndpoint,omitempty" tf:"local_auth_endpoint,omitempty"` @@ -512,6 +584,10 @@ type V2RkeConfigParameters struct { // +kubebuilder:validation:Optional Registries []RegistriesParameters `json:"registries,omitempty" tf:"registries,omitempty"` + // Cluster V2 certificate rotation + // +kubebuilder:validation:Optional + RotateCertificates []RotateCertificatesParameters `json:"rotateCertificates,omitempty" tf:"rotate_certificates,omitempty"` + // Cluster V2 upgrade strategy // +kubebuilder:validation:Optional UpgradeStrategy []RkeConfigUpgradeStrategyParameters `json:"upgradeStrategy,omitempty" tf:"upgrade_strategy,omitempty"` @@ -540,7 +616,7 @@ type WorkerDrainOptionsParameters struct { // Drain options grace period // +kubebuilder:validation:Optional - GracePeriod *int64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` + GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` // Drain options ignore daemon sets // +kubebuilder:validation:Optional @@ -552,11 +628,11 @@ type WorkerDrainOptionsParameters struct { // Drain options skip wait for delete timeout seconds // +kubebuilder:validation:Optional - SkipWaitForDeleteTimeoutSeconds *int64 `json:"skipWaitForDeleteTimeoutSeconds,omitempty" tf:"skip_wait_for_delete_timeout_seconds,omitempty"` + SkipWaitForDeleteTimeoutSeconds *float64 `json:"skipWaitForDeleteTimeoutSeconds,omitempty" tf:"skip_wait_for_delete_timeout_seconds,omitempty"` // Drain options timeout // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } // V2Spec defines the desired state of V2 diff --git a/apis/config/v1alpha1/zz_generated.deepcopy.go b/apis/config/v1alpha1/zz_generated.deepcopy.go index c52516b..fba6df4 100644 --- a/apis/config/v1alpha1/zz_generated.deepcopy.go +++ b/apis/config/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -113,9 +114,17 @@ func (in *MapV2Parameters) DeepCopyInto(out *MapV2Parameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -125,9 +134,17 @@ func (in *MapV2Parameters) DeepCopyInto(out *MapV2Parameters) { } if in.Data != nil { in, out := &in.Data, &out.Data - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Immutable != nil { @@ -137,9 +154,17 @@ func (in *MapV2Parameters) DeepCopyInto(out *MapV2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Namespace != nil { diff --git a/apis/config/v1alpha1/zz_generated.managed.go b/apis/config/v1alpha1/zz_generated.managed.go index 4866841..4f4cc02 100644 --- a/apis/config/v1alpha1/zz_generated.managed.go +++ b/apis/config/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *MapV2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this MapV2. +func (mg *MapV2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this MapV2. func (mg *MapV2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *MapV2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this MapV2. +func (mg *MapV2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this MapV2. func (mg *MapV2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/config/v1alpha1/zz_mapv2_terraformed.go b/apis/config/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/config/v1alpha1/zz_mapv2_terraformed.go rename to apis/config/v1alpha1/zz_generated_terraformed.go diff --git a/apis/config/v1alpha1/zz_mapv2_types.go b/apis/config/v1alpha1/zz_mapv2_types.go index 7c479eb..15dd7af 100755 --- a/apis/config/v1alpha1/zz_mapv2_types.go +++ b/apis/config/v1alpha1/zz_mapv2_types.go @@ -35,7 +35,7 @@ type MapV2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // K8s cluster ID // +kubebuilder:validation:Required @@ -43,7 +43,7 @@ type MapV2Parameters struct { // ConfigMap V2 data map // +kubebuilder:validation:Required - Data map[string]string `json:"data" tf:"data,omitempty"` + Data map[string]*string `json:"data" tf:"data,omitempty"` // If set to true, ensures that data stored in the ConfigMap cannot be updated // +kubebuilder:validation:Optional @@ -51,7 +51,7 @@ type MapV2Parameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // ConfigMap V2 namespace // +kubebuilder:validation:Optional diff --git a/apis/etcd/v1alpha1/zz_backup_types.go b/apis/etcd/v1alpha1/zz_backup_types.go index 324f725..e2b7700 100755 --- a/apis/etcd/v1alpha1/zz_backup_types.go +++ b/apis/etcd/v1alpha1/zz_backup_types.go @@ -34,10 +34,10 @@ type BackupConfigParameters struct { Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // +kubebuilder:validation:Optional - IntervalHours *int64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` + IntervalHours *float64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` // +kubebuilder:validation:Optional - Retention *int64 `json:"retention,omitempty" tf:"retention,omitempty"` + Retention *float64 `json:"retention,omitempty" tf:"retention,omitempty"` // +kubebuilder:validation:Optional S3BackupConfig []S3BackupConfigParameters `json:"s3BackupConfig,omitempty" tf:"s3_backup_config,omitempty"` @@ -46,7 +46,7 @@ type BackupConfigParameters struct { SafeTimestamp *bool `json:"safeTimestamp,omitempty" tf:"safe_timestamp,omitempty"` // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } type BackupObservation struct { @@ -57,7 +57,7 @@ type BackupParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional BackupConfig []BackupConfigParameters `json:"backupConfig,omitempty" tf:"backup_config,omitempty"` @@ -70,7 +70,7 @@ type BackupParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional Manual *bool `json:"manual,omitempty" tf:"manual,omitempty"` diff --git a/apis/etcd/v1alpha1/zz_generated.deepcopy.go b/apis/etcd/v1alpha1/zz_generated.deepcopy.go index 0dc1b64..a4992f6 100644 --- a/apis/etcd/v1alpha1/zz_generated.deepcopy.go +++ b/apis/etcd/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -77,12 +78,12 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.IntervalHours != nil { in, out := &in.IntervalHours, &out.IntervalHours - *out = new(int64) + *out = new(float64) **out = **in } if in.Retention != nil { in, out := &in.Retention, &out.Retention - *out = new(int64) + *out = new(float64) **out = **in } if in.S3BackupConfig != nil { @@ -99,7 +100,7 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -171,9 +172,17 @@ func (in *BackupParameters) DeepCopyInto(out *BackupParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.BackupConfig != nil { @@ -195,9 +204,17 @@ func (in *BackupParameters) DeepCopyInto(out *BackupParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Manual != nil { diff --git a/apis/etcd/v1alpha1/zz_generated.managed.go b/apis/etcd/v1alpha1/zz_generated.managed.go index 7b19f8f..be9c812 100644 --- a/apis/etcd/v1alpha1/zz_generated.managed.go +++ b/apis/etcd/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *Backup) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Backup. +func (mg *Backup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Backup. func (mg *Backup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *Backup) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Backup. +func (mg *Backup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Backup. func (mg *Backup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/etcd/v1alpha1/zz_backup_terraformed.go b/apis/etcd/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/etcd/v1alpha1/zz_backup_terraformed.go rename to apis/etcd/v1alpha1/zz_generated_terraformed.go diff --git a/apis/generate.go b/apis/generate.go index 8d48b0b..558a770 100644 --- a/apis/generate.go +++ b/apis/generate.go @@ -1,3 +1,4 @@ +//go:build generate // +build generate /* @@ -29,10 +30,10 @@ limitations under the License. //go:generate bash -c "find ../internal/controller -type d -empty -delete" // Run Terrajet generator -//go:generate go run -tags generate ../cmd/generator/main.go .. +//go:generate go run -tags generate ../cmd/generator/main.go .. "${TERRAFORM_PROVIDER_SOURCE}" // Generate deepcopy methodsets and CRD manifests -//go:generate go run -tags generate sigs.k8s.io/controller-tools/cmd/controller-gen object:headerFile=../hack/boilerplate.go.txt paths=./... crd:trivialVersions=true,allowDangerousTypes=true,crdVersions=v1 output:artifacts:config=../package/crds +//go:generate go run -tags generate sigs.k8s.io/controller-tools/cmd/controller-gen object:headerFile=../hack/boilerplate.go.txt paths=./... crd:allowDangerousTypes=true,crdVersions=v1 output:artifacts:config=../package/crds // Generate crossplane-runtime methodsets (resource.Claim, etc) //go:generate go run -tags generate github.com/crossplane/crossplane-tools/cmd/angryjet generate-methodsets --header-file=../hack/boilerplate.go.txt ./... diff --git a/apis/global/v1alpha1/zz_dns_terraformed.go b/apis/global/v1alpha1/zz_dns_terraformed.go deleted file mode 100755 index 775f4f3..0000000 --- a/apis/global/v1alpha1/zz_dns_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this DNS -func (mg *DNS) GetTerraformResourceType() string { - return "rancher2_global_dns" -} - -// GetConnectionDetailsMapping for this DNS -func (tr *DNS) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this DNS -func (tr *DNS) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this DNS -func (tr *DNS) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this DNS -func (tr *DNS) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this DNS -func (tr *DNS) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this DNS -func (tr *DNS) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this DNS using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *DNS) LateInitialize(attrs []byte) (bool, error) { - params := &DNSParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *DNS) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/global/v1alpha1/zz_dns_types.go b/apis/global/v1alpha1/zz_dns_types.go index 84daf2a..cd99ea5 100755 --- a/apis/global/v1alpha1/zz_dns_types.go +++ b/apis/global/v1alpha1/zz_dns_types.go @@ -33,14 +33,14 @@ type DNSParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required Fqdn *string `json:"fqdn" tf:"fqdn,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional MultiClusterAppID *string `json:"multiClusterAppId,omitempty" tf:"multi_cluster_app_id,omitempty"` @@ -52,7 +52,7 @@ type DNSParameters struct { ProviderID *string `json:"providerId" tf:"provider_id,omitempty"` // +kubebuilder:validation:Optional - TTL *int64 `json:"ttl,omitempty" tf:"ttl,omitempty"` + TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` } // DNSSpec defines the desired state of DNS diff --git a/apis/global/v1alpha1/zz_dnsprovider_terraformed.go b/apis/global/v1alpha1/zz_dnsprovider_terraformed.go deleted file mode 100755 index b0dfcaf..0000000 --- a/apis/global/v1alpha1/zz_dnsprovider_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this DNSProvider -func (mg *DNSProvider) GetTerraformResourceType() string { - return "rancher2_global_dns_provider" -} - -// GetConnectionDetailsMapping for this DNSProvider -func (tr *DNSProvider) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this DNSProvider -func (tr *DNSProvider) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this DNSProvider -func (tr *DNSProvider) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this DNSProvider -func (tr *DNSProvider) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this DNSProvider -func (tr *DNSProvider) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this DNSProvider -func (tr *DNSProvider) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this DNSProvider using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *DNSProvider) LateInitialize(attrs []byte) (bool, error) { - params := &DNSProviderParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *DNSProvider) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/global/v1alpha1/zz_dnsprovider_types.go b/apis/global/v1alpha1/zz_dnsprovider_types.go index 33d875e..5cb526b 100755 --- a/apis/global/v1alpha1/zz_dnsprovider_types.go +++ b/apis/global/v1alpha1/zz_dnsprovider_types.go @@ -65,14 +65,14 @@ type DNSProviderParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional CloudflareConfig []CloudflareConfigParameters `json:"cloudflareConfig,omitempty" tf:"cloudflare_config,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required RootDomain *string `json:"rootDomain" tf:"root_domain,omitempty"` diff --git a/apis/global/v1alpha1/zz_generated.deepcopy.go b/apis/global/v1alpha1/zz_generated.deepcopy.go index 9189afe..45bf4ab 100644 --- a/apis/global/v1alpha1/zz_generated.deepcopy.go +++ b/apis/global/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -193,9 +194,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Fqdn != nil { @@ -205,9 +214,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MultiClusterAppID != nil { @@ -233,7 +250,7 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.TTL != nil { in, out := &in.TTL, &out.TTL - *out = new(int64) + *out = new(float64) **out = **in } } @@ -344,9 +361,17 @@ func (in *DNSProviderParameters) DeepCopyInto(out *DNSProviderParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CloudflareConfig != nil { @@ -358,9 +383,17 @@ func (in *DNSProviderParameters) DeepCopyInto(out *DNSProviderParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.RootDomain != nil { @@ -566,9 +599,17 @@ func (in *RoleBindingParameters) DeepCopyInto(out *RoleBindingParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.GlobalRoleID != nil { @@ -583,9 +624,17 @@ func (in *RoleBindingParameters) DeepCopyInto(out *RoleBindingParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.UserID != nil { @@ -701,9 +750,17 @@ func (in *RoleParameters) DeepCopyInto(out *RoleParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Description != nil { @@ -713,9 +770,17 @@ func (in *RoleParameters) DeepCopyInto(out *RoleParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NewUserDefault != nil { diff --git a/apis/global/v1alpha1/zz_generated.managed.go b/apis/global/v1alpha1/zz_generated.managed.go index c0f9555..edf0ee7 100644 --- a/apis/global/v1alpha1/zz_generated.managed.go +++ b/apis/global/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *DNS) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this DNS. +func (mg *DNS) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this DNS. func (mg *DNS) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *DNS) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this DNS. +func (mg *DNS) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this DNS. func (mg *DNS) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *DNSProvider) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this DNSProvider. +func (mg *DNSProvider) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this DNSProvider. func (mg *DNSProvider) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *DNSProvider) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this DNSProvider. +func (mg *DNSProvider) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this DNSProvider. func (mg *DNSProvider) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *Role) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Role. +func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Role. func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *Role) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Role. +func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Role. func (mg *Role) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -210,6 +240,11 @@ func (mg *RoleBinding) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this RoleBinding. +func (mg *RoleBinding) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this RoleBinding. func (mg *RoleBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -238,6 +273,11 @@ func (mg *RoleBinding) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this RoleBinding. +func (mg *RoleBinding) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this RoleBinding. func (mg *RoleBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/global/v1alpha1/zz_generated_terraformed.go b/apis/global/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..8a6428d --- /dev/null +++ b/apis/global/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,322 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DNS +func (mg *DNS) GetTerraformResourceType() string { + return "rancher2_global_dns" +} + +// GetConnectionDetailsMapping for this DNS +func (tr *DNS) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DNS +func (tr *DNS) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DNS +func (tr *DNS) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this DNS +func (tr *DNS) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DNS +func (tr *DNS) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DNS +func (tr *DNS) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DNS using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DNS) LateInitialize(attrs []byte) (bool, error) { + params := &DNSParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *DNS) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this DNSProvider +func (mg *DNSProvider) GetTerraformResourceType() string { + return "rancher2_global_dns_provider" +} + +// GetConnectionDetailsMapping for this DNSProvider +func (tr *DNSProvider) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DNSProvider +func (tr *DNSProvider) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DNSProvider +func (tr *DNSProvider) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this DNSProvider +func (tr *DNSProvider) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DNSProvider +func (tr *DNSProvider) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DNSProvider +func (tr *DNSProvider) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DNSProvider using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DNSProvider) LateInitialize(attrs []byte) (bool, error) { + params := &DNSProviderParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *DNSProvider) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Role +func (mg *Role) GetTerraformResourceType() string { + return "rancher2_global_role" +} + +// GetConnectionDetailsMapping for this Role +func (tr *Role) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Role +func (tr *Role) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Role +func (tr *Role) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Role +func (tr *Role) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Role +func (tr *Role) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Role +func (tr *Role) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Role using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Role) LateInitialize(attrs []byte) (bool, error) { + params := &RoleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Role) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this RoleBinding +func (mg *RoleBinding) GetTerraformResourceType() string { + return "rancher2_global_role_binding" +} + +// GetConnectionDetailsMapping for this RoleBinding +func (tr *RoleBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RoleBinding +func (tr *RoleBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RoleBinding +func (tr *RoleBinding) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RoleBinding +func (tr *RoleBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RoleBinding +func (tr *RoleBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RoleBinding +func (tr *RoleBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RoleBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RoleBinding) LateInitialize(attrs []byte) (bool, error) { + params := &RoleBindingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RoleBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/global/v1alpha1/zz_role_terraformed.go b/apis/global/v1alpha1/zz_role_terraformed.go deleted file mode 100755 index f46140c..0000000 --- a/apis/global/v1alpha1/zz_role_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Role -func (mg *Role) GetTerraformResourceType() string { - return "rancher2_global_role" -} - -// GetConnectionDetailsMapping for this Role -func (tr *Role) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Role -func (tr *Role) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Role -func (tr *Role) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Role -func (tr *Role) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Role -func (tr *Role) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Role -func (tr *Role) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Role using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Role) LateInitialize(attrs []byte) (bool, error) { - params := &RoleParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Role) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/global/v1alpha1/zz_role_types.go b/apis/global/v1alpha1/zz_role_types.go index 94288c6..ce6e495 100755 --- a/apis/global/v1alpha1/zz_role_types.go +++ b/apis/global/v1alpha1/zz_role_types.go @@ -35,7 +35,7 @@ type RoleParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Global role policy description // +kubebuilder:validation:Optional @@ -43,7 +43,7 @@ type RoleParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Whether or not this role should be added to new users // +kubebuilder:validation:Optional diff --git a/apis/global/v1alpha1/zz_rolebinding_terraformed.go b/apis/global/v1alpha1/zz_rolebinding_terraformed.go deleted file mode 100755 index 28d665b..0000000 --- a/apis/global/v1alpha1/zz_rolebinding_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this RoleBinding -func (mg *RoleBinding) GetTerraformResourceType() string { - return "rancher2_global_role_binding" -} - -// GetConnectionDetailsMapping for this RoleBinding -func (tr *RoleBinding) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this RoleBinding -func (tr *RoleBinding) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this RoleBinding -func (tr *RoleBinding) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this RoleBinding -func (tr *RoleBinding) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this RoleBinding -func (tr *RoleBinding) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this RoleBinding -func (tr *RoleBinding) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this RoleBinding using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *RoleBinding) LateInitialize(attrs []byte) (bool, error) { - params := &RoleBindingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *RoleBinding) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/global/v1alpha1/zz_rolebinding_types.go b/apis/global/v1alpha1/zz_rolebinding_types.go index 87c3e79..c3fba74 100755 --- a/apis/global/v1alpha1/zz_rolebinding_types.go +++ b/apis/global/v1alpha1/zz_rolebinding_types.go @@ -33,7 +33,7 @@ type RoleBindingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required GlobalRoleID *string `json:"globalRoleId" tf:"global_role_id,omitempty"` @@ -43,7 +43,7 @@ type RoleBindingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"` diff --git a/apis/machine/v1alpha1/zz_configv2_types.go b/apis/machine/v1alpha1/zz_configv2_types.go index 07fcfbc..8fc424c 100755 --- a/apis/machine/v1alpha1/zz_configv2_types.go +++ b/apis/machine/v1alpha1/zz_configv2_types.go @@ -304,7 +304,7 @@ type ConfigV2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional AzureConfig []AzureConfigParameters `json:"azureConfig,omitempty" tf:"azure_config,omitempty"` @@ -319,9 +319,12 @@ type ConfigV2Parameters struct { // +kubebuilder:validation:Required GenerateName *string `json:"generateName" tf:"generate_name,omitempty"` + // +kubebuilder:validation:Optional + HarvesterConfig []HarvesterConfigParameters `json:"harvesterConfig,omitempty" tf:"harvester_config,omitempty"` + // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional LinodeConfig []LinodeConfigParameters `json:"linodeConfig,omitempty" tf:"linode_config,omitempty"` @@ -395,6 +398,60 @@ type DigitaloceanConfigParameters struct { Userdata *string `json:"userdata,omitempty" tf:"userdata,omitempty"` } +type HarvesterConfigObservation struct { +} + +type HarvesterConfigParameters struct { + + // CPU count + // +kubebuilder:validation:Optional + CPUCount *string `json:"cpuCount,omitempty" tf:"cpu_count,omitempty"` + + // Disk bus + // +kubebuilder:validation:Optional + DiskBus *string `json:"diskBus,omitempty" tf:"disk_bus,omitempty"` + + // Disk size (in GiB) + // +kubebuilder:validation:Optional + DiskSize *string `json:"diskSize,omitempty" tf:"disk_size,omitempty"` + + // Image name + // +kubebuilder:validation:Required + ImageName *string `json:"imageName" tf:"image_name,omitempty"` + + // Memory size (in GiB) + // +kubebuilder:validation:Optional + MemorySize *string `json:"memorySize,omitempty" tf:"memory_size,omitempty"` + + // NetworkData content of cloud-init, base64 is supported + // +kubebuilder:validation:Optional + NetworkData *string `json:"networkData,omitempty" tf:"network_data,omitempty"` + + // Network model + // +kubebuilder:validation:Optional + NetworkModel *string `json:"networkModel,omitempty" tf:"network_model,omitempty"` + + // Network name + // +kubebuilder:validation:Required + NetworkName *string `json:"networkName" tf:"network_name,omitempty"` + + // SSH password + // +kubebuilder:validation:Optional + SSHPasswordSecretRef *v1.SecretKeySelector `json:"sshPasswordSecretRef,omitempty" tf:"-"` + + // SSH username + // +kubebuilder:validation:Required + SSHUser *string `json:"sshUser" tf:"ssh_user,omitempty"` + + // UserData content of cloud-init, base64 is supported + // +kubebuilder:validation:Optional + UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"` + + // Virtual machine namespace + // +kubebuilder:validation:Required + VMNamespace *string `json:"vmNamespace" tf:"vm_namespace,omitempty"` +} + type LinodeConfigObservation struct { } diff --git a/apis/machine/v1alpha1/zz_generated.deepcopy.go b/apis/machine/v1alpha1/zz_generated.deepcopy.go index 58642c0..a606367 100644 --- a/apis/machine/v1alpha1/zz_generated.deepcopy.go +++ b/apis/machine/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -519,9 +520,17 @@ func (in *ConfigV2Parameters) DeepCopyInto(out *ConfigV2Parameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.AzureConfig != nil { @@ -548,11 +557,26 @@ func (in *ConfigV2Parameters) DeepCopyInto(out *ConfigV2Parameters) { *out = new(string) **out = **in } + if in.HarvesterConfig != nil { + in, out := &in.HarvesterConfig, &out.HarvesterConfig + *out = make([]HarvesterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LinodeConfig != nil { @@ -722,6 +746,96 @@ func (in *DigitaloceanConfigParameters) DeepCopy() *DigitaloceanConfigParameters return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterConfigObservation) DeepCopyInto(out *HarvesterConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterConfigObservation. +func (in *HarvesterConfigObservation) DeepCopy() *HarvesterConfigObservation { + if in == nil { + return nil + } + out := new(HarvesterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterConfigParameters) DeepCopyInto(out *HarvesterConfigParameters) { + *out = *in + if in.CPUCount != nil { + in, out := &in.CPUCount, &out.CPUCount + *out = new(string) + **out = **in + } + if in.DiskBus != nil { + in, out := &in.DiskBus, &out.DiskBus + *out = new(string) + **out = **in + } + if in.DiskSize != nil { + in, out := &in.DiskSize, &out.DiskSize + *out = new(string) + **out = **in + } + if in.ImageName != nil { + in, out := &in.ImageName, &out.ImageName + *out = new(string) + **out = **in + } + if in.MemorySize != nil { + in, out := &in.MemorySize, &out.MemorySize + *out = new(string) + **out = **in + } + if in.NetworkData != nil { + in, out := &in.NetworkData, &out.NetworkData + *out = new(string) + **out = **in + } + if in.NetworkModel != nil { + in, out := &in.NetworkModel, &out.NetworkModel + *out = new(string) + **out = **in + } + if in.NetworkName != nil { + in, out := &in.NetworkName, &out.NetworkName + *out = new(string) + **out = **in + } + if in.SSHPasswordSecretRef != nil { + in, out := &in.SSHPasswordSecretRef, &out.SSHPasswordSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.SSHUser != nil { + in, out := &in.SSHUser, &out.SSHUser + *out = new(string) + **out = **in + } + if in.UserData != nil { + in, out := &in.UserData, &out.UserData + *out = new(string) + **out = **in + } + if in.VMNamespace != nil { + in, out := &in.VMNamespace, &out.VMNamespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterConfigParameters. +func (in *HarvesterConfigParameters) DeepCopy() *HarvesterConfigParameters { + if in == nil { + return nil + } + out := new(HarvesterConfigParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LinodeConfigObservation) DeepCopyInto(out *LinodeConfigObservation) { *out = *in diff --git a/apis/machine/v1alpha1/zz_generated.managed.go b/apis/machine/v1alpha1/zz_generated.managed.go index cd304f2..6e727a4 100644 --- a/apis/machine/v1alpha1/zz_generated.managed.go +++ b/apis/machine/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *ConfigV2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ConfigV2. +func (mg *ConfigV2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ConfigV2. func (mg *ConfigV2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *ConfigV2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ConfigV2. +func (mg *ConfigV2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ConfigV2. func (mg *ConfigV2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/machine/v1alpha1/zz_configv2_terraformed.go b/apis/machine/v1alpha1/zz_generated_terraformed.go similarity index 79% rename from apis/machine/v1alpha1/zz_configv2_terraformed.go rename to apis/machine/v1alpha1/zz_generated_terraformed.go index d8804d5..ab673be 100755 --- a/apis/machine/v1alpha1/zz_configv2_terraformed.go +++ b/apis/machine/v1alpha1/zz_generated_terraformed.go @@ -32,7 +32,7 @@ func (mg *ConfigV2) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this ConfigV2 func (tr *ConfigV2) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"amazonec2_config[*].access_key": "spec.forProvider.amazonec2Config[*].accessKeySecretRef", "amazonec2_config[*].secret_key": "spec.forProvider.amazonec2Config[*].secretKeySecretRef", "amazonec2_config[*].session_token": "spec.forProvider.amazonec2Config[*].sessionTokenSecretRef", "amazonec2_config[*].ssh_key_contents": "spec.forProvider.amazonec2Config[*].sshKeyContentsSecretRef", "azure_config[*].client_id": "spec.forProvider.azureConfig[*].clientIDSecretRef", "azure_config[*].client_secret": "spec.forProvider.azureConfig[*].clientSecretSecretRef", "azure_config[*].subscription_id": "spec.forProvider.azureConfig[*].subscriptionIDSecretRef", "azure_config[*].tenant_id": "spec.forProvider.azureConfig[*].tenantIDSecretRef", "digitalocean_config[*].access_token": "spec.forProvider.digitaloceanConfig[*].accessTokenSecretRef", "digitalocean_config[*].ssh_key_contents": "spec.forProvider.digitaloceanConfig[*].sshKeyContentsSecretRef", "digitalocean_config[*].ssh_key_fingerprint": "spec.forProvider.digitaloceanConfig[*].sshKeyFingerprintSecretRef", "linode_config[*].root_pass": "spec.forProvider.linodeConfig[*].rootPassSecretRef", "linode_config[*].token": "spec.forProvider.linodeConfig[*].tokenSecretRef", "openstack_config[*].application_credential_secret": "spec.forProvider.openstackConfig[*].applicationCredentialSecretSecretRef", "openstack_config[*].password": "spec.forProvider.openstackConfig[*].passwordSecretRef", "openstack_config[*].private_key_file": "spec.forProvider.openstackConfig[*].privateKeyFileSecretRef", "vsphere_config[*].password": "spec.forProvider.vsphereConfig[*].passwordSecretRef", "vsphere_config[*].ssh_password": "spec.forProvider.vsphereConfig[*].sshPasswordSecretRef"} + return map[string]string{"amazonec2_config[*].access_key": "spec.forProvider.amazonec2Config[*].accessKeySecretRef", "amazonec2_config[*].secret_key": "spec.forProvider.amazonec2Config[*].secretKeySecretRef", "amazonec2_config[*].session_token": "spec.forProvider.amazonec2Config[*].sessionTokenSecretRef", "amazonec2_config[*].ssh_key_contents": "spec.forProvider.amazonec2Config[*].sshKeyContentsSecretRef", "azure_config[*].client_id": "spec.forProvider.azureConfig[*].clientIdSecretRef", "azure_config[*].client_secret": "spec.forProvider.azureConfig[*].clientSecretSecretRef", "azure_config[*].subscription_id": "spec.forProvider.azureConfig[*].subscriptionIdSecretRef", "azure_config[*].tenant_id": "spec.forProvider.azureConfig[*].tenantIdSecretRef", "digitalocean_config[*].access_token": "spec.forProvider.digitaloceanConfig[*].accessTokenSecretRef", "digitalocean_config[*].ssh_key_contents": "spec.forProvider.digitaloceanConfig[*].sshKeyContentsSecretRef", "digitalocean_config[*].ssh_key_fingerprint": "spec.forProvider.digitaloceanConfig[*].sshKeyFingerprintSecretRef", "harvester_config[*].ssh_password": "spec.forProvider.harvesterConfig[*].sshPasswordSecretRef", "linode_config[*].root_pass": "spec.forProvider.linodeConfig[*].rootPassSecretRef", "linode_config[*].token": "spec.forProvider.linodeConfig[*].tokenSecretRef", "openstack_config[*].application_credential_secret": "spec.forProvider.openstackConfig[*].applicationCredentialSecretSecretRef", "openstack_config[*].password": "spec.forProvider.openstackConfig[*].passwordSecretRef", "openstack_config[*].private_key_file": "spec.forProvider.openstackConfig[*].privateKeyFileSecretRef", "vsphere_config[*].password": "spec.forProvider.vsphereConfig[*].passwordSecretRef", "vsphere_config[*].ssh_password": "spec.forProvider.vsphereConfig[*].sshPasswordSecretRef"} } // GetObservation of this ConfigV2 diff --git a/apis/multi/v1alpha1/zz_clusterapp_types.go b/apis/multi/v1alpha1/zz_clusterapp_types.go index 376406e..9d96494 100755 --- a/apis/multi/v1alpha1/zz_clusterapp_types.go +++ b/apis/multi/v1alpha1/zz_clusterapp_types.go @@ -40,7 +40,7 @@ type AnswersParameters struct { // Key/values for answer // +kubebuilder:validation:Optional - Values map[string]string `json:"values,omitempty" tf:"values,omitempty"` + Values map[string]*string `json:"values,omitempty" tf:"values,omitempty"` } type ClusterAppObservation struct { @@ -53,7 +53,7 @@ type ClusterAppParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Multi cluster app answers // +kubebuilder:validation:Optional @@ -65,7 +65,7 @@ type ClusterAppParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Multi cluster app members // +kubebuilder:validation:Optional @@ -73,7 +73,7 @@ type ClusterAppParameters struct { // Multi cluster app revision history limit // +kubebuilder:validation:Optional - RevisionHistoryLimit *int64 `json:"revisionHistoryLimit,omitempty" tf:"revision_history_limit,omitempty"` + RevisionHistoryLimit *float64 `json:"revisionHistoryLimit,omitempty" tf:"revision_history_limit,omitempty"` // Multi cluster app revision name // +kubebuilder:validation:Optional @@ -129,11 +129,11 @@ type RollingUpdateParameters struct { // Rolling update batch size // +kubebuilder:validation:Optional - BatchSize *int64 `json:"batchSize,omitempty" tf:"batch_size,omitempty"` + BatchSize *float64 `json:"batchSize,omitempty" tf:"batch_size,omitempty"` // Rolling update interval // +kubebuilder:validation:Optional - Interval *int64 `json:"interval,omitempty" tf:"interval,omitempty"` + Interval *float64 `json:"interval,omitempty" tf:"interval,omitempty"` } type TargetsObservation struct { diff --git a/apis/multi/v1alpha1/zz_generated.deepcopy.go b/apis/multi/v1alpha1/zz_generated.deepcopy.go index b40718d..f616c8f 100644 --- a/apis/multi/v1alpha1/zz_generated.deepcopy.go +++ b/apis/multi/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -54,9 +55,17 @@ func (in *AnswersParameters) DeepCopyInto(out *AnswersParameters) { } if in.Values != nil { in, out := &in.Values, &out.Values - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -160,9 +169,17 @@ func (in *ClusterAppParameters) DeepCopyInto(out *ClusterAppParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Answers != nil { @@ -179,9 +196,17 @@ func (in *ClusterAppParameters) DeepCopyInto(out *ClusterAppParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Members != nil { @@ -193,7 +218,7 @@ func (in *ClusterAppParameters) DeepCopyInto(out *ClusterAppParameters) { } if in.RevisionHistoryLimit != nil { in, out := &in.RevisionHistoryLimit, &out.RevisionHistoryLimit - *out = new(int64) + *out = new(float64) **out = **in } if in.RevisionID != nil { @@ -352,12 +377,12 @@ func (in *RollingUpdateParameters) DeepCopyInto(out *RollingUpdateParameters) { *out = *in if in.BatchSize != nil { in, out := &in.BatchSize, &out.BatchSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Interval != nil { in, out := &in.Interval, &out.Interval - *out = new(int64) + *out = new(float64) **out = **in } } diff --git a/apis/multi/v1alpha1/zz_generated.managed.go b/apis/multi/v1alpha1/zz_generated.managed.go index 4a80fdc..b5c4e01 100644 --- a/apis/multi/v1alpha1/zz_generated.managed.go +++ b/apis/multi/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *ClusterApp) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ClusterApp. +func (mg *ClusterApp) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ClusterApp. func (mg *ClusterApp) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *ClusterApp) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ClusterApp. +func (mg *ClusterApp) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ClusterApp. func (mg *ClusterApp) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/multi/v1alpha1/zz_clusterapp_terraformed.go b/apis/multi/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/multi/v1alpha1/zz_clusterapp_terraformed.go rename to apis/multi/v1alpha1/zz_generated_terraformed.go diff --git a/apis/node/v1alpha1/zz_driver_terraformed.go b/apis/node/v1alpha1/zz_driver_terraformed.go deleted file mode 100755 index 7a62705..0000000 --- a/apis/node/v1alpha1/zz_driver_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Driver -func (mg *Driver) GetTerraformResourceType() string { - return "rancher2_node_driver" -} - -// GetConnectionDetailsMapping for this Driver -func (tr *Driver) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Driver -func (tr *Driver) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Driver -func (tr *Driver) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Driver -func (tr *Driver) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Driver -func (tr *Driver) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Driver -func (tr *Driver) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Driver using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Driver) LateInitialize(attrs []byte) (bool, error) { - params := &DriverParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Driver) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/node/v1alpha1/zz_driver_types.go b/apis/node/v1alpha1/zz_driver_types.go index f7c390c..a4ac336 100755 --- a/apis/node/v1alpha1/zz_driver_types.go +++ b/apis/node/v1alpha1/zz_driver_types.go @@ -36,7 +36,7 @@ type DriverParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required Builtin *bool `json:"builtin" tf:"builtin,omitempty"` @@ -52,7 +52,7 @@ type DriverParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional UIURL *string `json:"uiUrl,omitempty" tf:"ui_url,omitempty"` diff --git a/apis/node/v1alpha1/zz_generated.deepcopy.go b/apis/node/v1alpha1/zz_generated.deepcopy.go index e31b4bc..4221a16 100644 --- a/apis/node/v1alpha1/zz_generated.deepcopy.go +++ b/apis/node/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -597,9 +598,17 @@ func (in *DriverParameters) DeepCopyInto(out *DriverParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Builtin != nil { @@ -624,9 +633,17 @@ func (in *DriverParameters) DeepCopyInto(out *DriverParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.UIURL != nil { @@ -696,6 +713,96 @@ func (in *DriverStatus) DeepCopy() *DriverStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterConfigObservation) DeepCopyInto(out *HarvesterConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterConfigObservation. +func (in *HarvesterConfigObservation) DeepCopy() *HarvesterConfigObservation { + if in == nil { + return nil + } + out := new(HarvesterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HarvesterConfigParameters) DeepCopyInto(out *HarvesterConfigParameters) { + *out = *in + if in.CPUCount != nil { + in, out := &in.CPUCount, &out.CPUCount + *out = new(string) + **out = **in + } + if in.DiskBus != nil { + in, out := &in.DiskBus, &out.DiskBus + *out = new(string) + **out = **in + } + if in.DiskSize != nil { + in, out := &in.DiskSize, &out.DiskSize + *out = new(string) + **out = **in + } + if in.ImageName != nil { + in, out := &in.ImageName, &out.ImageName + *out = new(string) + **out = **in + } + if in.MemorySize != nil { + in, out := &in.MemorySize, &out.MemorySize + *out = new(string) + **out = **in + } + if in.NetworkData != nil { + in, out := &in.NetworkData, &out.NetworkData + *out = new(string) + **out = **in + } + if in.NetworkModel != nil { + in, out := &in.NetworkModel, &out.NetworkModel + *out = new(string) + **out = **in + } + if in.NetworkName != nil { + in, out := &in.NetworkName, &out.NetworkName + *out = new(string) + **out = **in + } + if in.SSHPasswordSecretRef != nil { + in, out := &in.SSHPasswordSecretRef, &out.SSHPasswordSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.SSHUser != nil { + in, out := &in.SSHUser, &out.SSHUser + *out = new(string) + **out = **in + } + if in.UserData != nil { + in, out := &in.UserData, &out.UserData + *out = new(string) + **out = **in + } + if in.VMNamespace != nil { + in, out := &in.VMNamespace, &out.VMNamespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterConfigParameters. +func (in *HarvesterConfigParameters) DeepCopy() *HarvesterConfigParameters { + if in == nil { + return nil + } + out := new(HarvesterConfigParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HetznerConfigObservation) DeepCopyInto(out *HetznerConfigObservation) { *out = *in @@ -725,6 +832,21 @@ func (in *HetznerConfigParameters) DeepCopyInto(out *HetznerConfigParameters) { *out = new(string) **out = **in } + if in.ServerLabels != nil { + in, out := &in.ServerLabels, &out.ServerLabels + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.ServerLocation != nil { in, out := &in.ServerLocation, &out.ServerLocation *out = new(string) @@ -1347,9 +1469,17 @@ func (in *PoolParameters) DeepCopyInto(out *PoolParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -1364,7 +1494,7 @@ func (in *PoolParameters) DeepCopyInto(out *PoolParameters) { } if in.DeleteNotReadyAfterSecs != nil { in, out := &in.DeleteNotReadyAfterSecs, &out.DeleteNotReadyAfterSecs - *out = new(int64) + *out = new(float64) **out = **in } if in.DrainBeforeDelete != nil { @@ -1384,9 +1514,17 @@ func (in *PoolParameters) DeepCopyInto(out *PoolParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NodeTaints != nil { @@ -1403,7 +1541,7 @@ func (in *PoolParameters) DeepCopyInto(out *PoolParameters) { } if in.Quantity != nil { in, out := &in.Quantity, &out.Quantity - *out = new(int64) + *out = new(float64) **out = **in } if in.Worker != nil { @@ -1603,9 +1741,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.AuthCertificateAuthoritySecretRef != nil { @@ -1649,9 +1795,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.EngineEnv != nil { in, out := &in.EngineEnv, &out.EngineEnv - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.EngineInsecureRegistry != nil { @@ -1672,16 +1826,32 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.EngineLabel != nil { in, out := &in.EngineLabel, &out.EngineLabel - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.EngineOpt != nil { in, out := &in.EngineOpt, &out.EngineOpt - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.EngineRegistryMirror != nil { @@ -1700,6 +1870,13 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { *out = new(string) **out = **in } + if in.HarvesterConfig != nil { + in, out := &in.HarvesterConfig, &out.HarvesterConfig + *out = make([]HarvesterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.HetznerConfig != nil { in, out := &in.HetznerConfig, &out.HetznerConfig *out = make([]HetznerConfigParameters, len(*in)) @@ -1709,9 +1886,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LinodeConfig != nil { diff --git a/apis/node/v1alpha1/zz_generated.managed.go b/apis/node/v1alpha1/zz_generated.managed.go index 1442368..2a7f655 100644 --- a/apis/node/v1alpha1/zz_generated.managed.go +++ b/apis/node/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *Driver) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Driver. +func (mg *Driver) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Driver. func (mg *Driver) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *Driver) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Driver. +func (mg *Driver) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Driver. func (mg *Driver) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *Pool) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Pool. +func (mg *Pool) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Pool. func (mg *Pool) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *Pool) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Pool. +func (mg *Pool) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Pool. func (mg *Pool) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *Template) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Template. +func (mg *Template) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Template. func (mg *Template) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *Template) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Template. +func (mg *Template) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Template. func (mg *Template) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/node/v1alpha1/zz_generated_terraformed.go b/apis/node/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..227a58c --- /dev/null +++ b/apis/node/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,248 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Driver +func (mg *Driver) GetTerraformResourceType() string { + return "rancher2_node_driver" +} + +// GetConnectionDetailsMapping for this Driver +func (tr *Driver) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Driver +func (tr *Driver) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Driver +func (tr *Driver) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Driver +func (tr *Driver) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Driver +func (tr *Driver) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Driver +func (tr *Driver) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Driver using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Driver) LateInitialize(attrs []byte) (bool, error) { + params := &DriverParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Driver) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Pool +func (mg *Pool) GetTerraformResourceType() string { + return "rancher2_node_pool" +} + +// GetConnectionDetailsMapping for this Pool +func (tr *Pool) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Pool +func (tr *Pool) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Pool +func (tr *Pool) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Pool +func (tr *Pool) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Pool +func (tr *Pool) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Pool +func (tr *Pool) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Pool using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Pool) LateInitialize(attrs []byte) (bool, error) { + params := &PoolParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Pool) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Template +func (mg *Template) GetTerraformResourceType() string { + return "rancher2_node_template" +} + +// GetConnectionDetailsMapping for this Template +func (tr *Template) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"amazonec2_config[*].access_key": "spec.forProvider.amazonec2Config[*].accessKeySecretRef", "amazonec2_config[*].secret_key": "spec.forProvider.amazonec2Config[*].secretKeySecretRef", "amazonec2_config[*].session_token": "spec.forProvider.amazonec2Config[*].sessionTokenSecretRef", "auth_certificate_authority": "spec.forProvider.authCertificateAuthoritySecretRef", "auth_key": "spec.forProvider.authKeySecretRef", "azure_config[*].client_id": "spec.forProvider.azureConfig[*].clientIdSecretRef", "azure_config[*].client_secret": "spec.forProvider.azureConfig[*].clientSecretSecretRef", "azure_config[*].subscription_id": "spec.forProvider.azureConfig[*].subscriptionIdSecretRef", "digitalocean_config[*].access_token": "spec.forProvider.digitaloceanConfig[*].accessTokenSecretRef", "digitalocean_config[*].ssh_key_fingerprint": "spec.forProvider.digitaloceanConfig[*].sshKeyFingerprintSecretRef", "harvester_config[*].ssh_password": "spec.forProvider.harvesterConfig[*].sshPasswordSecretRef", "hetzner_config[*].api_token": "spec.forProvider.hetznerConfig[*].apiTokenSecretRef", "linode_config[*].root_pass": "spec.forProvider.linodeConfig[*].rootPassSecretRef", "linode_config[*].token": "spec.forProvider.linodeConfig[*].tokenSecretRef", "opennebula_config[*].password": "spec.forProvider.opennebulaConfig[*].passwordSecretRef", "openstack_config[*].application_credential_secret": "spec.forProvider.openstackConfig[*].applicationCredentialSecretSecretRef", "openstack_config[*].password": "spec.forProvider.openstackConfig[*].passwordSecretRef", "openstack_config[*].private_key_file": "spec.forProvider.openstackConfig[*].privateKeyFileSecretRef", "vsphere_config[*].password": "spec.forProvider.vsphereConfig[*].passwordSecretRef", "vsphere_config[*].ssh_password": "spec.forProvider.vsphereConfig[*].sshPasswordSecretRef"} +} + +// GetObservation of this Template +func (tr *Template) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Template +func (tr *Template) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Template +func (tr *Template) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Template +func (tr *Template) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Template +func (tr *Template) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Template using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Template) LateInitialize(attrs []byte) (bool, error) { + params := &TemplateParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Template) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/node/v1alpha1/zz_pool_terraformed.go b/apis/node/v1alpha1/zz_pool_terraformed.go deleted file mode 100755 index bbdf102..0000000 --- a/apis/node/v1alpha1/zz_pool_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Pool -func (mg *Pool) GetTerraformResourceType() string { - return "rancher2_node_pool" -} - -// GetConnectionDetailsMapping for this Pool -func (tr *Pool) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Pool -func (tr *Pool) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Pool -func (tr *Pool) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Pool -func (tr *Pool) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Pool -func (tr *Pool) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Pool -func (tr *Pool) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Pool using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Pool) LateInitialize(attrs []byte) (bool, error) { - params := &PoolParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Pool) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/node/v1alpha1/zz_pool_types.go b/apis/node/v1alpha1/zz_pool_types.go index ff36293..097683c 100755 --- a/apis/node/v1alpha1/zz_pool_types.go +++ b/apis/node/v1alpha1/zz_pool_types.go @@ -51,7 +51,7 @@ type PoolParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` @@ -60,7 +60,7 @@ type PoolParameters struct { ControlPlane *bool `json:"controlPlane,omitempty" tf:"control_plane,omitempty"` // +kubebuilder:validation:Optional - DeleteNotReadyAfterSecs *int64 `json:"deleteNotReadyAfterSecs,omitempty" tf:"delete_not_ready_after_secs,omitempty"` + DeleteNotReadyAfterSecs *float64 `json:"deleteNotReadyAfterSecs,omitempty" tf:"delete_not_ready_after_secs,omitempty"` // +kubebuilder:validation:Optional DrainBeforeDelete *bool `json:"drainBeforeDelete,omitempty" tf:"drain_before_delete,omitempty"` @@ -73,7 +73,7 @@ type PoolParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NodeTaints []NodeTaintsParameters `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"` @@ -82,7 +82,7 @@ type PoolParameters struct { NodeTemplateID *string `json:"nodeTemplateId" tf:"node_template_id,omitempty"` // +kubebuilder:validation:Optional - Quantity *int64 `json:"quantity,omitempty" tf:"quantity,omitempty"` + Quantity *float64 `json:"quantity,omitempty" tf:"quantity,omitempty"` // +kubebuilder:validation:Optional Worker *bool `json:"worker,omitempty" tf:"worker,omitempty"` diff --git a/apis/node/v1alpha1/zz_template_terraformed.go b/apis/node/v1alpha1/zz_template_terraformed.go deleted file mode 100755 index d7d8ba5..0000000 --- a/apis/node/v1alpha1/zz_template_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Template -func (mg *Template) GetTerraformResourceType() string { - return "rancher2_node_template" -} - -// GetConnectionDetailsMapping for this Template -func (tr *Template) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"amazonec2_config[*].access_key": "spec.forProvider.amazonec2Config[*].accessKeySecretRef", "amazonec2_config[*].secret_key": "spec.forProvider.amazonec2Config[*].secretKeySecretRef", "amazonec2_config[*].session_token": "spec.forProvider.amazonec2Config[*].sessionTokenSecretRef", "auth_certificate_authority": "spec.forProvider.authCertificateAuthoritySecretRef", "auth_key": "spec.forProvider.authKeySecretRef", "azure_config[*].client_id": "spec.forProvider.azureConfig[*].clientIDSecretRef", "azure_config[*].client_secret": "spec.forProvider.azureConfig[*].clientSecretSecretRef", "azure_config[*].subscription_id": "spec.forProvider.azureConfig[*].subscriptionIDSecretRef", "digitalocean_config[*].access_token": "spec.forProvider.digitaloceanConfig[*].accessTokenSecretRef", "digitalocean_config[*].ssh_key_fingerprint": "spec.forProvider.digitaloceanConfig[*].sshKeyFingerprintSecretRef", "hetzner_config[*].api_token": "spec.forProvider.hetznerConfig[*].apiTokenSecretRef", "linode_config[*].root_pass": "spec.forProvider.linodeConfig[*].rootPassSecretRef", "linode_config[*].token": "spec.forProvider.linodeConfig[*].tokenSecretRef", "opennebula_config[*].password": "spec.forProvider.opennebulaConfig[*].passwordSecretRef", "openstack_config[*].application_credential_secret": "spec.forProvider.openstackConfig[*].applicationCredentialSecretSecretRef", "openstack_config[*].password": "spec.forProvider.openstackConfig[*].passwordSecretRef", "openstack_config[*].private_key_file": "spec.forProvider.openstackConfig[*].privateKeyFileSecretRef", "vsphere_config[*].password": "spec.forProvider.vsphereConfig[*].passwordSecretRef", "vsphere_config[*].ssh_password": "spec.forProvider.vsphereConfig[*].sshPasswordSecretRef"} -} - -// GetObservation of this Template -func (tr *Template) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Template -func (tr *Template) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Template -func (tr *Template) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Template -func (tr *Template) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Template -func (tr *Template) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Template using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Template) LateInitialize(attrs []byte) (bool, error) { - params := &TemplateParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Template) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/node/v1alpha1/zz_template_types.go b/apis/node/v1alpha1/zz_template_types.go index e262753..59bb598 100755 --- a/apis/node/v1alpha1/zz_template_types.go +++ b/apis/node/v1alpha1/zz_template_types.go @@ -343,6 +343,60 @@ type DigitaloceanConfigParameters struct { Userdata *string `json:"userdata,omitempty" tf:"userdata,omitempty"` } +type HarvesterConfigObservation struct { +} + +type HarvesterConfigParameters struct { + + // CPU count + // +kubebuilder:validation:Optional + CPUCount *string `json:"cpuCount,omitempty" tf:"cpu_count,omitempty"` + + // Disk bus + // +kubebuilder:validation:Optional + DiskBus *string `json:"diskBus,omitempty" tf:"disk_bus,omitempty"` + + // Disk size (in GiB) + // +kubebuilder:validation:Optional + DiskSize *string `json:"diskSize,omitempty" tf:"disk_size,omitempty"` + + // Image name + // +kubebuilder:validation:Required + ImageName *string `json:"imageName" tf:"image_name,omitempty"` + + // Memory size (in GiB) + // +kubebuilder:validation:Optional + MemorySize *string `json:"memorySize,omitempty" tf:"memory_size,omitempty"` + + // NetworkData content of cloud-init, base64 is supported + // +kubebuilder:validation:Optional + NetworkData *string `json:"networkData,omitempty" tf:"network_data,omitempty"` + + // Network model + // +kubebuilder:validation:Optional + NetworkModel *string `json:"networkModel,omitempty" tf:"network_model,omitempty"` + + // Network name + // +kubebuilder:validation:Required + NetworkName *string `json:"networkName" tf:"network_name,omitempty"` + + // SSH password + // +kubebuilder:validation:Optional + SSHPasswordSecretRef *v1.SecretKeySelector `json:"sshPasswordSecretRef,omitempty" tf:"-"` + + // SSH username + // +kubebuilder:validation:Required + SSHUser *string `json:"sshUser" tf:"ssh_user,omitempty"` + + // UserData content of cloud-init, base64 is supported + // +kubebuilder:validation:Optional + UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"` + + // Virtual machine namespace + // +kubebuilder:validation:Required + VMNamespace *string `json:"vmNamespace" tf:"vm_namespace,omitempty"` +} + type HetznerConfigObservation struct { } @@ -360,6 +414,10 @@ type HetznerConfigParameters struct { // +kubebuilder:validation:Optional Networks *string `json:"networks,omitempty" tf:"networks,omitempty"` + // Map of the labels which will be assigned to the server + // +kubebuilder:validation:Optional + ServerLabels map[string]*string `json:"serverLabels,omitempty" tf:"server_labels,omitempty"` + // Hetzner Cloud datacenter // +kubebuilder:validation:Optional ServerLocation *string `json:"serverLocation,omitempty" tf:"server_location,omitempty"` @@ -665,7 +723,7 @@ type TemplateParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional AuthCertificateAuthoritySecretRef *v1.SecretKeySelector `json:"authCertificateAuthoritySecretRef,omitempty" tf:"-"` @@ -689,7 +747,7 @@ type TemplateParameters struct { DriverID *string `json:"driverId,omitempty" tf:"driver_id,omitempty"` // +kubebuilder:validation:Optional - EngineEnv map[string]string `json:"engineEnv,omitempty" tf:"engine_env,omitempty"` + EngineEnv map[string]*string `json:"engineEnv,omitempty" tf:"engine_env,omitempty"` // +kubebuilder:validation:Optional EngineInsecureRegistry []*string `json:"engineInsecureRegistry,omitempty" tf:"engine_insecure_registry,omitempty"` @@ -698,10 +756,10 @@ type TemplateParameters struct { EngineInstallURL *string `json:"engineInstallUrl,omitempty" tf:"engine_install_url,omitempty"` // +kubebuilder:validation:Optional - EngineLabel map[string]string `json:"engineLabel,omitempty" tf:"engine_label,omitempty"` + EngineLabel map[string]*string `json:"engineLabel,omitempty" tf:"engine_label,omitempty"` // +kubebuilder:validation:Optional - EngineOpt map[string]string `json:"engineOpt,omitempty" tf:"engine_opt,omitempty"` + EngineOpt map[string]*string `json:"engineOpt,omitempty" tf:"engine_opt,omitempty"` // +kubebuilder:validation:Optional EngineRegistryMirror []*string `json:"engineRegistryMirror,omitempty" tf:"engine_registry_mirror,omitempty"` @@ -709,12 +767,15 @@ type TemplateParameters struct { // +kubebuilder:validation:Optional EngineStorageDriver *string `json:"engineStorageDriver,omitempty" tf:"engine_storage_driver,omitempty"` + // +kubebuilder:validation:Optional + HarvesterConfig []HarvesterConfigParameters `json:"harvesterConfig,omitempty" tf:"harvester_config,omitempty"` + // +kubebuilder:validation:Optional HetznerConfig []HetznerConfigParameters `json:"hetznerConfig,omitempty" tf:"hetzner_config,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional LinodeConfig []LinodeConfigParameters `json:"linodeConfig,omitempty" tf:"linode_config,omitempty"` diff --git a/apis/pod/v1alpha1/zz_generated.deepcopy.go b/apis/pod/v1alpha1/zz_generated.deepcopy.go index 44ba2e5..eebef2c 100644 --- a/apis/pod/v1alpha1/zz_generated.deepcopy.go +++ b/apis/pod/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -196,12 +197,12 @@ func (in *HostPortParameters) DeepCopyInto(out *HostPortParameters) { *out = *in if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } } @@ -236,12 +237,12 @@ func (in *RangeParameters) DeepCopyInto(out *RangeParameters) { *out = *in if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } } @@ -318,12 +319,12 @@ func (in *RunAsGroupRangeParameters) DeepCopyInto(out *RunAsGroupRangeParameters *out = *in if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } } @@ -400,12 +401,12 @@ func (in *RunAsUserRangeParameters) DeepCopyInto(out *RunAsUserRangeParameters) *out = *in if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } } @@ -701,9 +702,17 @@ func (in *SecurityPolicyTemplateParameters) DeepCopyInto(out *SecurityPolicyTemp } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.DefaultAddCapabilities != nil { @@ -769,9 +778,17 @@ func (in *SecurityPolicyTemplateParameters) DeepCopyInto(out *SecurityPolicyTemp } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Privileged != nil { @@ -949,12 +966,12 @@ func (in *SupplementalGroupRangeParameters) DeepCopyInto(out *SupplementalGroupR *out = *in if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } } diff --git a/apis/pod/v1alpha1/zz_generated.managed.go b/apis/pod/v1alpha1/zz_generated.managed.go index 6e68e4b..206b204 100644 --- a/apis/pod/v1alpha1/zz_generated.managed.go +++ b/apis/pod/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *SecurityPolicyTemplate) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this SecurityPolicyTemplate. +func (mg *SecurityPolicyTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this SecurityPolicyTemplate. func (mg *SecurityPolicyTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *SecurityPolicyTemplate) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this SecurityPolicyTemplate. +func (mg *SecurityPolicyTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this SecurityPolicyTemplate. func (mg *SecurityPolicyTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/pod/v1alpha1/zz_securitypolicytemplate_terraformed.go b/apis/pod/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/pod/v1alpha1/zz_securitypolicytemplate_terraformed.go rename to apis/pod/v1alpha1/zz_generated_terraformed.go diff --git a/apis/pod/v1alpha1/zz_securitypolicytemplate_types.go b/apis/pod/v1alpha1/zz_securitypolicytemplate_types.go index 2b32933..a2fe6b5 100755 --- a/apis/pod/v1alpha1/zz_securitypolicytemplate_types.go +++ b/apis/pod/v1alpha1/zz_securitypolicytemplate_types.go @@ -80,11 +80,11 @@ type HostPortParameters struct { // max is the end of the range, inclusive. // +kubebuilder:validation:Required - Max *int64 `json:"max" tf:"max,omitempty"` + Max *float64 `json:"max" tf:"max,omitempty"` // min is the start of the range, inclusive. // +kubebuilder:validation:Required - Min *int64 `json:"min" tf:"min,omitempty"` + Min *float64 `json:"min" tf:"min,omitempty"` } type RangeObservation struct { @@ -94,11 +94,11 @@ type RangeParameters struct { // max is the end of the range, inclusive. // +kubebuilder:validation:Required - Max *int64 `json:"max" tf:"max,omitempty"` + Max *float64 `json:"max" tf:"max,omitempty"` // min is the start of the range, inclusive. // +kubebuilder:validation:Required - Min *int64 `json:"min" tf:"min,omitempty"` + Min *float64 `json:"min" tf:"min,omitempty"` } type RunAsGroupObservation struct { @@ -122,11 +122,11 @@ type RunAsGroupRangeParameters struct { // max is the end of the range, inclusive. // +kubebuilder:validation:Required - Max *int64 `json:"max" tf:"max,omitempty"` + Max *float64 `json:"max" tf:"max,omitempty"` // min is the start of the range, inclusive. // +kubebuilder:validation:Required - Min *int64 `json:"min" tf:"min,omitempty"` + Min *float64 `json:"min" tf:"min,omitempty"` } type RunAsUserObservation struct { @@ -150,11 +150,11 @@ type RunAsUserRangeParameters struct { // max is the end of the range, inclusive. // +kubebuilder:validation:Required - Max *int64 `json:"max" tf:"max,omitempty"` + Max *float64 `json:"max" tf:"max,omitempty"` // min is the start of the range, inclusive. // +kubebuilder:validation:Required - Min *int64 `json:"min" tf:"min,omitempty"` + Min *float64 `json:"min" tf:"min,omitempty"` } type RuntimeClassObservation struct { @@ -243,7 +243,7 @@ type SecurityPolicyTemplateParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list. // +kubebuilder:validation:Optional @@ -283,7 +283,7 @@ type SecurityPolicyTemplateParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // privileged determines if a pod can request to be run as privileged. // +kubebuilder:validation:Optional @@ -343,11 +343,11 @@ type SupplementalGroupRangeParameters struct { // max is the end of the range, inclusive. // +kubebuilder:validation:Required - Max *int64 `json:"max" tf:"max,omitempty"` + Max *float64 `json:"max" tf:"max,omitempty"` // min is the start of the range, inclusive. // +kubebuilder:validation:Required - Min *int64 `json:"min" tf:"min,omitempty"` + Min *float64 `json:"min" tf:"min,omitempty"` } // SecurityPolicyTemplateSpec defines the desired state of SecurityPolicyTemplate diff --git a/apis/project/v1alpha1/zz_alertgroup_terraformed.go b/apis/project/v1alpha1/zz_alertgroup_terraformed.go deleted file mode 100755 index 9cb86c9..0000000 --- a/apis/project/v1alpha1/zz_alertgroup_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this AlertGroup -func (mg *AlertGroup) GetTerraformResourceType() string { - return "rancher2_project_alert_group" -} - -// GetConnectionDetailsMapping for this AlertGroup -func (tr *AlertGroup) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this AlertGroup -func (tr *AlertGroup) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this AlertGroup -func (tr *AlertGroup) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this AlertGroup -func (tr *AlertGroup) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this AlertGroup -func (tr *AlertGroup) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this AlertGroup -func (tr *AlertGroup) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this AlertGroup using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *AlertGroup) LateInitialize(attrs []byte) (bool, error) { - params := &AlertGroupParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *AlertGroup) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/project/v1alpha1/zz_alertgroup_types.go b/apis/project/v1alpha1/zz_alertgroup_types.go index 96f38ec..0ccc7f9 100755 --- a/apis/project/v1alpha1/zz_alertgroup_types.go +++ b/apis/project/v1alpha1/zz_alertgroup_types.go @@ -33,7 +33,7 @@ type AlertGroupParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Alert group description // +kubebuilder:validation:Optional @@ -41,15 +41,15 @@ type AlertGroupParameters struct { // Alert group interval seconds // +kubebuilder:validation:Optional - GroupIntervalSeconds *int64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` + GroupIntervalSeconds *float64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` // Alert group wait seconds // +kubebuilder:validation:Optional - GroupWaitSeconds *int64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` + GroupWaitSeconds *float64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Alert group Project ID // +kubebuilder:validation:Required @@ -61,7 +61,7 @@ type AlertGroupParameters struct { // Alert group repeat interval seconds // +kubebuilder:validation:Optional - RepeatIntervalSeconds *int64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` + RepeatIntervalSeconds *float64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` } type RecipientsObservation struct { diff --git a/apis/project/v1alpha1/zz_alertrule_terraformed.go b/apis/project/v1alpha1/zz_alertrule_terraformed.go deleted file mode 100755 index 7b2f338..0000000 --- a/apis/project/v1alpha1/zz_alertrule_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this AlertRule -func (mg *AlertRule) GetTerraformResourceType() string { - return "rancher2_project_alert_rule" -} - -// GetConnectionDetailsMapping for this AlertRule -func (tr *AlertRule) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this AlertRule -func (tr *AlertRule) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this AlertRule -func (tr *AlertRule) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this AlertRule -func (tr *AlertRule) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this AlertRule -func (tr *AlertRule) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this AlertRule -func (tr *AlertRule) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this AlertRule using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *AlertRule) LateInitialize(attrs []byte) (bool, error) { - params := &AlertRuleParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *AlertRule) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/project/v1alpha1/zz_alertrule_types.go b/apis/project/v1alpha1/zz_alertrule_types.go index 3e6b19f..6338097 100755 --- a/apis/project/v1alpha1/zz_alertrule_types.go +++ b/apis/project/v1alpha1/zz_alertrule_types.go @@ -33,7 +33,7 @@ type AlertRuleParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Alert rule group ID // +kubebuilder:validation:Required @@ -41,11 +41,11 @@ type AlertRuleParameters struct { // Alert rule interval seconds // +kubebuilder:validation:Optional - GroupIntervalSeconds *int64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` + GroupIntervalSeconds *float64 `json:"groupIntervalSeconds,omitempty" tf:"group_interval_seconds,omitempty"` // Alert rule wait seconds // +kubebuilder:validation:Optional - GroupWaitSeconds *int64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` + GroupWaitSeconds *float64 `json:"groupWaitSeconds,omitempty" tf:"group_wait_seconds,omitempty"` // Alert rule inherited // +kubebuilder:validation:Optional @@ -53,7 +53,7 @@ type AlertRuleParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Alert metric rule // +kubebuilder:validation:Optional @@ -69,7 +69,7 @@ type AlertRuleParameters struct { // Alert rule repeat interval seconds // +kubebuilder:validation:Optional - RepeatIntervalSeconds *int64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` + RepeatIntervalSeconds *float64 `json:"repeatIntervalSeconds,omitempty" tf:"repeat_interval_seconds,omitempty"` // Alert rule severity // +kubebuilder:validation:Optional @@ -121,11 +121,11 @@ type PodRuleParameters struct { // Pod rule restart interval seconds // +kubebuilder:validation:Optional - RestartIntervalSeconds *int64 `json:"restartIntervalSeconds,omitempty" tf:"restart_interval_seconds,omitempty"` + RestartIntervalSeconds *float64 `json:"restartIntervalSeconds,omitempty" tf:"restart_interval_seconds,omitempty"` // Pod rule restart times // +kubebuilder:validation:Optional - RestartTimes *int64 `json:"restartTimes,omitempty" tf:"restart_times,omitempty"` + RestartTimes *float64 `json:"restartTimes,omitempty" tf:"restart_times,omitempty"` } type WorkloadRuleObservation struct { @@ -135,11 +135,11 @@ type WorkloadRuleParameters struct { // Workload rule available percentage // +kubebuilder:validation:Optional - AvailablePercentage *int64 `json:"availablePercentage,omitempty" tf:"available_percentage,omitempty"` + AvailablePercentage *float64 `json:"availablePercentage,omitempty" tf:"available_percentage,omitempty"` // Workload rule selector // +kubebuilder:validation:Optional - Selector map[string]string `json:"selector,omitempty" tf:"selector,omitempty"` + Selector map[string]*string `json:"selector,omitempty" tf:"selector,omitempty"` // Workload ID // +kubebuilder:validation:Optional diff --git a/apis/project/v1alpha1/zz_generated.deepcopy.go b/apis/project/v1alpha1/zz_generated.deepcopy.go index fae4f14..7e8e9b3 100644 --- a/apis/project/v1alpha1/zz_generated.deepcopy.go +++ b/apis/project/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -109,9 +110,17 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Description != nil { @@ -121,19 +130,27 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { } if in.GroupIntervalSeconds != nil { in, out := &in.GroupIntervalSeconds, &out.GroupIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.GroupWaitSeconds != nil { in, out := &in.GroupWaitSeconds, &out.GroupWaitSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ProjectID != nil { @@ -150,7 +167,7 @@ func (in *AlertGroupParameters) DeepCopyInto(out *AlertGroupParameters) { } if in.RepeatIntervalSeconds != nil { in, out := &in.RepeatIntervalSeconds, &out.RepeatIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } } @@ -283,9 +300,17 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.GroupID != nil { @@ -295,12 +320,12 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.GroupIntervalSeconds != nil { in, out := &in.GroupIntervalSeconds, &out.GroupIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.GroupWaitSeconds != nil { in, out := &in.GroupWaitSeconds, &out.GroupWaitSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Inherited != nil { @@ -310,9 +335,17 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MetricRule != nil { @@ -336,7 +369,7 @@ func (in *AlertRuleParameters) DeepCopyInto(out *AlertRuleParameters) { } if in.RepeatIntervalSeconds != nil { in, out := &in.RepeatIntervalSeconds, &out.RepeatIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Severity != nil { @@ -582,7 +615,7 @@ func (in *FluentServersParameters) DeepCopyInto(out *FluentServersParameters) { } if in.Weight != nil { in, out := &in.Weight, &out.Weight - *out = new(int64) + *out = new(float64) **out = **in } } @@ -799,9 +832,17 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CustomTargetConfig != nil { @@ -844,9 +885,17 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NamespaceID != nil { @@ -856,14 +905,22 @@ func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { } if in.OutputFlushInterval != nil { in, out := &in.OutputFlushInterval, &out.OutputFlushInterval - *out = new(int64) + *out = new(float64) **out = **in } if in.OutputTags != nil { in, out := &in.OutputTags, &out.OutputTags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ProjectID != nil { @@ -1016,12 +1073,12 @@ func (in *PodRuleParameters) DeepCopyInto(out *PodRuleParameters) { } if in.RestartIntervalSeconds != nil { in, out := &in.RestartIntervalSeconds, &out.RestartIntervalSeconds - *out = new(int64) + *out = new(float64) **out = **in } if in.RestartTimes != nil { in, out := &in.RestartTimes, &out.RestartTimes - *out = new(int64) + *out = new(float64) **out = **in } } @@ -1170,9 +1227,17 @@ func (in *RoleTemplateBindingParameters) DeepCopyInto(out *RoleTemplateBindingPa *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.GroupID != nil { @@ -1187,9 +1252,17 @@ func (in *RoleTemplateBindingParameters) DeepCopyInto(out *RoleTemplateBindingPa } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ProjectID != nil { @@ -1429,14 +1502,22 @@ func (in *WorkloadRuleParameters) DeepCopyInto(out *WorkloadRuleParameters) { *out = *in if in.AvailablePercentage != nil { in, out := &in.AvailablePercentage, &out.AvailablePercentage - *out = new(int64) + *out = new(float64) **out = **in } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.WorkloadID != nil { diff --git a/apis/project/v1alpha1/zz_generated.managed.go b/apis/project/v1alpha1/zz_generated.managed.go index dd71f96..7507385 100644 --- a/apis/project/v1alpha1/zz_generated.managed.go +++ b/apis/project/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *AlertGroup) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this AlertGroup. +func (mg *AlertGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this AlertGroup. func (mg *AlertGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *AlertGroup) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this AlertGroup. +func (mg *AlertGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this AlertGroup. func (mg *AlertGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *AlertRule) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this AlertRule. +func (mg *AlertRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this AlertRule. func (mg *AlertRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *AlertRule) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this AlertRule. +func (mg *AlertRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this AlertRule. func (mg *AlertRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *Logging) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Logging. +func (mg *Logging) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Logging. func (mg *Logging) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *Logging) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Logging. +func (mg *Logging) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Logging. func (mg *Logging) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -210,6 +240,11 @@ func (mg *RoleTemplateBinding) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this RoleTemplateBinding. +func (mg *RoleTemplateBinding) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this RoleTemplateBinding. func (mg *RoleTemplateBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -238,6 +273,11 @@ func (mg *RoleTemplateBinding) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this RoleTemplateBinding. +func (mg *RoleTemplateBinding) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this RoleTemplateBinding. func (mg *RoleTemplateBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/project/v1alpha1/zz_generated_terraformed.go b/apis/project/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..9b72044 --- /dev/null +++ b/apis/project/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,322 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AlertGroup +func (mg *AlertGroup) GetTerraformResourceType() string { + return "rancher2_project_alert_group" +} + +// GetConnectionDetailsMapping for this AlertGroup +func (tr *AlertGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AlertGroup +func (tr *AlertGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AlertGroup +func (tr *AlertGroup) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this AlertGroup +func (tr *AlertGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AlertGroup +func (tr *AlertGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AlertGroup +func (tr *AlertGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AlertGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AlertGroup) LateInitialize(attrs []byte) (bool, error) { + params := &AlertGroupParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *AlertGroup) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this AlertRule +func (mg *AlertRule) GetTerraformResourceType() string { + return "rancher2_project_alert_rule" +} + +// GetConnectionDetailsMapping for this AlertRule +func (tr *AlertRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AlertRule +func (tr *AlertRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AlertRule +func (tr *AlertRule) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this AlertRule +func (tr *AlertRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AlertRule +func (tr *AlertRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AlertRule +func (tr *AlertRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AlertRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AlertRule) LateInitialize(attrs []byte) (bool, error) { + params := &AlertRuleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *AlertRule) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Logging +func (mg *Logging) GetTerraformResourceType() string { + return "rancher2_project_logging" +} + +// GetConnectionDetailsMapping for this Logging +func (tr *Logging) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"custom_target_config[*].certificate": "spec.forProvider.customTargetConfig[*].certificateSecretRef", "custom_target_config[*].client_cert": "spec.forProvider.customTargetConfig[*].clientCertSecretRef", "custom_target_config[*].client_key": "spec.forProvider.customTargetConfig[*].clientKeySecretRef", "elasticsearch_config[*].auth_password": "spec.forProvider.elasticsearchConfig[*].authPasswordSecretRef", "elasticsearch_config[*].auth_username": "spec.forProvider.elasticsearchConfig[*].authUsernameSecretRef", "elasticsearch_config[*].certificate": "spec.forProvider.elasticsearchConfig[*].certificateSecretRef", "elasticsearch_config[*].client_cert": "spec.forProvider.elasticsearchConfig[*].clientCertSecretRef", "elasticsearch_config[*].client_key": "spec.forProvider.elasticsearchConfig[*].clientKeySecretRef", "elasticsearch_config[*].client_key_pass": "spec.forProvider.elasticsearchConfig[*].clientKeyPassSecretRef", "fluentd_config[*].certificate": "spec.forProvider.fluentdConfig[*].certificateSecretRef", "fluentd_config[*].fluent_servers[*].password": "spec.forProvider.fluentdConfig[*].fluentServers[*].passwordSecretRef", "fluentd_config[*].fluent_servers[*].shared_key": "spec.forProvider.fluentdConfig[*].fluentServers[*].sharedKeySecretRef", "fluentd_config[*].fluent_servers[*].username": "spec.forProvider.fluentdConfig[*].fluentServers[*].usernameSecretRef", "kafka_config[*].certificate": "spec.forProvider.kafkaConfig[*].certificateSecretRef", "kafka_config[*].client_cert": "spec.forProvider.kafkaConfig[*].clientCertSecretRef", "kafka_config[*].client_key": "spec.forProvider.kafkaConfig[*].clientKeySecretRef", "splunk_config[*].certificate": "spec.forProvider.splunkConfig[*].certificateSecretRef", "splunk_config[*].client_cert": "spec.forProvider.splunkConfig[*].clientCertSecretRef", "splunk_config[*].client_key": "spec.forProvider.splunkConfig[*].clientKeySecretRef", "splunk_config[*].client_key_pass": "spec.forProvider.splunkConfig[*].clientKeyPassSecretRef", "splunk_config[*].token": "spec.forProvider.splunkConfig[*].tokenSecretRef", "syslog_config[*].certificate": "spec.forProvider.syslogConfig[*].certificateSecretRef", "syslog_config[*].client_cert": "spec.forProvider.syslogConfig[*].clientCertSecretRef", "syslog_config[*].client_key": "spec.forProvider.syslogConfig[*].clientKeySecretRef", "syslog_config[*].token": "spec.forProvider.syslogConfig[*].tokenSecretRef"} +} + +// GetObservation of this Logging +func (tr *Logging) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Logging +func (tr *Logging) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Logging +func (tr *Logging) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Logging +func (tr *Logging) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Logging +func (tr *Logging) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Logging using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Logging) LateInitialize(attrs []byte) (bool, error) { + params := &LoggingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Logging) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this RoleTemplateBinding +func (mg *RoleTemplateBinding) GetTerraformResourceType() string { + return "rancher2_project_role_template_binding" +} + +// GetConnectionDetailsMapping for this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RoleTemplateBinding +func (tr *RoleTemplateBinding) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RoleTemplateBinding +func (tr *RoleTemplateBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RoleTemplateBinding +func (tr *RoleTemplateBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RoleTemplateBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RoleTemplateBinding) LateInitialize(attrs []byte) (bool, error) { + params := &RoleTemplateBindingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RoleTemplateBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/project/v1alpha1/zz_logging_terraformed.go b/apis/project/v1alpha1/zz_logging_terraformed.go deleted file mode 100755 index 8d03e6b..0000000 --- a/apis/project/v1alpha1/zz_logging_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Logging -func (mg *Logging) GetTerraformResourceType() string { - return "rancher2_project_logging" -} - -// GetConnectionDetailsMapping for this Logging -func (tr *Logging) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"custom_target_config[*].certificate": "spec.forProvider.customTargetConfig[*].certificateSecretRef", "custom_target_config[*].client_cert": "spec.forProvider.customTargetConfig[*].clientCertSecretRef", "custom_target_config[*].client_key": "spec.forProvider.customTargetConfig[*].clientKeySecretRef", "elasticsearch_config[*].auth_password": "spec.forProvider.elasticsearchConfig[*].authPasswordSecretRef", "elasticsearch_config[*].auth_username": "spec.forProvider.elasticsearchConfig[*].authUsernameSecretRef", "elasticsearch_config[*].certificate": "spec.forProvider.elasticsearchConfig[*].certificateSecretRef", "elasticsearch_config[*].client_cert": "spec.forProvider.elasticsearchConfig[*].clientCertSecretRef", "elasticsearch_config[*].client_key": "spec.forProvider.elasticsearchConfig[*].clientKeySecretRef", "elasticsearch_config[*].client_key_pass": "spec.forProvider.elasticsearchConfig[*].clientKeyPassSecretRef", "fluentd_config[*].certificate": "spec.forProvider.fluentdConfig[*].certificateSecretRef", "fluentd_config[*].fluent_servers[*].password": "spec.forProvider.fluentdConfig[*].fluentServers[*].passwordSecretRef", "fluentd_config[*].fluent_servers[*].shared_key": "spec.forProvider.fluentdConfig[*].fluentServers[*].sharedKeySecretRef", "fluentd_config[*].fluent_servers[*].username": "spec.forProvider.fluentdConfig[*].fluentServers[*].usernameSecretRef", "kafka_config[*].certificate": "spec.forProvider.kafkaConfig[*].certificateSecretRef", "kafka_config[*].client_cert": "spec.forProvider.kafkaConfig[*].clientCertSecretRef", "kafka_config[*].client_key": "spec.forProvider.kafkaConfig[*].clientKeySecretRef", "splunk_config[*].certificate": "spec.forProvider.splunkConfig[*].certificateSecretRef", "splunk_config[*].client_cert": "spec.forProvider.splunkConfig[*].clientCertSecretRef", "splunk_config[*].client_key": "spec.forProvider.splunkConfig[*].clientKeySecretRef", "splunk_config[*].client_key_pass": "spec.forProvider.splunkConfig[*].clientKeyPassSecretRef", "splunk_config[*].token": "spec.forProvider.splunkConfig[*].tokenSecretRef", "syslog_config[*].certificate": "spec.forProvider.syslogConfig[*].certificateSecretRef", "syslog_config[*].client_cert": "spec.forProvider.syslogConfig[*].clientCertSecretRef", "syslog_config[*].client_key": "spec.forProvider.syslogConfig[*].clientKeySecretRef", "syslog_config[*].token": "spec.forProvider.syslogConfig[*].tokenSecretRef"} -} - -// GetObservation of this Logging -func (tr *Logging) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Logging -func (tr *Logging) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Logging -func (tr *Logging) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Logging -func (tr *Logging) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Logging -func (tr *Logging) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Logging using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Logging) LateInitialize(attrs []byte) (bool, error) { - params := &LoggingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Logging) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/project/v1alpha1/zz_logging_types.go b/apis/project/v1alpha1/zz_logging_types.go index 022ec23..7e9cf05 100755 --- a/apis/project/v1alpha1/zz_logging_types.go +++ b/apis/project/v1alpha1/zz_logging_types.go @@ -106,7 +106,7 @@ type FluentServersParameters struct { UsernameSecretRef *v1.SecretKeySelector `json:"usernameSecretRef,omitempty" tf:"-"` // +kubebuilder:validation:Optional - Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` + Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"` } type FluentdConfigObservation struct { @@ -159,7 +159,7 @@ type LoggingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional CustomTargetConfig []CustomTargetConfigParameters `json:"customTargetConfig,omitempty" tf:"custom_target_config,omitempty"` @@ -182,16 +182,16 @@ type LoggingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NamespaceID *string `json:"namespaceId,omitempty" tf:"namespace_id,omitempty"` // +kubebuilder:validation:Optional - OutputFlushInterval *int64 `json:"outputFlushInterval,omitempty" tf:"output_flush_interval,omitempty"` + OutputFlushInterval *float64 `json:"outputFlushInterval,omitempty" tf:"output_flush_interval,omitempty"` // +kubebuilder:validation:Optional - OutputTags map[string]string `json:"outputTags,omitempty" tf:"output_tags,omitempty"` + OutputTags map[string]*string `json:"outputTags,omitempty" tf:"output_tags,omitempty"` // +kubebuilder:validation:Required ProjectID *string `json:"projectId" tf:"project_id,omitempty"` diff --git a/apis/project/v1alpha1/zz_roletemplatebinding_terraformed.go b/apis/project/v1alpha1/zz_roletemplatebinding_terraformed.go deleted file mode 100755 index 3235eed..0000000 --- a/apis/project/v1alpha1/zz_roletemplatebinding_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this RoleTemplateBinding -func (mg *RoleTemplateBinding) GetTerraformResourceType() string { - return "rancher2_project_role_template_binding" -} - -// GetConnectionDetailsMapping for this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this RoleTemplateBinding -func (tr *RoleTemplateBinding) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this RoleTemplateBinding -func (tr *RoleTemplateBinding) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this RoleTemplateBinding -func (tr *RoleTemplateBinding) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this RoleTemplateBinding using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *RoleTemplateBinding) LateInitialize(attrs []byte) (bool, error) { - params := &RoleTemplateBindingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *RoleTemplateBinding) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/project/v1alpha1/zz_roletemplatebinding_types.go b/apis/project/v1alpha1/zz_roletemplatebinding_types.go index 55e6184..20936f4 100755 --- a/apis/project/v1alpha1/zz_roletemplatebinding_types.go +++ b/apis/project/v1alpha1/zz_roletemplatebinding_types.go @@ -33,7 +33,7 @@ type RoleTemplateBindingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"` @@ -43,7 +43,7 @@ type RoleTemplateBindingParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required ProjectID *string `json:"projectId" tf:"project_id,omitempty"` diff --git a/apis/rancher2/v1alpha1/zz_app_terraformed.go b/apis/rancher2/v1alpha1/zz_app_terraformed.go deleted file mode 100755 index a95a820..0000000 --- a/apis/rancher2/v1alpha1/zz_app_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this App -func (mg *App) GetTerraformResourceType() string { - return "rancher2_app" -} - -// GetConnectionDetailsMapping for this App -func (tr *App) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this App -func (tr *App) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this App -func (tr *App) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this App -func (tr *App) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this App -func (tr *App) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this App -func (tr *App) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this App using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *App) LateInitialize(attrs []byte) (bool, error) { - params := &AppParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *App) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_app_types.go b/apis/rancher2/v1alpha1/zz_app_types.go index 8b909af..ef0c4cf 100755 --- a/apis/rancher2/v1alpha1/zz_app_types.go +++ b/apis/rancher2/v1alpha1/zz_app_types.go @@ -35,11 +35,11 @@ type AppParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Answers of the app // +kubebuilder:validation:Optional - Answers map[string]string `json:"answers,omitempty" tf:"answers,omitempty"` + Answers map[string]*string `json:"answers,omitempty" tf:"answers,omitempty"` // Catalog name of the app // +kubebuilder:validation:Required @@ -54,7 +54,7 @@ type AppParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Project ID to add app // +kubebuilder:validation:Required diff --git a/apis/rancher2/v1alpha1/zz_bootstrap_terraformed.go b/apis/rancher2/v1alpha1/zz_bootstrap_terraformed.go deleted file mode 100755 index e2895d1..0000000 --- a/apis/rancher2/v1alpha1/zz_bootstrap_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Bootstrap -func (mg *Bootstrap) GetTerraformResourceType() string { - return "rancher2_bootstrap" -} - -// GetConnectionDetailsMapping for this Bootstrap -func (tr *Bootstrap) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"current_password": "status.atProvider.currentPassword", "initial_password": "spec.forProvider.initialPasswordSecretRef", "password": "spec.forProvider.passwordSecretRef", "temp_token": "status.atProvider.tempToken", "token": "status.atProvider.token"} -} - -// GetObservation of this Bootstrap -func (tr *Bootstrap) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Bootstrap -func (tr *Bootstrap) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Bootstrap -func (tr *Bootstrap) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Bootstrap -func (tr *Bootstrap) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Bootstrap -func (tr *Bootstrap) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Bootstrap using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Bootstrap) LateInitialize(attrs []byte) (bool, error) { - params := &BootstrapParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Bootstrap) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_bootstrap_types.go b/apis/rancher2/v1alpha1/zz_bootstrap_types.go index 7bd5145..77586b4 100755 --- a/apis/rancher2/v1alpha1/zz_bootstrap_types.go +++ b/apis/rancher2/v1alpha1/zz_bootstrap_types.go @@ -49,7 +49,7 @@ type BootstrapParameters struct { Telemetry *bool `json:"telemetry,omitempty" tf:"telemetry,omitempty"` // +kubebuilder:validation:Optional - TokenTTL *int64 `json:"tokenTtl,omitempty" tf:"token_ttl,omitempty"` + TokenTTL *float64 `json:"tokenTtl,omitempty" tf:"token_ttl,omitempty"` // +kubebuilder:validation:Optional TokenUpdate *bool `json:"tokenUpdate,omitempty" tf:"token_update,omitempty"` diff --git a/apis/rancher2/v1alpha1/zz_catalog_terraformed.go b/apis/rancher2/v1alpha1/zz_catalog_terraformed.go deleted file mode 100755 index d76d30d..0000000 --- a/apis/rancher2/v1alpha1/zz_catalog_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Catalog -func (mg *Catalog) GetTerraformResourceType() string { - return "rancher2_catalog" -} - -// GetConnectionDetailsMapping for this Catalog -func (tr *Catalog) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef", "username": "spec.forProvider.usernameSecretRef"} -} - -// GetObservation of this Catalog -func (tr *Catalog) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Catalog -func (tr *Catalog) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Catalog -func (tr *Catalog) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Catalog -func (tr *Catalog) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Catalog -func (tr *Catalog) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Catalog using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Catalog) LateInitialize(attrs []byte) (bool, error) { - params := &CatalogParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Catalog) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_catalog_types.go b/apis/rancher2/v1alpha1/zz_catalog_types.go index 7fcf724..42477cd 100755 --- a/apis/rancher2/v1alpha1/zz_catalog_types.go +++ b/apis/rancher2/v1alpha1/zz_catalog_types.go @@ -33,7 +33,7 @@ type CatalogParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional Branch *string `json:"branch,omitempty" tf:"branch,omitempty"` @@ -49,7 +49,7 @@ type CatalogParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"` diff --git a/apis/rancher2/v1alpha1/zz_certificate_terraformed.go b/apis/rancher2/v1alpha1/zz_certificate_terraformed.go deleted file mode 100755 index f326e93..0000000 --- a/apis/rancher2/v1alpha1/zz_certificate_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Certificate -func (mg *Certificate) GetTerraformResourceType() string { - return "rancher2_certificate" -} - -// GetConnectionDetailsMapping for this Certificate -func (tr *Certificate) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"key": "spec.forProvider.keySecretRef"} -} - -// GetObservation of this Certificate -func (tr *Certificate) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Certificate -func (tr *Certificate) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Certificate -func (tr *Certificate) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Certificate -func (tr *Certificate) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Certificate -func (tr *Certificate) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Certificate using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Certificate) LateInitialize(attrs []byte) (bool, error) { - params := &CertificateParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Certificate) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_certificate_types.go b/apis/rancher2/v1alpha1/zz_certificate_types.go index 034d2b0..11e67ac 100755 --- a/apis/rancher2/v1alpha1/zz_certificate_types.go +++ b/apis/rancher2/v1alpha1/zz_certificate_types.go @@ -33,7 +33,7 @@ type CertificateParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Certificate certs base64 encoded // +kubebuilder:validation:Required @@ -49,7 +49,7 @@ type CertificateParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Namespace ID to add certificate // +kubebuilder:validation:Optional diff --git a/apis/rancher2/v1alpha1/zz_cluster_terraformed.go b/apis/rancher2/v1alpha1/zz_cluster_terraformed.go deleted file mode 100755 index c7bb927..0000000 --- a/apis/rancher2/v1alpha1/zz_cluster_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Cluster -func (mg *Cluster) GetTerraformResourceType() string { - return "rancher2_cluster" -} - -// GetConnectionDetailsMapping for this Cluster -func (tr *Cluster) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"aks_config[*].aad_server_app_secret": "spec.forProvider.aksConfig[*].aadServerAppSecretSecretRef", "aks_config[*].aad_tenant_id": "spec.forProvider.aksConfig[*].aadTenantIDSecretRef", "aks_config[*].add_client_app_id": "spec.forProvider.aksConfig[*].addClientAppIDSecretRef", "aks_config[*].add_server_app_id": "spec.forProvider.aksConfig[*].addServerAppIDSecretRef", "aks_config[*].client_id": "spec.forProvider.aksConfig[*].clientIDSecretRef", "aks_config[*].client_secret": "spec.forProvider.aksConfig[*].clientSecretSecretRef", "ca_cert": "status.atProvider.caCert", "cluster_registration_token[*].token": "status.atProvider.clusterRegistrationToken[*].token", "eks_config[*].access_key": "spec.forProvider.eksConfig[*].accessKeySecretRef", "eks_config[*].secret_key": "spec.forProvider.eksConfig[*].secretKeySecretRef", "eks_config[*].session_token": "spec.forProvider.eksConfig[*].sessionTokenSecretRef", "gke_config[*].credential": "spec.forProvider.gkeConfig[*].credentialSecretRef", "gke_config_v2[*].google_credential_secret": "spec.forProvider.gkeConfigV2[*].googleCredentialSecretSecretRef", "kube_config": "status.atProvider.kubeConfig", "oke_config[*].kms_key_id": "spec.forProvider.okeConfig[*].kmsKeyIDSecretRef", "oke_config[*].private_key_contents": "spec.forProvider.okeConfig[*].privateKeyContentsSecretRef", "oke_config[*].private_key_passphrase": "spec.forProvider.okeConfig[*].privateKeyPassphraseSecretRef", "rke_config[*].bastion_host[*].ssh_key": "spec.forProvider.rkeConfig[*].bastionHost[*].sshKeySecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_cert_password": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientCertPasswordSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientIDSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_secret": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientSecretSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].subscription_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].subscriptionIDSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].tenant_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].tenantIDSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].domain_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].domainIDSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].passwordSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].tenant_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].tenantIDSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].trust_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].trustIDSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].username": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].usernameSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].passwordSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].user": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].userSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].passwordSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].user": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].userSecretRef", "rke_config[*].nodes[*].ssh_key": "spec.forProvider.rkeConfig[*].nodes[*].sshKeySecretRef", "rke_config[*].nodes[*].user": "spec.forProvider.rkeConfig[*].nodes[*].userSecretRef", "rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_secret_access_key": "spec.forProvider.rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSecretAccessKeySecretRef", "rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_session_token": "spec.forProvider.rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSessionTokenSecretRef", "rke_config[*].private_registries[*].password": "spec.forProvider.rkeConfig[*].privateRegistries[*].passwordSecretRef", "rke_config[*].private_registries[*].user": "spec.forProvider.rkeConfig[*].privateRegistries[*].userSecretRef", "rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].access_key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].accessKeySecretRef", "rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].secret_key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].secretKeySecretRef", "rke_config[*].services[*].etcd[*].cert": "spec.forProvider.rkeConfig[*].services[*].etcd[*].certSecretRef", "rke_config[*].services[*].etcd[*].key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].keySecretRef"} -} - -// GetObservation of this Cluster -func (tr *Cluster) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Cluster -func (tr *Cluster) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Cluster -func (tr *Cluster) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Cluster -func (tr *Cluster) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Cluster -func (tr *Cluster) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Cluster using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Cluster) LateInitialize(attrs []byte) (bool, error) { - params := &ClusterParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Cluster) GetTerraformSchemaVersion() int { - return 1 -} diff --git a/apis/rancher2/v1alpha1/zz_cluster_types.go b/apis/rancher2/v1alpha1/zz_cluster_types.go index f8dff80..f44a53f 100755 --- a/apis/rancher2/v1alpha1/zz_cluster_types.go +++ b/apis/rancher2/v1alpha1/zz_cluster_types.go @@ -68,7 +68,7 @@ type AksConfigParameters struct { // GB size to be used to specify the disk for every machine in the agent pool. If you specify 0, it will apply the default according to the "agent vm size" specified // +kubebuilder:validation:Optional - AgentOsDiskSize *int64 `json:"agentOsDiskSize,omitempty" tf:"agent_os_disk_size,omitempty"` + AgentOsDiskSize *float64 `json:"agentOsDiskSize,omitempty" tf:"agent_os_disk_size,omitempty"` // Name for the agent pool, upto 12 alphanumeric characters // +kubebuilder:validation:Optional @@ -100,7 +100,7 @@ type AksConfigParameters struct { // Number of machines (VMs) in the agent pool. Allowed values must be in the range of 1 to 100 (inclusive) // +kubebuilder:validation:Optional - Count *int64 `json:"count,omitempty" tf:"count,omitempty"` + Count *float64 `json:"count,omitempty" tf:"count,omitempty"` // An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes Service address range specified in "service cidr" // +kubebuilder:validation:Optional @@ -144,7 +144,7 @@ type AksConfigParameters struct { // Maximum number of pods that can run on a node // +kubebuilder:validation:Optional - MaxPods *int64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"` + MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"` // Network plugin used for building Kubernetes network. Chooses from [azure kubenet] // +kubebuilder:validation:Optional @@ -180,7 +180,7 @@ type AksConfigParameters struct { // Tags for Kubernetes cluster. For example, foo=bar // +kubebuilder:validation:Optional - Tag map[string]string `json:"tag,omitempty" tf:"tag,omitempty"` + Tag map[string]*string `json:"tag,omitempty" tf:"tag,omitempty"` // Tags for Kubernetes cluster. For example, `["foo=bar","bar=foo"]` // +kubebuilder:validation:Optional @@ -310,7 +310,7 @@ type AksConfigV2Parameters struct { // The AKS cluster tags // +kubebuilder:validation:Optional - Tags map[string]string `json:"tags,omitempty" tf:"tags,omitempty"` + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` // The AKS virtual network // +kubebuilder:validation:Optional @@ -354,7 +354,7 @@ type AuthorizationParameters struct { Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` } type AutoscalingObservation struct { @@ -368,11 +368,11 @@ type AutoscalingParameters struct { // The GKE node pool config max node count // +kubebuilder:validation:Optional - MaxNodeCount *int64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"` + MaxNodeCount *float64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"` // The GKE node pool config min node count // +kubebuilder:validation:Optional - MinNodeCount *int64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"` + MinNodeCount *float64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"` } type AwsCloudProviderObservation struct { @@ -411,25 +411,25 @@ type AzureCloudProviderParameters struct { CloudProviderBackoff *bool `json:"cloudProviderBackoff,omitempty" tf:"cloud_provider_backoff,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffDuration *int64 `json:"cloudProviderBackoffDuration,omitempty" tf:"cloud_provider_backoff_duration,omitempty"` + CloudProviderBackoffDuration *float64 `json:"cloudProviderBackoffDuration,omitempty" tf:"cloud_provider_backoff_duration,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffExponent *int64 `json:"cloudProviderBackoffExponent,omitempty" tf:"cloud_provider_backoff_exponent,omitempty"` + CloudProviderBackoffExponent *float64 `json:"cloudProviderBackoffExponent,omitempty" tf:"cloud_provider_backoff_exponent,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffJitter *int64 `json:"cloudProviderBackoffJitter,omitempty" tf:"cloud_provider_backoff_jitter,omitempty"` + CloudProviderBackoffJitter *float64 `json:"cloudProviderBackoffJitter,omitempty" tf:"cloud_provider_backoff_jitter,omitempty"` // +kubebuilder:validation:Optional - CloudProviderBackoffRetries *int64 `json:"cloudProviderBackoffRetries,omitempty" tf:"cloud_provider_backoff_retries,omitempty"` + CloudProviderBackoffRetries *float64 `json:"cloudProviderBackoffRetries,omitempty" tf:"cloud_provider_backoff_retries,omitempty"` // +kubebuilder:validation:Optional CloudProviderRateLimit *bool `json:"cloudProviderRateLimit,omitempty" tf:"cloud_provider_rate_limit,omitempty"` // +kubebuilder:validation:Optional - CloudProviderRateLimitBucket *int64 `json:"cloudProviderRateLimitBucket,omitempty" tf:"cloud_provider_rate_limit_bucket,omitempty"` + CloudProviderRateLimitBucket *float64 `json:"cloudProviderRateLimitBucket,omitempty" tf:"cloud_provider_rate_limit_bucket,omitempty"` // +kubebuilder:validation:Optional - CloudProviderRateLimitQPS *int64 `json:"cloudProviderRateLimitQps,omitempty" tf:"cloud_provider_rate_limit_qps,omitempty"` + CloudProviderRateLimitQPS *float64 `json:"cloudProviderRateLimitQps,omitempty" tf:"cloud_provider_rate_limit_qps,omitempty"` // Load balancer type (basic | standard). Must be standard for auto-scaling // +kubebuilder:validation:Optional @@ -439,7 +439,7 @@ type AzureCloudProviderParameters struct { Location *string `json:"location,omitempty" tf:"location,omitempty"` // +kubebuilder:validation:Optional - MaximumLoadBalancerRuleCount *int64 `json:"maximumLoadBalancerRuleCount,omitempty" tf:"maximum_load_balancer_rule_count,omitempty"` + MaximumLoadBalancerRuleCount *float64 `json:"maximumLoadBalancerRuleCount,omitempty" tf:"maximum_load_balancer_rule_count,omitempty"` // +kubebuilder:validation:Optional PrimaryAvailabilitySetName *string `json:"primaryAvailabilitySetName,omitempty" tf:"primary_availability_set_name,omitempty"` @@ -490,10 +490,10 @@ type BackupConfigParameters struct { Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // +kubebuilder:validation:Optional - IntervalHours *int64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` + IntervalHours *float64 `json:"intervalHours,omitempty" tf:"interval_hours,omitempty"` // +kubebuilder:validation:Optional - Retention *int64 `json:"retention,omitempty" tf:"retention,omitempty"` + Retention *float64 `json:"retention,omitempty" tf:"retention,omitempty"` // +kubebuilder:validation:Optional S3BackupConfig []S3BackupConfigParameters `json:"s3BackupConfig,omitempty" tf:"s3_backup_config,omitempty"` @@ -502,7 +502,7 @@ type BackupConfigParameters struct { SafeTimestamp *bool `json:"safeTimestamp,omitempty" tf:"safe_timestamp,omitempty"` // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } type BastionHostObservation struct { @@ -665,7 +665,7 @@ type ClusterMonitoringInputParameters struct { // Answers for monitor input // +kubebuilder:validation:Optional - Answers map[string]string `json:"answers,omitempty" tf:"answers,omitempty"` + Answers map[string]*string `json:"answers,omitempty" tf:"answers,omitempty"` // Monitoring version // +kubebuilder:validation:Optional @@ -700,7 +700,7 @@ type ClusterParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional ClusterAuthEndpoint []ClusterAuthEndpointParameters `json:"clusterAuthEndpoint,omitempty" tf:"cluster_auth_endpoint,omitempty"` @@ -776,7 +776,7 @@ type ClusterParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional OkeConfig []OkeConfigParameters `json:"okeConfig,omitempty" tf:"oke_config,omitempty"` @@ -797,6 +797,8 @@ type ClusterParameters struct { } type ClusterRegistrationTokenObservation struct { + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` Command *string `json:"command,omitempty" tf:"command,omitempty"` @@ -809,24 +811,20 @@ type ClusterRegistrationTokenObservation struct { InsecureWindowsNodeCommand *string `json:"insecureWindowsNodeCommand,omitempty" tf:"insecure_windows_node_command,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + ManifestURL *string `json:"manifestUrl,omitempty" tf:"manifest_url,omitempty"` Name *string `json:"name,omitempty" tf:"name,omitempty"` NodeCommand *string `json:"nodeCommand,omitempty" tf:"node_command,omitempty"` + Token *string `json:"token,omitempty" tf:"token,omitempty"` + WindowsNodeCommand *string `json:"windowsNodeCommand,omitempty" tf:"windows_node_command,omitempty"` } type ClusterRegistrationTokenParameters struct { - - // Annotations of the resource - // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` - - // Labels of the resource - // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` } type ClusterTemplateAnswersObservation struct { @@ -844,7 +842,7 @@ type ClusterTemplateAnswersParameters struct { // Key/values for answer // +kubebuilder:validation:Optional - Values map[string]string `json:"values,omitempty" tf:"values,omitempty"` + Values map[string]*string `json:"values,omitempty" tf:"values,omitempty"` } type ClusterTemplateQuestionsObservation struct { @@ -876,7 +874,7 @@ type ConfigParameters struct { // The GKE node config disk size (Gb) // +kubebuilder:validation:Optional - DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` // The GKE node config disk type // +kubebuilder:validation:Optional @@ -888,11 +886,11 @@ type ConfigParameters struct { // The GKE node config labels // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // The GKE node config local ssd count // +kubebuilder:validation:Optional - LocalSsdCount *int64 `json:"localSsdCount,omitempty" tf:"local_ssd_count,omitempty"` + LocalSsdCount *float64 `json:"localSsdCount,omitempty" tf:"local_ssd_count,omitempty"` // The GKE node config machine type // +kubebuilder:validation:Optional @@ -924,13 +922,13 @@ type ConfigurationParameters struct { Format *string `json:"format,omitempty" tf:"format,omitempty"` // +kubebuilder:validation:Optional - MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` + MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` // +kubebuilder:validation:Optional - MaxBackup *int64 `json:"maxBackup,omitempty" tf:"max_backup,omitempty"` + MaxBackup *float64 `json:"maxBackup,omitempty" tf:"max_backup,omitempty"` // +kubebuilder:validation:Optional - MaxSize *int64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` // +kubebuilder:validation:Optional Path *string `json:"path,omitempty" tf:"path,omitempty"` @@ -949,14 +947,14 @@ type DNSParameters struct { LinearAutoscalerParams []LinearAutoscalerParamsParameters `json:"linearAutoscalerParams,omitempty" tf:"linear_autoscaler_params,omitempty"` // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // Nodelocal dns // +kubebuilder:validation:Optional Nodelocal []NodelocalParameters `json:"nodelocal,omitempty" tf:"nodelocal,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` @@ -997,13 +995,13 @@ type DrainInputParameters struct { Force *bool `json:"force,omitempty" tf:"force,omitempty"` // +kubebuilder:validation:Optional - GracePeriod *int64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` + GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"` // +kubebuilder:validation:Optional IgnoreDaemonSets *bool `json:"ignoreDaemonSets,omitempty" tf:"ignore_daemon_sets,omitempty"` // +kubebuilder:validation:Optional - Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + Timeout *float64 `json:"timeout,omitempty" tf:"timeout,omitempty"` } type EcrCredentialPluginObservation struct { @@ -1040,7 +1038,7 @@ type EksConfigParameters struct { // The desired number of worker nodes // +kubebuilder:validation:Optional - DesiredNodes *int64 `json:"desiredNodes,omitempty" tf:"desired_nodes,omitempty"` + DesiredNodes *float64 `json:"desiredNodes,omitempty" tf:"desired_nodes,omitempty"` // Enables EBS encryption of worker nodes // +kubebuilder:validation:Optional @@ -1060,15 +1058,15 @@ type EksConfigParameters struct { // The maximum number of worker nodes // +kubebuilder:validation:Optional - MaximumNodes *int64 `json:"maximumNodes,omitempty" tf:"maximum_nodes,omitempty"` + MaximumNodes *float64 `json:"maximumNodes,omitempty" tf:"maximum_nodes,omitempty"` // The minimum number of worker nodes // +kubebuilder:validation:Optional - MinimumNodes *int64 `json:"minimumNodes,omitempty" tf:"minimum_nodes,omitempty"` + MinimumNodes *float64 `json:"minimumNodes,omitempty" tf:"minimum_nodes,omitempty"` // The volume size for each node // +kubebuilder:validation:Optional - NodeVolumeSize *int64 `json:"nodeVolumeSize,omitempty" tf:"node_volume_size,omitempty"` + NodeVolumeSize *float64 `json:"nodeVolumeSize,omitempty" tf:"node_volume_size,omitempty"` // The AWS Region to create the EKS cluster in // +kubebuilder:validation:Optional @@ -1170,7 +1168,7 @@ type EksConfigV2Parameters struct { // The EKS cluster tags // +kubebuilder:validation:Optional - Tags map[string]string `json:"tags,omitempty" tf:"tags,omitempty"` + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` } type EtcdObservation struct { @@ -1194,7 +1192,7 @@ type EtcdParameters struct { ExternalUrls []*string `json:"externalUrls,omitempty" tf:"external_urls,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1203,7 +1201,7 @@ type EtcdParameters struct { ExtraEnv []*string `json:"extraEnv,omitempty" tf:"extra_env,omitempty"` // +kubebuilder:validation:Optional - GID *int64 `json:"gid,omitempty" tf:"gid,omitempty"` + GID *float64 `json:"gid,omitempty" tf:"gid,omitempty"` // +kubebuilder:validation:Optional Image *string `json:"image,omitempty" tf:"image,omitempty"` @@ -1221,7 +1219,7 @@ type EtcdParameters struct { Snapshot *bool `json:"snapshot,omitempty" tf:"snapshot,omitempty"` // +kubebuilder:validation:Optional - UID *int64 `json:"uid,omitempty" tf:"uid,omitempty"` + UID *float64 `json:"uid,omitempty" tf:"uid,omitempty"` } type EventRateLimitObservation struct { @@ -1264,7 +1262,7 @@ type GkeConfigParameters struct { // Size of the disk attached to each node // +kubebuilder:validation:Optional - DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` // Type of the disk attached to each node // +kubebuilder:validation:Required @@ -1368,11 +1366,11 @@ type GkeConfigParameters struct { // The map of Kubernetes labels (key/value pairs) to be applied to each node // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // The number of local SSD disks to be attached to the node // +kubebuilder:validation:Optional - LocalSsdCount *int64 `json:"localSsdCount,omitempty" tf:"local_ssd_count,omitempty"` + LocalSsdCount *float64 `json:"localSsdCount,omitempty" tf:"local_ssd_count,omitempty"` // Locations to use for the cluster // +kubebuilder:validation:Required @@ -1400,11 +1398,11 @@ type GkeConfigParameters struct { // Maximum number of nodes in the NodePool. Must be >= minNodeCount. There has to enough quota to scale up the cluster // +kubebuilder:validation:Optional - MaxNodeCount *int64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"` + MaxNodeCount *float64 `json:"maxNodeCount,omitempty" tf:"max_node_count,omitempty"` // Minimmum number of nodes in the NodePool. Must be >= 1 and <= maxNodeCount // +kubebuilder:validation:Optional - MinNodeCount *int64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"` + MinNodeCount *float64 `json:"minNodeCount,omitempty" tf:"min_node_count,omitempty"` // The network to use for the cluster // +kubebuilder:validation:Required @@ -1412,7 +1410,7 @@ type GkeConfigParameters struct { // The number of nodes to create in this cluster // +kubebuilder:validation:Optional - NodeCount *int64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"` + NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"` // The ID of the cluster node pool // +kubebuilder:validation:Required @@ -1440,7 +1438,7 @@ type GkeConfigParameters struct { // The map of Kubernetes labels (key/value pairs) to be applied to each cluster // +kubebuilder:validation:Optional - ResourceLabels map[string]string `json:"resourceLabels,omitempty" tf:"resource_labels,omitempty"` + ResourceLabels map[string]*string `json:"resourceLabels,omitempty" tf:"resource_labels,omitempty"` // The Google Cloud Platform Service Account to be used by the node VMs // +kubebuilder:validation:Required @@ -1478,7 +1476,7 @@ type GkeConfigV2NodePoolsParameters struct { // The GKE node pool config initial node count // +kubebuilder:validation:Required - InitialNodeCount *int64 `json:"initialNodeCount" tf:"initial_node_count,omitempty"` + InitialNodeCount *float64 `json:"initialNodeCount" tf:"initial_node_count,omitempty"` // The GKE node pool config management // +kubebuilder:validation:Optional @@ -1486,7 +1484,7 @@ type GkeConfigV2NodePoolsParameters struct { // The GKE node pool config max pods constraint // +kubebuilder:validation:Optional - MaxPodsConstraint *int64 `json:"maxPodsConstraint,omitempty" tf:"max_pods_constraint,omitempty"` + MaxPodsConstraint *float64 `json:"maxPodsConstraint,omitempty" tf:"max_pods_constraint,omitempty"` // The GKE node pool config name // +kubebuilder:validation:Required @@ -1536,7 +1534,7 @@ type GkeConfigV2Parameters struct { // The GKE cluster labels // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // The GKE cluster locations // +kubebuilder:validation:Optional @@ -1681,22 +1679,22 @@ type IngressParameters struct { DefaultBackend *bool `json:"defaultBackend,omitempty" tf:"default_backend,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional - HTTPPort *int64 `json:"httpPort,omitempty" tf:"http_port,omitempty"` + HTTPPort *float64 `json:"httpPort,omitempty" tf:"http_port,omitempty"` // +kubebuilder:validation:Optional - HTTPSPort *int64 `json:"httpsPort,omitempty" tf:"https_port,omitempty"` + HTTPSPort *float64 `json:"httpsPort,omitempty" tf:"https_port,omitempty"` // +kubebuilder:validation:Optional NetworkMode *string `json:"networkMode,omitempty" tf:"network_mode,omitempty"` // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` @@ -1725,7 +1723,7 @@ type IngressTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -1765,7 +1763,7 @@ type KubeAPIObservation struct { type KubeAPIParameters struct { // +kubebuilder:validation:Optional - AdmissionConfiguration map[string]string `json:"admissionConfiguration,omitempty" tf:"admission_configuration,omitempty"` + AdmissionConfiguration map[string]*string `json:"admissionConfiguration,omitempty" tf:"admission_configuration,omitempty"` // +kubebuilder:validation:Optional AlwaysPullImages *bool `json:"alwaysPullImages,omitempty" tf:"always_pull_images,omitempty"` @@ -1777,7 +1775,7 @@ type KubeAPIParameters struct { EventRateLimit []EventRateLimitParameters `json:"eventRateLimit,omitempty" tf:"event_rate_limit,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1810,7 +1808,7 @@ type KubeControllerParameters struct { ClusterCidr *string `json:"clusterCidr,omitempty" tf:"cluster_cidr,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1837,7 +1835,7 @@ type KubeletParameters struct { ClusterDomain *string `json:"clusterDomain,omitempty" tf:"cluster_domain,omitempty"` // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1864,7 +1862,7 @@ type KubeproxyObservation struct { type KubeproxyParameters struct { // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -1891,7 +1889,7 @@ type LaunchTemplateParameters struct { // The EKS node group launch template version // +kubebuilder:validation:Optional - Version *int64 `json:"version,omitempty" tf:"version,omitempty"` + Version *float64 `json:"version,omitempty" tf:"version,omitempty"` } type LinearAutoscalerParamsObservation struct { @@ -1903,10 +1901,10 @@ type LinearAutoscalerParamsParameters struct { CoresPerReplica *float64 `json:"coresPerReplica,omitempty" tf:"cores_per_replica,omitempty"` // +kubebuilder:validation:Optional - Max *int64 `json:"max,omitempty" tf:"max,omitempty"` + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` // +kubebuilder:validation:Optional - Min *int64 `json:"min,omitempty" tf:"min,omitempty"` + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` // +kubebuilder:validation:Optional NodesPerReplica *float64 `json:"nodesPerReplica,omitempty" tf:"nodes_per_replica,omitempty"` @@ -1942,7 +1940,7 @@ type LoadBalancerParameters struct { MonitorDelay *string `json:"monitorDelay,omitempty" tf:"monitor_delay,omitempty"` // +kubebuilder:validation:Optional - MonitorMaxRetries *int64 `json:"monitorMaxRetries,omitempty" tf:"monitor_max_retries,omitempty"` + MonitorMaxRetries *float64 `json:"monitorMaxRetries,omitempty" tf:"monitor_max_retries,omitempty"` // +kubebuilder:validation:Optional MonitorTimeout *string `json:"monitorTimeout,omitempty" tf:"monitor_timeout,omitempty"` @@ -1988,7 +1986,7 @@ type MetadataObservation struct { type MetadataParameters struct { // +kubebuilder:validation:Optional - RequestTimeout *int64 `json:"requestTimeout,omitempty" tf:"request_timeout,omitempty"` + RequestTimeout *float64 `json:"requestTimeout,omitempty" tf:"request_timeout,omitempty"` // +kubebuilder:validation:Optional SearchOrder *string `json:"searchOrder,omitempty" tf:"search_order,omitempty"` @@ -2000,16 +1998,16 @@ type MonitoringObservation struct { type MonitoringParameters struct { // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Provider *string `json:"provider,omitempty" tf:"provider,omitempty"` // +kubebuilder:validation:Optional - Replicas *int64 `json:"replicas,omitempty" tf:"replicas,omitempty"` + Replicas *float64 `json:"replicas,omitempty" tf:"replicas,omitempty"` // Monitoring add-on tolerations // +kubebuilder:validation:Optional @@ -2035,7 +2033,7 @@ type MonitoringTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -2062,11 +2060,11 @@ type MonitoringUpdateStrategyRollingUpdateParameters struct { // Rolling update max surge // +kubebuilder:validation:Optional - MaxSurge *int64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` + MaxSurge *float64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type NetworkObservation struct { @@ -2093,7 +2091,7 @@ type NetworkTolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -2107,11 +2105,11 @@ type NodeGroupsParameters struct { // The EKS node group desired size // +kubebuilder:validation:Optional - DesiredSize *int64 `json:"desiredSize,omitempty" tf:"desired_size,omitempty"` + DesiredSize *float64 `json:"desiredSize,omitempty" tf:"desired_size,omitempty"` // The EKS node group disk size // +kubebuilder:validation:Optional - DiskSize *int64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"` + DiskSize *float64 `json:"diskSize,omitempty" tf:"disk_size,omitempty"` // The EKS node group ssh key // +kubebuilder:validation:Optional @@ -2131,7 +2129,7 @@ type NodeGroupsParameters struct { // The EKS node group tags // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // The EKS node groups launch template // +kubebuilder:validation:Optional @@ -2139,11 +2137,11 @@ type NodeGroupsParameters struct { // The EKS node group maximum size // +kubebuilder:validation:Optional - MaxSize *int64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` // The EKS node group minimum size // +kubebuilder:validation:Optional - MinSize *int64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` // The EKS node group name // +kubebuilder:validation:Required @@ -2155,7 +2153,7 @@ type NodeGroupsParameters struct { // The EKS node group resource tags // +kubebuilder:validation:Optional - ResourceTags map[string]string `json:"resourceTags,omitempty" tf:"resource_tags,omitempty"` + ResourceTags map[string]*string `json:"resourceTags,omitempty" tf:"resource_tags,omitempty"` // The EKS node group spot instace types // +kubebuilder:validation:Optional @@ -2167,7 +2165,7 @@ type NodeGroupsParameters struct { // The EKS node group tags // +kubebuilder:validation:Optional - Tags map[string]string `json:"tags,omitempty" tf:"tags,omitempty"` + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` // The EKS node group user data // +kubebuilder:validation:Optional @@ -2185,7 +2183,7 @@ type NodePoolsParameters struct { // The AKS node pool count // +kubebuilder:validation:Optional - Count *int64 `json:"count,omitempty" tf:"count,omitempty"` + Count *float64 `json:"count,omitempty" tf:"count,omitempty"` // Is AKS node pool auto scaling enabled? // +kubebuilder:validation:Optional @@ -2193,15 +2191,15 @@ type NodePoolsParameters struct { // The AKS node pool max count // +kubebuilder:validation:Optional - MaxCount *int64 `json:"maxCount,omitempty" tf:"max_count,omitempty"` + MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"` // The AKS node pool max pods // +kubebuilder:validation:Optional - MaxPods *int64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"` + MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"` // The AKS node pool min count // +kubebuilder:validation:Optional - MinCount *int64 `json:"minCount,omitempty" tf:"min_count,omitempty"` + MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"` // The AKS node pool mode // +kubebuilder:validation:Optional @@ -2217,7 +2215,7 @@ type NodePoolsParameters struct { // The AKS node pool os disk size gb // +kubebuilder:validation:Optional - OsDiskSizeGb *int64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"` + OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"` // The AKS node pool os disk type // +kubebuilder:validation:Optional @@ -2242,7 +2240,7 @@ type NodelocalParameters struct { // Node selector key pair // +kubebuilder:validation:Optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` + NodeSelector map[string]*string `json:"nodeSelector,omitempty" tf:"node_selector,omitempty"` } type NodesObservation struct { @@ -2263,7 +2261,7 @@ type NodesParameters struct { InternalAddress *string `json:"internalAddress,omitempty" tf:"internal_address,omitempty"` // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional NodeID *string `json:"nodeId,omitempty" tf:"node_id,omitempty"` @@ -2298,7 +2296,7 @@ type OkeConfigParameters struct { // An optional custom boot volume size (in GB) for the nodes // +kubebuilder:validation:Optional - CustomBootVolumeSize *int64 `json:"customBootVolumeSize,omitempty" tf:"custom_boot_volume_size,omitempty"` + CustomBootVolumeSize *float64 `json:"customBootVolumeSize,omitempty" tf:"custom_boot_volume_size,omitempty"` // An optional description of this cluster // +kubebuilder:validation:Optional @@ -2322,7 +2320,7 @@ type OkeConfigParameters struct { // Optional number of OCPUs for nodes (requires flexible node_shape) // +kubebuilder:validation:Optional - FlexOcpus *int64 `json:"flexOcpus,omitempty" tf:"flex_ocpus,omitempty"` + FlexOcpus *float64 `json:"flexOcpus,omitempty" tf:"flex_ocpus,omitempty"` // Optional specify the OCID of the KMS Vault master key // +kubebuilder:validation:Optional @@ -2334,7 +2332,7 @@ type OkeConfigParameters struct { // Optional limit on the total number of nodes in the pool // +kubebuilder:validation:Optional - LimitNodeCount *int64 `json:"limitNodeCount,omitempty" tf:"limit_node_count,omitempty"` + LimitNodeCount *float64 `json:"limitNodeCount,omitempty" tf:"limit_node_count,omitempty"` // The name of the first existing subnet to use for Kubernetes services / LB // +kubebuilder:validation:Optional @@ -2378,11 +2376,11 @@ type OkeConfigParameters struct { // Number of node subnets (defaults to creating 1 regional subnet) // +kubebuilder:validation:Optional - QuantityOfNodeSubnets *int64 `json:"quantityOfNodeSubnets,omitempty" tf:"quantity_of_node_subnets,omitempty"` + QuantityOfNodeSubnets *float64 `json:"quantityOfNodeSubnets,omitempty" tf:"quantity_of_node_subnets,omitempty"` // Number of worker nodes in each subnet / availability domain // +kubebuilder:validation:Optional - QuantityPerSubnet *int64 `json:"quantityPerSubnet,omitempty" tf:"quantity_per_subnet,omitempty"` + QuantityPerSubnet *float64 `json:"quantityPerSubnet,omitempty" tf:"quantity_per_subnet,omitempty"` // The availability domain within the region to host the OKE cluster // +kubebuilder:validation:Required @@ -2547,11 +2545,11 @@ type Rke2ConfigUpgradeStrategyParameters struct { // Server concurrency // +kubebuilder:validation:Optional - ServerConcurrency *int64 `json:"serverConcurrency,omitempty" tf:"server_concurrency,omitempty"` + ServerConcurrency *float64 `json:"serverConcurrency,omitempty" tf:"server_concurrency,omitempty"` // Worker concurrency // +kubebuilder:validation:Optional - WorkerConcurrency *int64 `json:"workerConcurrency,omitempty" tf:"worker_concurrency,omitempty"` + WorkerConcurrency *float64 `json:"workerConcurrency,omitempty" tf:"worker_concurrency,omitempty"` } type RkeConfigNetworkObservation struct { @@ -2569,10 +2567,10 @@ type RkeConfigNetworkParameters struct { FlannelNetworkProvider []FlannelNetworkProviderParameters `json:"flannelNetworkProvider,omitempty" tf:"flannel_network_provider,omitempty"` // +kubebuilder:validation:Optional - Mtu *int64 `json:"mtu,omitempty" tf:"mtu,omitempty"` + Mtu *float64 `json:"mtu,omitempty" tf:"mtu,omitempty"` // +kubebuilder:validation:Optional - Options map[string]string `json:"options,omitempty" tf:"options,omitempty"` + Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"` // +kubebuilder:validation:Optional Plugin *string `json:"plugin,omitempty" tf:"plugin,omitempty"` @@ -2592,7 +2590,7 @@ type RkeConfigParameters struct { // Optional duration in seconds of addon job. // +kubebuilder:validation:Optional - AddonJobTimeout *int64 `json:"addonJobTimeout,omitempty" tf:"addon_job_timeout,omitempty"` + AddonJobTimeout *float64 `json:"addonJobTimeout,omitempty" tf:"addon_job_timeout,omitempty"` // Optional addons descripton to deploy on rke cluster. // +kubebuilder:validation:Optional @@ -2706,11 +2704,11 @@ type RollingUpdateParameters struct { // Rolling update max surge // +kubebuilder:validation:Optional - MaxSurge *int64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` + MaxSurge *float64 `json:"maxSurge,omitempty" tf:"max_surge,omitempty"` // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type RouteObservation struct { @@ -2770,7 +2768,7 @@ type ScheduleConfigParameters struct { // Cluster scan retention // +kubebuilder:validation:Optional - Retention *int64 `json:"retention,omitempty" tf:"retention,omitempty"` + Retention *float64 `json:"retention,omitempty" tf:"retention,omitempty"` } type ScheduledClusterScanObservation struct { @@ -2797,7 +2795,7 @@ type SchedulerObservation struct { type SchedulerParameters struct { // +kubebuilder:validation:Optional - ExtraArgs map[string]string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` + ExtraArgs map[string]*string `json:"extraArgs,omitempty" tf:"extra_args,omitempty"` // +kubebuilder:validation:Optional ExtraBinds []*string `json:"extraBinds,omitempty" tf:"extra_binds,omitempty"` @@ -2899,7 +2897,7 @@ type TolerationsParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // +kubebuilder:validation:Optional - Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` + Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"` // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` @@ -2926,7 +2924,7 @@ type UpdateStrategyRollingUpdateParameters struct { // Rolling update max unavailable // +kubebuilder:validation:Optional - MaxUnavailable *int64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` + MaxUnavailable *float64 `json:"maxUnavailable,omitempty" tf:"max_unavailable,omitempty"` } type UpgradeStrategyObservation struct { @@ -2944,11 +2942,11 @@ type UpgradeStrategyParameters struct { // Server concurrency // +kubebuilder:validation:Optional - ServerConcurrency *int64 `json:"serverConcurrency,omitempty" tf:"server_concurrency,omitempty"` + ServerConcurrency *float64 `json:"serverConcurrency,omitempty" tf:"server_concurrency,omitempty"` // Worker concurrency // +kubebuilder:validation:Optional - WorkerConcurrency *int64 `json:"workerConcurrency,omitempty" tf:"worker_concurrency,omitempty"` + WorkerConcurrency *float64 `json:"workerConcurrency,omitempty" tf:"worker_concurrency,omitempty"` } type VirtualCenterObservation struct { @@ -2969,7 +2967,7 @@ type VirtualCenterParameters struct { Port *string `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Optional - SoapRoundtripCount *int64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` + SoapRoundtripCount *float64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` // +kubebuilder:validation:Required UserSecretRef v1.SecretKeySelector `json:"userSecretRef" tf:"-"` @@ -2993,7 +2991,7 @@ type VsphereCloudProviderGlobalParameters struct { Port *string `json:"port,omitempty" tf:"port,omitempty"` // +kubebuilder:validation:Optional - SoapRoundtripCount *int64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` + SoapRoundtripCount *float64 `json:"soapRoundtripCount,omitempty" tf:"soap_roundtrip_count,omitempty"` // +kubebuilder:validation:Optional UserSecretRef *v1.SecretKeySelector `json:"userSecretRef,omitempty" tf:"-"` diff --git a/apis/rancher2/v1alpha1/zz_feature_terraformed.go b/apis/rancher2/v1alpha1/zz_feature_terraformed.go deleted file mode 100755 index a1838e2..0000000 --- a/apis/rancher2/v1alpha1/zz_feature_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Feature -func (mg *Feature) GetTerraformResourceType() string { - return "rancher2_feature" -} - -// GetConnectionDetailsMapping for this Feature -func (tr *Feature) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Feature -func (tr *Feature) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Feature -func (tr *Feature) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Feature -func (tr *Feature) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Feature -func (tr *Feature) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Feature -func (tr *Feature) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Feature using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Feature) LateInitialize(attrs []byte) (bool, error) { - params := &FeatureParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Feature) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_feature_types.go b/apis/rancher2/v1alpha1/zz_feature_types.go index acbca6b..ce76da0 100755 --- a/apis/rancher2/v1alpha1/zz_feature_types.go +++ b/apis/rancher2/v1alpha1/zz_feature_types.go @@ -33,11 +33,11 @@ type FeatureParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional Value *bool `json:"value,omitempty" tf:"value,omitempty"` diff --git a/apis/rancher2/v1alpha1/zz_generated.deepcopy.go b/apis/rancher2/v1alpha1/zz_generated.deepcopy.go index 9255de3..6d59c48 100644 --- a/apis/rancher2/v1alpha1/zz_generated.deepcopy.go +++ b/apis/rancher2/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -115,7 +116,7 @@ func (in *AksConfigParameters) DeepCopyInto(out *AksConfigParameters) { } if in.AgentOsDiskSize != nil { in, out := &in.AgentOsDiskSize, &out.AgentOsDiskSize - *out = new(int64) + *out = new(float64) **out = **in } if in.AgentPoolName != nil { @@ -147,7 +148,7 @@ func (in *AksConfigParameters) DeepCopyInto(out *AksConfigParameters) { out.ClientSecretSecretRef = in.ClientSecretSecretRef if in.Count != nil { in, out := &in.Count, &out.Count - *out = new(int64) + *out = new(float64) **out = **in } if in.DNSServiceIP != nil { @@ -202,7 +203,7 @@ func (in *AksConfigParameters) DeepCopyInto(out *AksConfigParameters) { } if in.MaxPods != nil { in, out := &in.MaxPods, &out.MaxPods - *out = new(int64) + *out = new(float64) **out = **in } if in.NetworkPlugin != nil { @@ -247,9 +248,17 @@ func (in *AksConfigParameters) DeepCopyInto(out *AksConfigParameters) { } if in.Tag != nil { in, out := &in.Tag, &out.Tag - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Tags != nil { @@ -448,9 +457,17 @@ func (in *AksConfigV2Parameters) DeepCopyInto(out *AksConfigV2Parameters) { } if in.Tags != nil { in, out := &in.Tags, &out.Tags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.VirtualNetwork != nil { @@ -564,16 +581,32 @@ func (in *AppParameters) DeepCopyInto(out *AppParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Answers != nil { in, out := &in.Answers, &out.Answers - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.CatalogName != nil { @@ -593,9 +626,17 @@ func (in *AppParameters) DeepCopyInto(out *AppParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ProjectID != nil { @@ -792,9 +833,17 @@ func (in *AuthorizationParameters) DeepCopyInto(out *AuthorizationParameters) { } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -834,12 +883,12 @@ func (in *AutoscalingParameters) DeepCopyInto(out *AutoscalingParameters) { } if in.MaxNodeCount != nil { in, out := &in.MaxNodeCount, &out.MaxNodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.MinNodeCount != nil { in, out := &in.MinNodeCount, &out.MinNodeCount - *out = new(int64) + *out = new(float64) **out = **in } } @@ -940,22 +989,22 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.CloudProviderBackoffDuration != nil { in, out := &in.CloudProviderBackoffDuration, &out.CloudProviderBackoffDuration - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffExponent != nil { in, out := &in.CloudProviderBackoffExponent, &out.CloudProviderBackoffExponent - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffJitter != nil { in, out := &in.CloudProviderBackoffJitter, &out.CloudProviderBackoffJitter - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderBackoffRetries != nil { in, out := &in.CloudProviderBackoffRetries, &out.CloudProviderBackoffRetries - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderRateLimit != nil { @@ -965,12 +1014,12 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.CloudProviderRateLimitBucket != nil { in, out := &in.CloudProviderRateLimitBucket, &out.CloudProviderRateLimitBucket - *out = new(int64) + *out = new(float64) **out = **in } if in.CloudProviderRateLimitQPS != nil { in, out := &in.CloudProviderRateLimitQPS, &out.CloudProviderRateLimitQPS - *out = new(int64) + *out = new(float64) **out = **in } if in.LoadBalancerSku != nil { @@ -985,7 +1034,7 @@ func (in *AzureCloudProviderParameters) DeepCopyInto(out *AzureCloudProviderPara } if in.MaximumLoadBalancerRuleCount != nil { in, out := &in.MaximumLoadBalancerRuleCount, &out.MaximumLoadBalancerRuleCount - *out = new(int64) + *out = new(float64) **out = **in } if in.PrimaryAvailabilitySetName != nil { @@ -1082,12 +1131,12 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.IntervalHours != nil { in, out := &in.IntervalHours, &out.IntervalHours - *out = new(int64) + *out = new(float64) **out = **in } if in.Retention != nil { in, out := &in.Retention, &out.Retention - *out = new(int64) + *out = new(float64) **out = **in } if in.S3BackupConfig != nil { @@ -1104,7 +1153,7 @@ func (in *BackupConfigParameters) DeepCopyInto(out *BackupConfigParameters) { } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -1343,7 +1392,7 @@ func (in *BootstrapParameters) DeepCopyInto(out *BootstrapParameters) { } if in.TokenTTL != nil { in, out := &in.TokenTTL, &out.TokenTTL - *out = new(int64) + *out = new(float64) **out = **in } if in.TokenUpdate != nil { @@ -1556,9 +1605,17 @@ func (in *CatalogParameters) DeepCopyInto(out *CatalogParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Branch != nil { @@ -1583,9 +1640,17 @@ func (in *CatalogParameters) DeepCopyInto(out *CatalogParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.PasswordSecretRef != nil { @@ -1753,9 +1818,17 @@ func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Certs != nil { @@ -1771,9 +1844,17 @@ func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters) { out.KeySecretRef = in.KeySecretRef if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NamespaceID != nil { @@ -2170,9 +2251,17 @@ func (in *ClusterMonitoringInputParameters) DeepCopyInto(out *ClusterMonitoringI *out = *in if in.Answers != nil { in, out := &in.Answers, &out.Answers - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Version != nil { @@ -2265,9 +2354,17 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterAuthEndpoint != nil { @@ -2395,9 +2492,17 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.OkeConfig != nil { @@ -2448,6 +2553,21 @@ func (in *ClusterParameters) DeepCopy() *ClusterParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistrationTokenObservation) { *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.ClusterID != nil { in, out := &in.ClusterID, &out.ClusterID *out = new(string) @@ -2478,6 +2598,21 @@ func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistra *out = new(string) **out = **in } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } if in.ManifestURL != nil { in, out := &in.ManifestURL, &out.ManifestURL *out = new(string) @@ -2493,6 +2628,11 @@ func (in *ClusterRegistrationTokenObservation) DeepCopyInto(out *ClusterRegistra *out = new(string) **out = **in } + if in.Token != nil { + in, out := &in.Token, &out.Token + *out = new(string) + **out = **in + } if in.WindowsNodeCommand != nil { in, out := &in.WindowsNodeCommand, &out.WindowsNodeCommand *out = new(string) @@ -2513,20 +2653,6 @@ func (in *ClusterRegistrationTokenObservation) DeepCopy() *ClusterRegistrationTo // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterRegistrationTokenParameters) DeepCopyInto(out *ClusterRegistrationTokenParameters) { *out = *in - if in.Annotations != nil { - in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } - if in.Labels != nil { - in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRegistrationTokenParameters. @@ -2603,9 +2729,17 @@ func (in *ClusterTemplateAnswersParameters) DeepCopyInto(out *ClusterTemplateAns } if in.Values != nil { in, out := &in.Values, &out.Values - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -2690,7 +2824,7 @@ func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { *out = *in if in.DiskSizeGb != nil { in, out := &in.DiskSizeGb, &out.DiskSizeGb - *out = new(int64) + *out = new(float64) **out = **in } if in.DiskType != nil { @@ -2705,14 +2839,22 @@ func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LocalSsdCount != nil { in, out := &in.LocalSsdCount, &out.LocalSsdCount - *out = new(int64) + *out = new(float64) **out = **in } if in.MachineType != nil { @@ -2791,17 +2933,17 @@ func (in *ConfigurationParameters) DeepCopyInto(out *ConfigurationParameters) { } if in.MaxAge != nil { in, out := &in.MaxAge, &out.MaxAge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxBackup != nil { in, out := &in.MaxBackup, &out.MaxBackup - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxSize != nil { in, out := &in.MaxSize, &out.MaxSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Path != nil { @@ -2903,9 +3045,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Nodelocal != nil { @@ -2917,9 +3067,17 @@ func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -3085,7 +3243,7 @@ func (in *DrainInputParameters) DeepCopyInto(out *DrainInputParameters) { } if in.GracePeriod != nil { in, out := &in.GracePeriod, &out.GracePeriod - *out = new(int64) + *out = new(float64) **out = **in } if in.IgnoreDaemonSets != nil { @@ -3095,7 +3253,7 @@ func (in *DrainInputParameters) DeepCopyInto(out *DrainInputParameters) { } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout - *out = new(int64) + *out = new(float64) **out = **in } } @@ -3186,7 +3344,7 @@ func (in *EksConfigParameters) DeepCopyInto(out *EksConfigParameters) { } if in.DesiredNodes != nil { in, out := &in.DesiredNodes, &out.DesiredNodes - *out = new(int64) + *out = new(float64) **out = **in } if in.EBSEncryption != nil { @@ -3211,17 +3369,17 @@ func (in *EksConfigParameters) DeepCopyInto(out *EksConfigParameters) { } if in.MaximumNodes != nil { in, out := &in.MaximumNodes, &out.MaximumNodes - *out = new(int64) + *out = new(float64) **out = **in } if in.MinimumNodes != nil { in, out := &in.MinimumNodes, &out.MinimumNodes - *out = new(int64) + *out = new(float64) **out = **in } if in.NodeVolumeSize != nil { in, out := &in.NodeVolumeSize, &out.NodeVolumeSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Region != nil { @@ -3405,9 +3563,17 @@ func (in *EksConfigV2Parameters) DeepCopyInto(out *EksConfigV2Parameters) { } if in.Tags != nil { in, out := &in.Tags, &out.Tags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -3475,9 +3641,17 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -3504,7 +3678,7 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.GID != nil { in, out := &in.GID, &out.GID - *out = new(int64) + *out = new(float64) **out = **in } if in.Image != nil { @@ -3534,7 +3708,7 @@ func (in *EtcdParameters) DeepCopyInto(out *EtcdParameters) { } if in.UID != nil { in, out := &in.UID, &out.UID - *out = new(int64) + *out = new(float64) **out = **in } } @@ -3673,16 +3847,32 @@ func (in *FeatureParameters) DeepCopyInto(out *FeatureParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Value != nil { @@ -3802,7 +3992,7 @@ func (in *GkeConfigParameters) DeepCopyInto(out *GkeConfigParameters) { } if in.DiskSizeGb != nil { in, out := &in.DiskSizeGb, &out.DiskSizeGb - *out = new(int64) + *out = new(float64) **out = **in } if in.DiskType != nil { @@ -3932,14 +4122,22 @@ func (in *GkeConfigParameters) DeepCopyInto(out *GkeConfigParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LocalSsdCount != nil { in, out := &in.LocalSsdCount, &out.LocalSsdCount - *out = new(int64) + *out = new(float64) **out = **in } if in.Locations != nil { @@ -3986,12 +4184,12 @@ func (in *GkeConfigParameters) DeepCopyInto(out *GkeConfigParameters) { } if in.MaxNodeCount != nil { in, out := &in.MaxNodeCount, &out.MaxNodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.MinNodeCount != nil { in, out := &in.MinNodeCount, &out.MinNodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.Network != nil { @@ -4001,7 +4199,7 @@ func (in *GkeConfigParameters) DeepCopyInto(out *GkeConfigParameters) { } if in.NodeCount != nil { in, out := &in.NodeCount, &out.NodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.NodePool != nil { @@ -4042,9 +4240,17 @@ func (in *GkeConfigParameters) DeepCopyInto(out *GkeConfigParameters) { } if in.ResourceLabels != nil { in, out := &in.ResourceLabels, &out.ResourceLabels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ServiceAccount != nil { @@ -4124,7 +4330,7 @@ func (in *GkeConfigV2NodePoolsParameters) DeepCopyInto(out *GkeConfigV2NodePools } if in.InitialNodeCount != nil { in, out := &in.InitialNodeCount, &out.InitialNodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.Management != nil { @@ -4136,7 +4342,7 @@ func (in *GkeConfigV2NodePoolsParameters) DeepCopyInto(out *GkeConfigV2NodePools } if in.MaxPodsConstraint != nil { in, out := &in.MaxPodsConstraint, &out.MaxPodsConstraint - *out = new(int64) + *out = new(float64) **out = **in } if in.Name != nil { @@ -4221,9 +4427,17 @@ func (in *GkeConfigV2Parameters) DeepCopyInto(out *GkeConfigV2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Locations != nil { @@ -4500,19 +4714,27 @@ func (in *IngressParameters) DeepCopyInto(out *IngressParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.HTTPPort != nil { in, out := &in.HTTPPort, &out.HTTPPort - *out = new(int64) + *out = new(float64) **out = **in } if in.HTTPSPort != nil { in, out := &in.HTTPSPort, &out.HTTPSPort - *out = new(int64) + *out = new(float64) **out = **in } if in.NetworkMode != nil { @@ -4522,16 +4744,32 @@ func (in *IngressParameters) DeepCopyInto(out *IngressParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -4600,7 +4838,7 @@ func (in *IngressTolerationsParameters) DeepCopyInto(out *IngressTolerationsPara } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -4724,9 +4962,17 @@ func (in *KubeAPIParameters) DeepCopyInto(out *KubeAPIParameters) { *out = *in if in.AdmissionConfiguration != nil { in, out := &in.AdmissionConfiguration, &out.AdmissionConfiguration - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.AlwaysPullImages != nil { @@ -4750,9 +4996,17 @@ func (in *KubeAPIParameters) DeepCopyInto(out *KubeAPIParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -4841,9 +5095,17 @@ func (in *KubeControllerParameters) DeepCopyInto(out *KubeControllerParameters) } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -4920,9 +5182,17 @@ func (in *KubeletParameters) DeepCopyInto(out *KubeletParameters) { } if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -4999,9 +5269,17 @@ func (in *KubeproxyParameters) DeepCopyInto(out *KubeproxyParameters) { *out = *in if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -5073,7 +5351,7 @@ func (in *LaunchTemplateParameters) DeepCopyInto(out *LaunchTemplateParameters) } if in.Version != nil { in, out := &in.Version, &out.Version - *out = new(int64) + *out = new(float64) **out = **in } } @@ -5208,12 +5486,12 @@ func (in *LinearAutoscalerParamsParameters) DeepCopyInto(out *LinearAutoscalerPa } if in.Max != nil { in, out := &in.Max, &out.Max - *out = new(int64) + *out = new(float64) **out = **in } if in.Min != nil { in, out := &in.Min, &out.Min - *out = new(int64) + *out = new(float64) **out = **in } if in.NodesPerReplica != nil { @@ -5293,7 +5571,7 @@ func (in *LoadBalancerParameters) DeepCopyInto(out *LoadBalancerParameters) { } if in.MonitorMaxRetries != nil { in, out := &in.MonitorMaxRetries, &out.MonitorMaxRetries - *out = new(int64) + *out = new(float64) **out = **in } if in.MonitorTimeout != nil { @@ -5425,7 +5703,7 @@ func (in *MetadataParameters) DeepCopyInto(out *MetadataParameters) { *out = *in if in.RequestTimeout != nil { in, out := &in.RequestTimeout, &out.RequestTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.SearchOrder != nil { @@ -5465,16 +5743,32 @@ func (in *MonitoringParameters) DeepCopyInto(out *MonitoringParameters) { *out = *in if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Provider != nil { @@ -5484,7 +5778,7 @@ func (in *MonitoringParameters) DeepCopyInto(out *MonitoringParameters) { } if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas - *out = new(int64) + *out = new(float64) **out = **in } if in.Tolerations != nil { @@ -5548,7 +5842,7 @@ func (in *MonitoringTolerationsParameters) DeepCopyInto(out *MonitoringToleratio } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -5630,12 +5924,12 @@ func (in *MonitoringUpdateStrategyRollingUpdateParameters) DeepCopyInto(out *Mon *out = *in if in.MaxSurge != nil { in, out := &in.MaxSurge, &out.MaxSurge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -5869,9 +6163,17 @@ func (in *NamespaceParameters) DeepCopyInto(out *NamespaceParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ContainerResourceLimit != nil { @@ -5888,9 +6190,17 @@ func (in *NamespaceParameters) DeepCopyInto(out *NamespaceParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ProjectID != nil { @@ -6026,7 +6336,7 @@ func (in *NetworkTolerationsParameters) DeepCopyInto(out *NetworkTolerationsPara } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -6071,12 +6381,12 @@ func (in *NodeGroupsParameters) DeepCopyInto(out *NodeGroupsParameters) { *out = *in if in.DesiredSize != nil { in, out := &in.DesiredSize, &out.DesiredSize - *out = new(int64) + *out = new(float64) **out = **in } if in.DiskSize != nil { in, out := &in.DiskSize, &out.DiskSize - *out = new(int64) + *out = new(float64) **out = **in } if in.EC2SSHKey != nil { @@ -6101,9 +6411,17 @@ func (in *NodeGroupsParameters) DeepCopyInto(out *NodeGroupsParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.LaunchTemplate != nil { @@ -6115,12 +6433,12 @@ func (in *NodeGroupsParameters) DeepCopyInto(out *NodeGroupsParameters) { } if in.MaxSize != nil { in, out := &in.MaxSize, &out.MaxSize - *out = new(int64) + *out = new(float64) **out = **in } if in.MinSize != nil { in, out := &in.MinSize, &out.MinSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Name != nil { @@ -6135,9 +6453,17 @@ func (in *NodeGroupsParameters) DeepCopyInto(out *NodeGroupsParameters) { } if in.ResourceTags != nil { in, out := &in.ResourceTags, &out.ResourceTags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.SpotInstanceTypes != nil { @@ -6164,9 +6490,17 @@ func (in *NodeGroupsParameters) DeepCopyInto(out *NodeGroupsParameters) { } if in.Tags != nil { in, out := &in.Tags, &out.Tags - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.UserData != nil { @@ -6217,7 +6551,7 @@ func (in *NodePoolsParameters) DeepCopyInto(out *NodePoolsParameters) { } if in.Count != nil { in, out := &in.Count, &out.Count - *out = new(int64) + *out = new(float64) **out = **in } if in.EnableAutoScaling != nil { @@ -6227,17 +6561,17 @@ func (in *NodePoolsParameters) DeepCopyInto(out *NodePoolsParameters) { } if in.MaxCount != nil { in, out := &in.MaxCount, &out.MaxCount - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxPods != nil { in, out := &in.MaxPods, &out.MaxPods - *out = new(int64) + *out = new(float64) **out = **in } if in.MinCount != nil { in, out := &in.MinCount, &out.MinCount - *out = new(int64) + *out = new(float64) **out = **in } if in.Mode != nil { @@ -6257,7 +6591,7 @@ func (in *NodePoolsParameters) DeepCopyInto(out *NodePoolsParameters) { } if in.OsDiskSizeGb != nil { in, out := &in.OsDiskSizeGb, &out.OsDiskSizeGb - *out = new(int64) + *out = new(float64) **out = **in } if in.OsDiskType != nil { @@ -6312,9 +6646,17 @@ func (in *NodelocalParameters) DeepCopyInto(out *NodelocalParameters) { } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } } @@ -6369,9 +6711,17 @@ func (in *NodesParameters) DeepCopyInto(out *NodesParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NodeID != nil { @@ -6507,9 +6857,17 @@ func (in *NotifierParameters) DeepCopyInto(out *NotifierParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -6531,9 +6889,17 @@ func (in *NotifierParameters) DeepCopyInto(out *NotifierParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MsteamsConfig != nil { @@ -6654,7 +7020,7 @@ func (in *OkeConfigParameters) DeepCopyInto(out *OkeConfigParameters) { } if in.CustomBootVolumeSize != nil { in, out := &in.CustomBootVolumeSize, &out.CustomBootVolumeSize - *out = new(int64) + *out = new(float64) **out = **in } if in.Description != nil { @@ -6684,7 +7050,7 @@ func (in *OkeConfigParameters) DeepCopyInto(out *OkeConfigParameters) { } if in.FlexOcpus != nil { in, out := &in.FlexOcpus, &out.FlexOcpus - *out = new(int64) + *out = new(float64) **out = **in } if in.KMSKeyIDSecretRef != nil { @@ -6699,7 +7065,7 @@ func (in *OkeConfigParameters) DeepCopyInto(out *OkeConfigParameters) { } if in.LimitNodeCount != nil { in, out := &in.LimitNodeCount, &out.LimitNodeCount - *out = new(int64) + *out = new(float64) **out = **in } if in.LoadBalancerSubnetName1 != nil { @@ -6750,12 +7116,12 @@ func (in *OkeConfigParameters) DeepCopyInto(out *OkeConfigParameters) { } if in.QuantityOfNodeSubnets != nil { in, out := &in.QuantityOfNodeSubnets, &out.QuantityOfNodeSubnets - *out = new(int64) + *out = new(float64) **out = **in } if in.QuantityPerSubnet != nil { in, out := &in.QuantityPerSubnet, &out.QuantityPerSubnet - *out = new(int64) + *out = new(float64) **out = **in } if in.Region != nil { @@ -7318,9 +7684,17 @@ func (in *ProjectMonitoringInputParameters) DeepCopyInto(out *ProjectMonitoringI *out = *in if in.Answers != nil { in, out := &in.Answers, &out.Answers - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Version != nil { @@ -7365,9 +7739,17 @@ func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -7394,9 +7776,17 @@ func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.PodSecurityPolicyTemplateID != nil { @@ -7642,9 +8032,17 @@ func (in *RegistryParameters) DeepCopyInto(out *RegistryParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Description != nil { @@ -7654,9 +8052,17 @@ func (in *RegistryParameters) DeepCopyInto(out *RegistryParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.NamespaceID != nil { @@ -7831,12 +8237,12 @@ func (in *Rke2ConfigUpgradeStrategyParameters) DeepCopyInto(out *Rke2ConfigUpgra } if in.ServerConcurrency != nil { in, out := &in.ServerConcurrency, &out.ServerConcurrency - *out = new(int64) + *out = new(float64) **out = **in } if in.WorkerConcurrency != nil { in, out := &in.WorkerConcurrency, &out.WorkerConcurrency - *out = new(int64) + *out = new(float64) **out = **in } } @@ -7892,14 +8298,22 @@ func (in *RkeConfigNetworkParameters) DeepCopyInto(out *RkeConfigNetworkParamete } if in.Mtu != nil { in, out := &in.Mtu, &out.Mtu - *out = new(int64) + *out = new(float64) **out = **in } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Plugin != nil { @@ -7953,7 +8367,7 @@ func (in *RkeConfigParameters) DeepCopyInto(out *RkeConfigParameters) { *out = *in if in.AddonJobTimeout != nil { in, out := &in.AddonJobTimeout, &out.AddonJobTimeout - *out = new(int64) + *out = new(float64) **out = **in } if in.Addons != nil { @@ -8180,12 +8594,12 @@ func (in *RollingUpdateParameters) DeepCopyInto(out *RollingUpdateParameters) { *out = *in if in.MaxSurge != nil { in, out := &in.MaxSurge, &out.MaxSurge - *out = new(int64) + *out = new(float64) **out = **in } if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -8335,7 +8749,7 @@ func (in *SMTPConfigParameters) DeepCopyInto(out *SMTPConfigParameters) { } if in.Port != nil { in, out := &in.Port, &out.Port - *out = new(int64) + *out = new(float64) **out = **in } if in.Sender != nil { @@ -8427,7 +8841,7 @@ func (in *ScheduleConfigParameters) DeepCopyInto(out *ScheduleConfigParameters) } if in.Retention != nil { in, out := &in.Retention, &out.Retention - *out = new(int64) + *out = new(float64) **out = **in } } @@ -8511,9 +8925,17 @@ func (in *SchedulerParameters) DeepCopyInto(out *SchedulerParameters) { *out = *in if in.ExtraArgs != nil { in, out := &in.ExtraArgs, &out.ExtraArgs - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ExtraBinds != nil { @@ -8811,16 +9233,32 @@ func (in *SettingParameters) DeepCopyInto(out *SettingParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Value != nil { @@ -9068,9 +9506,17 @@ func (in *TokenParameters) DeepCopyInto(out *TokenParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -9085,9 +9531,17 @@ func (in *TokenParameters) DeepCopyInto(out *TokenParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Renew != nil { @@ -9097,7 +9551,7 @@ func (in *TokenParameters) DeepCopyInto(out *TokenParameters) { } if in.TTL != nil { in, out := &in.TTL, &out.TTL - *out = new(int64) + *out = new(float64) **out = **in } } @@ -9181,7 +9635,7 @@ func (in *TolerationsParameters) DeepCopyInto(out *TolerationsParameters) { } if in.Seconds != nil { in, out := &in.Seconds, &out.Seconds - *out = new(int64) + *out = new(float64) **out = **in } if in.Value != nil { @@ -9263,7 +9717,7 @@ func (in *UpdateStrategyRollingUpdateParameters) DeepCopyInto(out *UpdateStrateg *out = *in if in.MaxUnavailable != nil { in, out := &in.MaxUnavailable, &out.MaxUnavailable - *out = new(int64) + *out = new(float64) **out = **in } } @@ -9308,12 +9762,12 @@ func (in *UpgradeStrategyParameters) DeepCopyInto(out *UpgradeStrategyParameters } if in.ServerConcurrency != nil { in, out := &in.ServerConcurrency, &out.ServerConcurrency - *out = new(int64) + *out = new(float64) **out = **in } if in.WorkerConcurrency != nil { in, out := &in.WorkerConcurrency, &out.WorkerConcurrency - *out = new(int64) + *out = new(float64) **out = **in } } @@ -9423,9 +9877,17 @@ func (in *UserParameters) DeepCopyInto(out *UserParameters) { *out = *in if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Enabled != nil { @@ -9435,9 +9897,17 @@ func (in *UserParameters) DeepCopyInto(out *UserParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } out.PasswordSecretRef = in.PasswordSecretRef @@ -9528,7 +9998,7 @@ func (in *VirtualCenterParameters) DeepCopyInto(out *VirtualCenterParameters) { } if in.SoapRoundtripCount != nil { in, out := &in.SoapRoundtripCount, &out.SoapRoundtripCount - *out = new(int64) + *out = new(float64) **out = **in } out.UserSecretRef = in.UserSecretRef @@ -9584,7 +10054,7 @@ func (in *VsphereCloudProviderGlobalParameters) DeepCopyInto(out *VsphereCloudPr } if in.SoapRoundtripCount != nil { in, out := &in.SoapRoundtripCount, &out.SoapRoundtripCount - *out = new(int64) + *out = new(float64) **out = **in } if in.UserSecretRef != nil { diff --git a/apis/rancher2/v1alpha1/zz_generated.managed.go b/apis/rancher2/v1alpha1/zz_generated.managed.go index 7b95973..983504d 100644 --- a/apis/rancher2/v1alpha1/zz_generated.managed.go +++ b/apis/rancher2/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *App) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this App. +func (mg *App) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this App. func (mg *App) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *App) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this App. +func (mg *App) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this App. func (mg *App) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -98,6 +108,11 @@ func (mg *Bootstrap) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Bootstrap. +func (mg *Bootstrap) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Bootstrap. func (mg *Bootstrap) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -126,6 +141,11 @@ func (mg *Bootstrap) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Bootstrap. +func (mg *Bootstrap) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Bootstrap. func (mg *Bootstrap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -154,6 +174,11 @@ func (mg *Catalog) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Catalog. +func (mg *Catalog) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Catalog. func (mg *Catalog) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -182,6 +207,11 @@ func (mg *Catalog) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Catalog. +func (mg *Catalog) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Catalog. func (mg *Catalog) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -210,6 +240,11 @@ func (mg *Certificate) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Certificate. +func (mg *Certificate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Certificate. func (mg *Certificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -238,6 +273,11 @@ func (mg *Certificate) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Certificate. +func (mg *Certificate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Certificate. func (mg *Certificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -266,6 +306,11 @@ func (mg *Cluster) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Cluster. +func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Cluster. func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -294,6 +339,11 @@ func (mg *Cluster) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Cluster. +func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Cluster. func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -322,6 +372,11 @@ func (mg *Feature) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Feature. +func (mg *Feature) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Feature. func (mg *Feature) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -350,6 +405,11 @@ func (mg *Feature) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Feature. +func (mg *Feature) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Feature. func (mg *Feature) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -378,6 +438,11 @@ func (mg *Namespace) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Namespace. +func (mg *Namespace) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Namespace. func (mg *Namespace) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -406,6 +471,11 @@ func (mg *Namespace) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Namespace. +func (mg *Namespace) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Namespace. func (mg *Namespace) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -434,6 +504,11 @@ func (mg *Notifier) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Notifier. +func (mg *Notifier) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Notifier. func (mg *Notifier) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -462,6 +537,11 @@ func (mg *Notifier) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Notifier. +func (mg *Notifier) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Notifier. func (mg *Notifier) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -490,6 +570,11 @@ func (mg *Project) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Project. +func (mg *Project) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Project. func (mg *Project) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -518,6 +603,11 @@ func (mg *Project) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Project. +func (mg *Project) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Project. func (mg *Project) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -546,6 +636,11 @@ func (mg *Registry) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Registry. +func (mg *Registry) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Registry. func (mg *Registry) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -574,6 +669,11 @@ func (mg *Registry) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Registry. +func (mg *Registry) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Registry. func (mg *Registry) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -602,6 +702,11 @@ func (mg *Setting) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Setting. +func (mg *Setting) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Setting. func (mg *Setting) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -630,6 +735,11 @@ func (mg *Setting) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Setting. +func (mg *Setting) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Setting. func (mg *Setting) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -658,6 +768,11 @@ func (mg *Token) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Token. +func (mg *Token) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Token. func (mg *Token) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -686,6 +801,11 @@ func (mg *Token) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Token. +func (mg *Token) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Token. func (mg *Token) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r @@ -714,6 +834,11 @@ func (mg *User) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this User. +func (mg *User) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this User. func (mg *User) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -742,6 +867,11 @@ func (mg *User) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this User. +func (mg *User) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this User. func (mg *User) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/rancher2/v1alpha1/zz_generated_terraformed.go b/apis/rancher2/v1alpha1/zz_generated_terraformed.go new file mode 100755 index 0000000..65cee65 --- /dev/null +++ b/apis/rancher2/v1alpha1/zz_generated_terraformed.go @@ -0,0 +1,988 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this App +func (mg *App) GetTerraformResourceType() string { + return "rancher2_app" +} + +// GetConnectionDetailsMapping for this App +func (tr *App) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this App +func (tr *App) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this App +func (tr *App) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this App +func (tr *App) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this App +func (tr *App) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this App +func (tr *App) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this App using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *App) LateInitialize(attrs []byte) (bool, error) { + params := &AppParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *App) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Bootstrap +func (mg *Bootstrap) GetTerraformResourceType() string { + return "rancher2_bootstrap" +} + +// GetConnectionDetailsMapping for this Bootstrap +func (tr *Bootstrap) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"current_password": "status.atProvider.currentPassword", "initial_password": "spec.forProvider.initialPasswordSecretRef", "password": "spec.forProvider.passwordSecretRef", "temp_token": "status.atProvider.tempToken", "token": "status.atProvider.token"} +} + +// GetObservation of this Bootstrap +func (tr *Bootstrap) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Bootstrap +func (tr *Bootstrap) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Bootstrap +func (tr *Bootstrap) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Bootstrap +func (tr *Bootstrap) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Bootstrap +func (tr *Bootstrap) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Bootstrap using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Bootstrap) LateInitialize(attrs []byte) (bool, error) { + params := &BootstrapParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Bootstrap) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Catalog +func (mg *Catalog) GetTerraformResourceType() string { + return "rancher2_catalog" +} + +// GetConnectionDetailsMapping for this Catalog +func (tr *Catalog) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"password": "spec.forProvider.passwordSecretRef", "username": "spec.forProvider.usernameSecretRef"} +} + +// GetObservation of this Catalog +func (tr *Catalog) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Catalog +func (tr *Catalog) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Catalog +func (tr *Catalog) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Catalog +func (tr *Catalog) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Catalog +func (tr *Catalog) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Catalog using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Catalog) LateInitialize(attrs []byte) (bool, error) { + params := &CatalogParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Catalog) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Certificate +func (mg *Certificate) GetTerraformResourceType() string { + return "rancher2_certificate" +} + +// GetConnectionDetailsMapping for this Certificate +func (tr *Certificate) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"key": "spec.forProvider.keySecretRef"} +} + +// GetObservation of this Certificate +func (tr *Certificate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Certificate +func (tr *Certificate) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Certificate +func (tr *Certificate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Certificate +func (tr *Certificate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Certificate +func (tr *Certificate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Certificate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Certificate) LateInitialize(attrs []byte) (bool, error) { + params := &CertificateParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Certificate) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Cluster +func (mg *Cluster) GetTerraformResourceType() string { + return "rancher2_cluster" +} + +// GetConnectionDetailsMapping for this Cluster +func (tr *Cluster) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"aks_config[*].aad_server_app_secret": "spec.forProvider.aksConfig[*].aadServerAppSecretSecretRef", "aks_config[*].aad_tenant_id": "spec.forProvider.aksConfig[*].aadTenantIdSecretRef", "aks_config[*].add_client_app_id": "spec.forProvider.aksConfig[*].addClientAppIdSecretRef", "aks_config[*].add_server_app_id": "spec.forProvider.aksConfig[*].addServerAppIdSecretRef", "aks_config[*].client_id": "spec.forProvider.aksConfig[*].clientIdSecretRef", "aks_config[*].client_secret": "spec.forProvider.aksConfig[*].clientSecretSecretRef", "ca_cert": "status.atProvider.caCert", "eks_config[*].access_key": "spec.forProvider.eksConfig[*].accessKeySecretRef", "eks_config[*].secret_key": "spec.forProvider.eksConfig[*].secretKeySecretRef", "eks_config[*].session_token": "spec.forProvider.eksConfig[*].sessionTokenSecretRef", "gke_config[*].credential": "spec.forProvider.gkeConfig[*].credentialSecretRef", "gke_config_v2[*].google_credential_secret": "spec.forProvider.gkeConfigV2[*].googleCredentialSecretSecretRef", "kube_config": "status.atProvider.kubeConfig", "oke_config[*].kms_key_id": "spec.forProvider.okeConfig[*].kmsKeyIdSecretRef", "oke_config[*].private_key_contents": "spec.forProvider.okeConfig[*].privateKeyContentsSecretRef", "oke_config[*].private_key_passphrase": "spec.forProvider.okeConfig[*].privateKeyPassphraseSecretRef", "rke_config[*].bastion_host[*].ssh_key": "spec.forProvider.rkeConfig[*].bastionHost[*].sshKeySecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_cert_password": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientCertPasswordSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientIdSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].aad_client_secret": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].aadClientSecretSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].subscription_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].subscriptionIdSecretRef", "rke_config[*].cloud_provider[*].azure_cloud_provider[*].tenant_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].azureCloudProvider[*].tenantIdSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].domain_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].domainIdSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].passwordSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].tenant_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].tenantIdSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].trust_id": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].trustIdSecretRef", "rke_config[*].cloud_provider[*].openstack_cloud_provider[*].global[*].username": "spec.forProvider.rkeConfig[*].cloudProvider[*].openstackCloudProvider[*].global[*].usernameSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].passwordSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].global[*].user": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].global[*].userSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].password": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].passwordSecretRef", "rke_config[*].cloud_provider[*].vsphere_cloud_provider[*].virtual_center[*].user": "spec.forProvider.rkeConfig[*].cloudProvider[*].vsphereCloudProvider[*].virtualCenter[*].userSecretRef", "rke_config[*].nodes[*].ssh_key": "spec.forProvider.rkeConfig[*].nodes[*].sshKeySecretRef", "rke_config[*].nodes[*].user": "spec.forProvider.rkeConfig[*].nodes[*].userSecretRef", "rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_secret_access_key": "spec.forProvider.rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSecretAccessKeySecretRef", "rke_config[*].private_registries[*].ecr_credential_plugin[*].aws_session_token": "spec.forProvider.rkeConfig[*].privateRegistries[*].ecrCredentialPlugin[*].awsSessionTokenSecretRef", "rke_config[*].private_registries[*].password": "spec.forProvider.rkeConfig[*].privateRegistries[*].passwordSecretRef", "rke_config[*].private_registries[*].user": "spec.forProvider.rkeConfig[*].privateRegistries[*].userSecretRef", "rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].access_key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].accessKeySecretRef", "rke_config[*].services[*].etcd[*].backup_config[*].s3_backup_config[*].secret_key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].backupConfig[*].s3BackupConfig[*].secretKeySecretRef", "rke_config[*].services[*].etcd[*].cert": "spec.forProvider.rkeConfig[*].services[*].etcd[*].certSecretRef", "rke_config[*].services[*].etcd[*].key": "spec.forProvider.rkeConfig[*].services[*].etcd[*].keySecretRef"} +} + +// GetObservation of this Cluster +func (tr *Cluster) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Cluster +func (tr *Cluster) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Cluster +func (tr *Cluster) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Cluster +func (tr *Cluster) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Cluster +func (tr *Cluster) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Cluster using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Cluster) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Cluster) GetTerraformSchemaVersion() int { + return 1 +} + +// GetTerraformResourceType returns Terraform resource type for this Feature +func (mg *Feature) GetTerraformResourceType() string { + return "rancher2_feature" +} + +// GetConnectionDetailsMapping for this Feature +func (tr *Feature) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Feature +func (tr *Feature) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Feature +func (tr *Feature) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Feature +func (tr *Feature) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Feature +func (tr *Feature) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Feature +func (tr *Feature) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Feature using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Feature) LateInitialize(attrs []byte) (bool, error) { + params := &FeatureParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Feature) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Namespace +func (mg *Namespace) GetTerraformResourceType() string { + return "rancher2_namespace" +} + +// GetConnectionDetailsMapping for this Namespace +func (tr *Namespace) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Namespace +func (tr *Namespace) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Namespace +func (tr *Namespace) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Namespace +func (tr *Namespace) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Namespace +func (tr *Namespace) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Namespace +func (tr *Namespace) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Namespace using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Namespace) LateInitialize(attrs []byte) (bool, error) { + params := &NamespaceParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Namespace) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Notifier +func (mg *Notifier) GetTerraformResourceType() string { + return "rancher2_notifier" +} + +// GetConnectionDetailsMapping for this Notifier +func (tr *Notifier) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"dingtalk_config[*].secret": "spec.forProvider.dingtalkConfig[*].secretSecretRef", "smtp_config[*].password": "spec.forProvider.smtpConfig[*].passwordSecretRef", "wechat_config[*].secret": "spec.forProvider.wechatConfig[*].secretSecretRef"} +} + +// GetObservation of this Notifier +func (tr *Notifier) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Notifier +func (tr *Notifier) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Notifier +func (tr *Notifier) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Notifier +func (tr *Notifier) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Notifier +func (tr *Notifier) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Notifier using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Notifier) LateInitialize(attrs []byte) (bool, error) { + params := &NotifierParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Notifier) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Project +func (mg *Project) GetTerraformResourceType() string { + return "rancher2_project" +} + +// GetConnectionDetailsMapping for this Project +func (tr *Project) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Project +func (tr *Project) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Project +func (tr *Project) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Project +func (tr *Project) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Project +func (tr *Project) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Project +func (tr *Project) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Project using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Project) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Project) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Registry +func (mg *Registry) GetTerraformResourceType() string { + return "rancher2_registry" +} + +// GetConnectionDetailsMapping for this Registry +func (tr *Registry) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"registries[*].password": "spec.forProvider.registries[*].passwordSecretRef"} +} + +// GetObservation of this Registry +func (tr *Registry) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Registry +func (tr *Registry) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Registry +func (tr *Registry) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Registry +func (tr *Registry) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Registry +func (tr *Registry) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Registry using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Registry) LateInitialize(attrs []byte) (bool, error) { + params := &RegistryParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Registry) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Setting +func (mg *Setting) GetTerraformResourceType() string { + return "rancher2_setting" +} + +// GetConnectionDetailsMapping for this Setting +func (tr *Setting) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Setting +func (tr *Setting) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Setting +func (tr *Setting) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Setting +func (tr *Setting) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Setting +func (tr *Setting) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Setting +func (tr *Setting) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Setting using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Setting) LateInitialize(attrs []byte) (bool, error) { + params := &SettingParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Setting) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Token +func (mg *Token) GetTerraformResourceType() string { + return "rancher2_token" +} + +// GetConnectionDetailsMapping for this Token +func (tr *Token) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"secret_key": "status.atProvider.secretKey", "token": "status.atProvider.token"} +} + +// GetObservation of this Token +func (tr *Token) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Token +func (tr *Token) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Token +func (tr *Token) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Token +func (tr *Token) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Token +func (tr *Token) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Token using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Token) LateInitialize(attrs []byte) (bool, error) { + params := &TokenParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Token) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this User +func (mg *User) GetTerraformResourceType() string { + return "rancher2_user" +} + +// GetConnectionDetailsMapping for this User +func (tr *User) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"password": "spec.forProvider.passwordSecretRef"} +} + +// GetObservation of this User +func (tr *User) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this User +func (tr *User) SetObservation(obs map[string]interface{}) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this User +func (tr *User) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this User +func (tr *User) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this User +func (tr *User) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this User using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *User) LateInitialize(attrs []byte) (bool, error) { + params := &UserParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *User) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/rancher2/v1alpha1/zz_namespace_terraformed.go b/apis/rancher2/v1alpha1/zz_namespace_terraformed.go deleted file mode 100755 index 716abc8..0000000 --- a/apis/rancher2/v1alpha1/zz_namespace_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Namespace -func (mg *Namespace) GetTerraformResourceType() string { - return "rancher2_namespace" -} - -// GetConnectionDetailsMapping for this Namespace -func (tr *Namespace) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Namespace -func (tr *Namespace) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Namespace -func (tr *Namespace) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Namespace -func (tr *Namespace) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Namespace -func (tr *Namespace) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Namespace -func (tr *Namespace) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Namespace using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Namespace) LateInitialize(attrs []byte) (bool, error) { - params := &NamespaceParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Namespace) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_namespace_types.go b/apis/rancher2/v1alpha1/zz_namespace_types.go index 9f827fe..c6b6cfc 100755 --- a/apis/rancher2/v1alpha1/zz_namespace_types.go +++ b/apis/rancher2/v1alpha1/zz_namespace_types.go @@ -96,7 +96,7 @@ type NamespaceParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional ContainerResourceLimit []ContainerResourceLimitParameters `json:"containerResourceLimit,omitempty" tf:"container_resource_limit,omitempty"` @@ -107,7 +107,7 @@ type NamespaceParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Project ID where k8s namespace belongs // +kubebuilder:validation:Required diff --git a/apis/rancher2/v1alpha1/zz_notifier_terraformed.go b/apis/rancher2/v1alpha1/zz_notifier_terraformed.go deleted file mode 100755 index ddee056..0000000 --- a/apis/rancher2/v1alpha1/zz_notifier_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Notifier -func (mg *Notifier) GetTerraformResourceType() string { - return "rancher2_notifier" -} - -// GetConnectionDetailsMapping for this Notifier -func (tr *Notifier) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"dingtalk_config[*].secret": "spec.forProvider.dingtalkConfig[*].secretSecretRef", "smtp_config[*].password": "spec.forProvider.smtpConfig[*].passwordSecretRef", "wechat_config[*].secret": "spec.forProvider.wechatConfig[*].secretSecretRef"} -} - -// GetObservation of this Notifier -func (tr *Notifier) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Notifier -func (tr *Notifier) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Notifier -func (tr *Notifier) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Notifier -func (tr *Notifier) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Notifier -func (tr *Notifier) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Notifier using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Notifier) LateInitialize(attrs []byte) (bool, error) { - params := &NotifierParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Notifier) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_notifier_types.go b/apis/rancher2/v1alpha1/zz_notifier_types.go index 5d6c848..a07c9cf 100755 --- a/apis/rancher2/v1alpha1/zz_notifier_types.go +++ b/apis/rancher2/v1alpha1/zz_notifier_types.go @@ -65,7 +65,7 @@ type NotifierParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Notifier cluster ID // +kubebuilder:validation:Required @@ -80,7 +80,7 @@ type NotifierParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional MsteamsConfig []MsteamsConfigParameters `json:"msteamsConfig,omitempty" tf:"msteams_config,omitempty"` @@ -138,7 +138,7 @@ type SMTPConfigParameters struct { // SMTP port // +kubebuilder:validation:Required - Port *int64 `json:"port" tf:"port,omitempty"` + Port *float64 `json:"port" tf:"port,omitempty"` // SMTP sender // +kubebuilder:validation:Required diff --git a/apis/rancher2/v1alpha1/zz_project_terraformed.go b/apis/rancher2/v1alpha1/zz_project_terraformed.go deleted file mode 100755 index 8c496b3..0000000 --- a/apis/rancher2/v1alpha1/zz_project_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Project -func (mg *Project) GetTerraformResourceType() string { - return "rancher2_project" -} - -// GetConnectionDetailsMapping for this Project -func (tr *Project) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Project -func (tr *Project) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Project -func (tr *Project) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Project -func (tr *Project) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Project -func (tr *Project) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Project -func (tr *Project) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Project using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Project) LateInitialize(attrs []byte) (bool, error) { - params := &ProjectParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Project) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_project_types.go b/apis/rancher2/v1alpha1/zz_project_types.go index 528614e..78b8689 100755 --- a/apis/rancher2/v1alpha1/zz_project_types.go +++ b/apis/rancher2/v1alpha1/zz_project_types.go @@ -140,7 +140,7 @@ type ProjectMonitoringInputParameters struct { // Answers for monitor input // +kubebuilder:validation:Optional - Answers map[string]string `json:"answers,omitempty" tf:"answers,omitempty"` + Answers map[string]*string `json:"answers,omitempty" tf:"answers,omitempty"` // Monitoring version // +kubebuilder:validation:Optional @@ -155,7 +155,7 @@ type ProjectParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Required ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` @@ -172,7 +172,7 @@ type ProjectParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Optional PodSecurityPolicyTemplateID *string `json:"podSecurityPolicyTemplateId,omitempty" tf:"pod_security_policy_template_id,omitempty"` diff --git a/apis/rancher2/v1alpha1/zz_registry_terraformed.go b/apis/rancher2/v1alpha1/zz_registry_terraformed.go deleted file mode 100755 index 061019e..0000000 --- a/apis/rancher2/v1alpha1/zz_registry_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Registry -func (mg *Registry) GetTerraformResourceType() string { - return "rancher2_registry" -} - -// GetConnectionDetailsMapping for this Registry -func (tr *Registry) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"registries[*].password": "spec.forProvider.registries[*].passwordSecretRef"} -} - -// GetObservation of this Registry -func (tr *Registry) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Registry -func (tr *Registry) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Registry -func (tr *Registry) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Registry -func (tr *Registry) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Registry -func (tr *Registry) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Registry using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Registry) LateInitialize(attrs []byte) (bool, error) { - params := &RegistryParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Registry) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_registry_types.go b/apis/rancher2/v1alpha1/zz_registry_types.go index 3f8a16b..96abae5 100755 --- a/apis/rancher2/v1alpha1/zz_registry_types.go +++ b/apis/rancher2/v1alpha1/zz_registry_types.go @@ -48,7 +48,7 @@ type RegistryParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Description of the docker registry // +kubebuilder:validation:Optional @@ -56,7 +56,7 @@ type RegistryParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Namespace ID to add docker registry // +kubebuilder:validation:Optional diff --git a/apis/rancher2/v1alpha1/zz_setting_terraformed.go b/apis/rancher2/v1alpha1/zz_setting_terraformed.go deleted file mode 100755 index 46adfd1..0000000 --- a/apis/rancher2/v1alpha1/zz_setting_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Setting -func (mg *Setting) GetTerraformResourceType() string { - return "rancher2_setting" -} - -// GetConnectionDetailsMapping for this Setting -func (tr *Setting) GetConnectionDetailsMapping() map[string]string { - return nil -} - -// GetObservation of this Setting -func (tr *Setting) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Setting -func (tr *Setting) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Setting -func (tr *Setting) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Setting -func (tr *Setting) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Setting -func (tr *Setting) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Setting using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Setting) LateInitialize(attrs []byte) (bool, error) { - params := &SettingParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Setting) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_setting_types.go b/apis/rancher2/v1alpha1/zz_setting_types.go index 3de9a26..c38c4ba 100755 --- a/apis/rancher2/v1alpha1/zz_setting_types.go +++ b/apis/rancher2/v1alpha1/zz_setting_types.go @@ -33,11 +33,11 @@ type SettingParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required Value *string `json:"value" tf:"value,omitempty"` diff --git a/apis/rancher2/v1alpha1/zz_token_terraformed.go b/apis/rancher2/v1alpha1/zz_token_terraformed.go deleted file mode 100755 index 607065a..0000000 --- a/apis/rancher2/v1alpha1/zz_token_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this Token -func (mg *Token) GetTerraformResourceType() string { - return "rancher2_token" -} - -// GetConnectionDetailsMapping for this Token -func (tr *Token) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"secret_key": "status.atProvider.secretKey", "token": "status.atProvider.token"} -} - -// GetObservation of this Token -func (tr *Token) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this Token -func (tr *Token) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this Token -func (tr *Token) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this Token -func (tr *Token) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this Token -func (tr *Token) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this Token using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *Token) LateInitialize(attrs []byte) (bool, error) { - params := &TokenParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *Token) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_token_types.go b/apis/rancher2/v1alpha1/zz_token_types.go index 67d7261..870c634 100755 --- a/apis/rancher2/v1alpha1/zz_token_types.go +++ b/apis/rancher2/v1alpha1/zz_token_types.go @@ -41,7 +41,7 @@ type TokenParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Cluster ID for scoped token // +kubebuilder:validation:Optional @@ -53,7 +53,7 @@ type TokenParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Renew expired or disabled token // +kubebuilder:validation:Optional @@ -61,7 +61,7 @@ type TokenParameters struct { // Token time to live in seconds // +kubebuilder:validation:Optional - TTL *int64 `json:"ttl,omitempty" tf:"ttl,omitempty"` + TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` } // TokenSpec defines the desired state of Token diff --git a/apis/rancher2/v1alpha1/zz_user_terraformed.go b/apis/rancher2/v1alpha1/zz_user_terraformed.go deleted file mode 100755 index f6f8346..0000000 --- a/apis/rancher2/v1alpha1/zz_user_terraformed.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2021 The Crossplane Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by terrajet. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/pkg/errors" - - "github.com/crossplane/terrajet/pkg/resource" - "github.com/crossplane/terrajet/pkg/resource/json" -) - -// GetTerraformResourceType returns Terraform resource type for this User -func (mg *User) GetTerraformResourceType() string { - return "rancher2_user" -} - -// GetConnectionDetailsMapping for this User -func (tr *User) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef"} -} - -// GetObservation of this User -func (tr *User) GetObservation() (map[string]interface{}, error) { - o, err := json.TFParser.Marshal(tr.Status.AtProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(o, &base) -} - -// SetObservation for this User -func (tr *User) SetObservation(obs map[string]interface{}) error { - p, err := json.TFParser.Marshal(obs) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) -} - -// GetID returns ID of underlying Terraform resource of this User -func (tr *User) GetID() string { - if tr.Status.AtProvider.ID == nil { - return "" - } - return *tr.Status.AtProvider.ID -} - -// GetParameters of this User -func (tr *User) GetParameters() (map[string]interface{}, error) { - p, err := json.TFParser.Marshal(tr.Spec.ForProvider) - if err != nil { - return nil, err - } - base := map[string]interface{}{} - return base, json.TFParser.Unmarshal(p, &base) -} - -// SetParameters for this User -func (tr *User) SetParameters(params map[string]interface{}) error { - p, err := json.TFParser.Marshal(params) - if err != nil { - return err - } - return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) -} - -// LateInitialize this User using its observed tfState. -// returns True if there are any spec changes for the resource. -func (tr *User) LateInitialize(attrs []byte) (bool, error) { - params := &UserParameters{} - if err := json.TFParser.Unmarshal(attrs, params); err != nil { - return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") - } - opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} - - li := resource.NewGenericLateInitializer(opts...) - return li.LateInitialize(&tr.Spec.ForProvider, params) -} - -// GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *User) GetTerraformSchemaVersion() int { - return 0 -} diff --git a/apis/rancher2/v1alpha1/zz_user_types.go b/apis/rancher2/v1alpha1/zz_user_types.go index 1ce830e..14fb226 100755 --- a/apis/rancher2/v1alpha1/zz_user_types.go +++ b/apis/rancher2/v1alpha1/zz_user_types.go @@ -35,14 +35,14 @@ type UserParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // +kubebuilder:validation:Required PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` diff --git a/apis/role/v1alpha1/zz_generated.deepcopy.go b/apis/role/v1alpha1/zz_generated.deepcopy.go index 1716a97..e05a134 100644 --- a/apis/role/v1alpha1/zz_generated.deepcopy.go +++ b/apis/role/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -203,9 +204,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Context != nil { @@ -235,9 +244,17 @@ func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.Locked != nil { diff --git a/apis/role/v1alpha1/zz_generated.managed.go b/apis/role/v1alpha1/zz_generated.managed.go index 4f26cc2..2a2cf46 100644 --- a/apis/role/v1alpha1/zz_generated.managed.go +++ b/apis/role/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *Template) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this Template. +func (mg *Template) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this Template. func (mg *Template) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *Template) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this Template. +func (mg *Template) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this Template. func (mg *Template) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/role/v1alpha1/zz_template_terraformed.go b/apis/role/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/role/v1alpha1/zz_template_terraformed.go rename to apis/role/v1alpha1/zz_generated_terraformed.go diff --git a/apis/role/v1alpha1/zz_template_types.go b/apis/role/v1alpha1/zz_template_types.go index 135e8e2..f97a7df 100755 --- a/apis/role/v1alpha1/zz_template_types.go +++ b/apis/role/v1alpha1/zz_template_types.go @@ -65,7 +65,7 @@ type TemplateParameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // Context role template // +kubebuilder:validation:Optional @@ -89,7 +89,7 @@ type TemplateParameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // Locked role template // +kubebuilder:validation:Optional diff --git a/apis/storage/v1alpha1/zz_classv2_types.go b/apis/storage/v1alpha1/zz_classv2_types.go index 3ca1772..9a2fd3b 100755 --- a/apis/storage/v1alpha1/zz_classv2_types.go +++ b/apis/storage/v1alpha1/zz_classv2_types.go @@ -39,7 +39,7 @@ type ClassV2Parameters struct { // Annotations of the resource // +kubebuilder:validation:Optional - Annotations map[string]string `json:"annotations,omitempty" tf:"annotations,omitempty"` + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` // K8s cluster ID // +kubebuilder:validation:Required @@ -51,7 +51,7 @@ type ClassV2Parameters struct { // Labels of the resource // +kubebuilder:validation:Optional - Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` // StorageClass mount options // +kubebuilder:validation:Optional @@ -59,7 +59,7 @@ type ClassV2Parameters struct { // StorageClass provisioner paramaters // +kubebuilder:validation:Optional - Parameters map[string]string `json:"parameters,omitempty" tf:"parameters,omitempty"` + Parameters map[string]*string `json:"parameters,omitempty" tf:"parameters,omitempty"` // StorageClass provisioner reclaim policy // +kubebuilder:validation:Optional diff --git a/apis/storage/v1alpha1/zz_generated.deepcopy.go b/apis/storage/v1alpha1/zz_generated.deepcopy.go index cac4668..0a58eaa 100644 --- a/apis/storage/v1alpha1/zz_generated.deepcopy.go +++ b/apis/storage/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -118,9 +119,17 @@ func (in *ClassV2Parameters) DeepCopyInto(out *ClassV2Parameters) { } if in.Annotations != nil { in, out := &in.Annotations, &out.Annotations - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ClusterID != nil { @@ -135,9 +144,17 @@ func (in *ClassV2Parameters) DeepCopyInto(out *ClassV2Parameters) { } if in.Labels != nil { in, out := &in.Labels, &out.Labels - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.MountOptions != nil { @@ -153,9 +170,17 @@ func (in *ClassV2Parameters) DeepCopyInto(out *ClassV2Parameters) { } if in.Parameters != nil { in, out := &in.Parameters, &out.Parameters - *out = make(map[string]string, len(*in)) + *out = make(map[string]*string, len(*in)) for key, val := range *in { - (*out)[key] = val + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal } } if in.ReclaimPolicy != nil { diff --git a/apis/storage/v1alpha1/zz_generated.managed.go b/apis/storage/v1alpha1/zz_generated.managed.go index e367fb8..75e5969 100644 --- a/apis/storage/v1alpha1/zz_generated.managed.go +++ b/apis/storage/v1alpha1/zz_generated.managed.go @@ -42,6 +42,11 @@ func (mg *ClassV2) GetProviderReference() *xpv1.Reference { return mg.Spec.ProviderReference } +// GetPublishConnectionDetailsTo of this ClassV2. +func (mg *ClassV2) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + // GetWriteConnectionSecretToReference of this ClassV2. func (mg *ClassV2) GetWriteConnectionSecretToReference() *xpv1.SecretReference { return mg.Spec.WriteConnectionSecretToReference @@ -70,6 +75,11 @@ func (mg *ClassV2) SetProviderReference(r *xpv1.Reference) { mg.Spec.ProviderReference = r } +// SetPublishConnectionDetailsTo of this ClassV2. +func (mg *ClassV2) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + // SetWriteConnectionSecretToReference of this ClassV2. func (mg *ClassV2) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r diff --git a/apis/storage/v1alpha1/zz_classv2_terraformed.go b/apis/storage/v1alpha1/zz_generated_terraformed.go similarity index 100% rename from apis/storage/v1alpha1/zz_classv2_terraformed.go rename to apis/storage/v1alpha1/zz_generated_terraformed.go diff --git a/apis/v1alpha1/register.go b/apis/v1alpha1/register.go index 7eb5e17..182b78c 100644 --- a/apis/v1alpha1/register.go +++ b/apis/v1alpha1/register.go @@ -56,9 +56,15 @@ var ( ProviderConfigUsageListGroupKind = schema.GroupKind{Group: Group, Kind: ProviderConfigUsageListKind}.String() ProviderConfigUsageListKindAPIVersion = ProviderConfigUsageListKind + "." + SchemeGroupVersion.String() ProviderConfigUsageListGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigUsageListKind) + + StoreConfigKind = reflect.TypeOf(StoreConfig{}).Name() + StoreConfigGroupKind = schema.GroupKind{Group: Group, Kind: StoreConfigKind}.String() + StoreConfigKindAPIVersion = StoreConfigKind + "." + SchemeGroupVersion.String() + StoreConfigGroupVersionKind = SchemeGroupVersion.WithKind(StoreConfigKind) ) func init() { SchemeBuilder.Register(&ProviderConfig{}, &ProviderConfigList{}) SchemeBuilder.Register(&ProviderConfigUsage{}, &ProviderConfigUsageList{}) + SchemeBuilder.Register(&StoreConfig{}, &StoreConfigList{}) } diff --git a/apis/v1alpha1/types.go b/apis/v1alpha1/types.go index 2adb1d7..8169b1e 100644 --- a/apis/v1alpha1/types.go +++ b/apis/v1alpha1/types.go @@ -90,3 +90,55 @@ type ProviderConfigUsageList struct { metav1.ListMeta `json:"metadata,omitempty"` Items []ProviderConfigUsage `json:"items"` } + +// A StoreConfigSpec defines the desired state of a ProviderConfig. +type StoreConfigSpec struct { + xpv1.SecretStoreConfig `json:",inline"` +} + +// A StoreConfigStatus represents the status of a StoreConfig. +type StoreConfigStatus struct { + xpv1.ConditionedStatus `json:",inline"` +} + +// +kubebuilder:object:root=true + +// A StoreConfig configures how GCP controller should store connection details. +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:printcolumn:name="TYPE",type="string",JSONPath=".spec.type" +// +kubebuilder:printcolumn:name="DEFAULT-SCOPE",type="string",JSONPath=".spec.defaultScope" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,store,gcp} +// +kubebuilder:subresource:status +type StoreConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec StoreConfigSpec `json:"spec"` + Status StoreConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// StoreConfigList contains a list of StoreConfig +type StoreConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []StoreConfig `json:"items"` +} + +// Note(turkenh): To be generated with AngryJet + +// GetStoreConfig returns SecretStoreConfig +func (in *StoreConfig) GetStoreConfig() xpv1.SecretStoreConfig { + return in.Spec.SecretStoreConfig +} + +// GetCondition of this StoreConfig. +func (in *StoreConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return in.Status.GetCondition(ct) +} + +// SetConditions of this StoreConfig. +func (in *StoreConfig) SetConditions(c ...xpv1.Condition) { + in.Status.SetConditions(c...) +} diff --git a/apis/v1alpha1/zz_generated.deepcopy.go b/apis/v1alpha1/zz_generated.deepcopy.go index f76097b..f4f97e8 100644 --- a/apis/v1alpha1/zz_generated.deepcopy.go +++ b/apis/v1alpha1/zz_generated.deepcopy.go @@ -1,3 +1,4 @@ +//go:build !ignore_autogenerated // +build !ignore_autogenerated /* @@ -188,3 +189,94 @@ func (in *ProviderCredentials) DeepCopy() *ProviderCredentials { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoreConfig) DeepCopyInto(out *StoreConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfig. +func (in *StoreConfig) DeepCopy() *StoreConfig { + if in == nil { + return nil + } + out := new(StoreConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StoreConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoreConfigList) DeepCopyInto(out *StoreConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]StoreConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfigList. +func (in *StoreConfigList) DeepCopy() *StoreConfigList { + if in == nil { + return nil + } + out := new(StoreConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StoreConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoreConfigSpec) DeepCopyInto(out *StoreConfigSpec) { + *out = *in + in.SecretStoreConfig.DeepCopyInto(&out.SecretStoreConfig) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfigSpec. +func (in *StoreConfigSpec) DeepCopy() *StoreConfigSpec { + if in == nil { + return nil + } + out := new(StoreConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoreConfigStatus) DeepCopyInto(out *StoreConfigStatus) { + *out = *in + in.ConditionedStatus.DeepCopyInto(&out.ConditionedStatus) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfigStatus. +func (in *StoreConfigStatus) DeepCopy() *StoreConfigStatus { + if in == nil { + return nil + } + out := new(StoreConfigStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/zz_register.go b/apis/zz_register.go index 83d0ba3..df4c33f 100755 --- a/apis/zz_register.go +++ b/apis/zz_register.go @@ -20,7 +20,7 @@ limitations under the License. package apis import ( - zz_runtime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/app/v1alpha1" v1alpha1auth "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" @@ -65,9 +65,9 @@ func init() { } // AddToSchemes may be used to add all resources defined in the project to a Scheme -var AddToSchemes zz_runtime.SchemeBuilder +var AddToSchemes runtime.SchemeBuilder // AddToScheme adds all Resources to the Scheme -func AddToScheme(s *zz_runtime.Scheme) error { +func AddToScheme(s *runtime.Scheme) error { return AddToSchemes.AddToScheme(s) } diff --git a/build b/build new file mode 160000 index 0000000..fb4eac8 --- /dev/null +++ b/build @@ -0,0 +1 @@ +Subproject commit fb4eac8954f9be95ce7781aeb958e38ab59870de diff --git a/build/CODE_OF_CONDUCT.md b/build/CODE_OF_CONDUCT.md deleted file mode 100644 index a3ee6a8..0000000 --- a/build/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,3 +0,0 @@ -## Community Code of Conduct - -This project follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). diff --git a/build/CONTRIBUTING.md b/build/CONTRIBUTING.md deleted file mode 100644 index 4658355..0000000 --- a/build/CONTRIBUTING.md +++ /dev/null @@ -1,56 +0,0 @@ -## How to Contribute - -The Build project is under [Apache 2.0 license](LICENSE). We accept contributions via -GitHub pull requests. This document outlines some of the conventions related to -development workflow, commit message formatting, contact points and other -resources to make it easier to get your contribution accepted. - -## Certificate of Origin - -By contributing to this project you agree to the Developer Certificate of -Origin (DCO). This document was created by the Linux Kernel community and is a -simple statement that you, as a contributor, have the legal right to make the -contribution. See the [DCO](DCO) file for details. - -Contributors sign-off that they adhere to these requirements by adding a -Signed-off-by line to commit messages. For example: - -``` -This is my commit message - -Signed-off-by: Random J Developer -``` - -Git even has a -s command line option to append this automatically to your -commit message: - -``` -$ git commit -s -m 'This is my commit message' -``` - -If you have already made a commit and forgot to include the sign-off, you can amend your last commit -to add the sign-off with the following command, which can then be force pushed. - -``` -git commit --amend -s -``` - -We use a [DCO bot](https://github.com/apps/dco) to enforce the DCO on each pull -request and branch commits. - -## Getting Started - -- Fork the repository on GitHub -- Read the [install](INSTALL.md) for build and test instructions -- Play with the project, open issues, submit patches! - -## Contribution Flow - -This is a rough outline of what a contributor's workflow looks like: - -- Create a branch from where you want to base your work (usually master). -- Make your changes and arrange them in readable commits. -- Make sure your commit messages are clear about what changed and why. -- Make sure all tests pass, and add any new tests as appropriate. -- Push your changes to the branch in your fork of the repository. -- Submit a pull request to the original repository. diff --git a/build/DCO b/build/DCO deleted file mode 100644 index 716561d..0000000 --- a/build/DCO +++ /dev/null @@ -1,36 +0,0 @@ -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -660 York Street, Suite 102, -San Francisco, CA 94110 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. diff --git a/build/LICENSE b/build/LICENSE deleted file mode 100644 index fb5d49b..0000000 --- a/build/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 The Upbound Authors. All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/build/README.md b/build/README.md deleted file mode 100644 index 0302e22..0000000 --- a/build/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# Build - -This project contains common build scripts that are used by a number of open source projects at Upbound. We standardize on a makefile interface to all projects with simple verbs. We attempt to put more logic in makefiles and closer to the project and less on side of CI. This enables the builds to run on multiple environments including laptops and different CI/CD systems. Most build and test operations are designed to run in a container that contains all the tools necessary. - -Some features include: - * support for multiple platforms and architectures - * support for Linux and macOS hosts - * support for build channels for releases - * support for releasing artifacts - * support for golang, helm, kubernetes, nodejs, yarn, s3, and docker - -# Quickstart - -To use this build project just add a submodule to your project: - -``` -git submodule add https://github.com/upbound/build build -``` - -and add a `Makefile` in the root. For example, the following will build a go project that publishes containers and helm charts. - -``` -# Project Setup -PROJECT_NAME := myrepo -PROJECT_REPO := github.com/upbound/$(PROJECT_NAME) - -PLATFORMS ?= linux_amd64 linux_arm64 -include build/makelib/common.mk - -S3_BUCKET ?= upbound.releases/myrepo -include build/makelib/output.mk - -# Setup Go -GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/api $(GO_PROJECT)/cmd/installer -GO_LDFLAGS += -X $(GO_PROJECT)/pkg/version.Version=$(VERSION) -include build/makelib/golang.mk - -# Setup Helm -HELM_BASE_URL = https://charts.upbound.io -HELM_S3_BUCKET = upbound.charts -HELM_CHARTS = myrepo-api -HELM_CHART_LINT_ARGS_myrepo-api = --set nameOverride='',imagePullSecrets='' -include build/makelib/k8s_tools.mk -include build/makelib/helm.mk - -# Docker images -DOCKER_myrepo = upbound -IMAGES = myrepo -include build/makelib/image.mk -``` - -Now build the project by running: - -``` -make -j build -``` - -and run tests: - -``` -make -j tests -``` - -To see the help run `make help`. - -## Local Development Setup - -To use local development targets, first include `deploy.mk` in your make file: - -``` -include build/makelib/local.mk -``` - -Then, run the following command to initialize a local development configuration: - -``` -make local.scaffold -``` - -You can now configure and add more components (i.e. helm releases) to your local development setup. - -## Contributing - -We welcome contributions. See [Contributing](CONTRIBUTING.md) to get started. - -## Report a Bug - -For filing bugs, suggesting improvements, or requesting new features, please open an [issue](https://github.com/upbound/build/issues). - -## Licensing - -The build project is under the Apache 2.0 license. diff --git a/build/common.sh b/build/common.sh deleted file mode 100644 index ba1bf66..0000000 --- a/build/common.sh +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/bash -e - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# get the build environment variables from the special build.vars target in the main makefile -eval $(make --no-print-directory -C ${scriptdir}/.. build.vars) - -KUBEADM_DIND_DIR=${CACHE_DIR}/kubeadm-dind - -CROSS_IMAGE=${BUILD_REGISTRY}/cross-amd64 -CROSS_IMAGE_VOLUME=cross-volume -CROSS_RSYNC_PORT=10873 - -function start_rsync_container() { - docker run \ - -d \ - -e OWNER=root \ - -e GROUP=root \ - -e MKDIRS="/volume/go/src/${PROJECT_REPO}" \ - -p ${CROSS_RSYNC_PORT}:873 \ - -v ${CROSS_IMAGE_VOLUME}:/volume \ - --entrypoint "/tini" \ - ${CROSS_IMAGE} \ - -- /build/rsyncd.sh -} - -function wait_for_rsync() { - # wait for rsync to come up - local tries=100 - while (( ${tries} > 0 )) ; do - if rsync "rsync://localhost:${CROSS_RSYNC_PORT}/" &> /dev/null ; then - return 0 - fi - tries=$(( ${tries} - 1 )) - sleep 0.1 - done - echo ERROR: rsyncd did not come up >&2 - exit 1 -} - -function stop_rsync_container() { - local id=$1 - - docker stop ${id} &> /dev/null || true - docker rm ${id} &> /dev/null || true -} - -function run_rsync() { - local src=$1 - shift - - local dst=$1 - shift - - # run the container as an rsyncd daemon so that we can copy the - # source tree to the container volume. - local id=$(start_rsync_container) - - # wait for rsync to come up - wait_for_rsync || stop_rsync_container ${id} - - # NOTE: add --progress to show files being syncd - rsync \ - --archive \ - --delete \ - --prune-empty-dirs \ - "$@" \ - $src $dst || { stop_rsync_container ${id}; return 1; } - - stop_rsync_container ${id} -} - -function rsync_host_to_container() { - run_rsync ${scriptdir}/.. rsync://localhost:${CROSS_RSYNC_PORT}/volume/go/src/${PROJECT_REPO} "$@" -} - -function rsync_container_to_host() { - run_rsync rsync://localhost:${CROSS_RSYNC_PORT}/volume/go/src/${PROJECT_REPO}/ ${scriptdir}/.. "$@" -} diff --git a/build/cross/Dockerfile b/build/cross/Dockerfile deleted file mode 100644 index 60d49e5..0000000 --- a/build/cross/Dockerfile +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM ubuntu:16.04 - -# ------------------------------------------------------------------------------------------------ -# install build and release tools -RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -yy -q --no-install-recommends \ - build-essential \ - ca-certificates \ - curl \ - docker.io \ - git \ - jq \ - lsb-release \ - make \ - rsync \ - runit \ - sudo \ - unzip \ - zip && \ - DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ - DEBIAN_FRONTEND=noninteractive apt-get autoremove -y && \ - DEBIAN_FRONTEND=noninteractive apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -# ------------------------------------------------------------------------------------------------ -# Install AWSCLI -RUN curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.1.21.zip" -o "awscliv2.zip" && \ - unzip awscliv2.zip && \ - ./aws/install && \ - rm -rf awscliv2.zip ./aws - -# ------------------------------------------------------------------------------------------------ -# Go support -RUN GO_VERSION=1.16.1 && \ - GO_HASH=3edc22f8332231c3ba8be246f184b736b8d28f06ce24f08168d8ecf052549769 && \ - curl -fsSL https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz -o golang.tar.gz && \ - echo "${GO_HASH} golang.tar.gz" | sha256sum -c - && \ - tar -C /usr/local -xzf golang.tar.gz && \ - rm golang.tar.gz -ENV PATH /usr/local/go/bin:$PATH - -# precompile the go standard library for all supported platforms and configurations -# the install suffixes match those in golang.mk so please keep them in sync -RUN platforms="darwin_amd64 darwin_arm64 windows_amd64 linux_amd64 linux_arm64" && \ - for p in $platforms; do CGO_ENABLED=0 GOOS=${p%_*} GOARCH=${p##*_} GOARM=7 go install -installsuffix static -a std; done - -# ------------------------------------------------------------------------------------------------ -# Node JS and chrome support -RUN curl -fsSL https://deb.nodesource.com/setup_12.x | bash - && \ - curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ - echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list && \ - DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -yy -q --no-install-recommends \ - nodejs \ - google-chrome-stable \ - xvfb && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ - DEBIAN_FRONTEND=noninteractive apt-get autoremove -y && \ - DEBIAN_FRONTEND=noninteractive apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ - rm -f /etc/apt/sources.list.d/google.list - -# setup chrome to run inside the container -ADD xvfb-chrome /usr/bin/xvfb-chrome -RUN ln -fs /usr/bin/xvfb-chrome /usr/bin/google-chrome -ENV CHROME_BIN /usr/bin/google-chrome - -# ------------------------------------------------------------------------------------------------ -# Yarn -RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list && \ - DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -yy -q --no-install-recommends yarn && \ - DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ - DEBIAN_FRONTEND=noninteractive apt-get autoremove -y && \ - DEBIAN_FRONTEND=noninteractive apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ - rm -f /etc/apt/sources.list.d/yarn.list - - -# ------------------------------------------------------------------------------------------------ -# Run tini as PID 1 and avoid signal handling issues -ARG ARCH -ARG TINI_VERSION -ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${ARCH} /tini -RUN chmod +x /tini - -COPY run.sh rsyncd.sh /build/ - -ENTRYPOINT [ "/tini", "-g", "--", "/build/run.sh" ] diff --git a/build/cross/Makefile b/build/cross/Makefile deleted file mode 100644 index edb6876..0000000 --- a/build/cross/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Setup Project - -PLATFORMS := linux_amd64 -include ../makelib/common.mk - -IMAGE = $(BUILD_REGISTRY)/cross-$(ARCH) -CACHE_IMAGES = $(IMAGE) -include ../makelib/image.mk - -# ==================================================================================== -# Targets - -img.build: - @$(INFO) docker build $(IMAGE) - @cp -a . $(IMAGE_TEMP_DIR) - @docker build $(BUILD_ARGS) \ - --build-arg ARCH=$(ARCH) \ - --build-arg TINI_VERSION=$(TINI_VERSION) \ - -t $(IMAGE) \ - $(IMAGE_TEMP_DIR) - @$(OK) docker build $(IMAGE) diff --git a/build/cross/rsyncd.sh b/build/cross/rsyncd.sh deleted file mode 100755 index 35ff953..0000000 --- a/build/cross/rsyncd.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -e - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -VOLUME=${VOLUME:-/volume} -ALLOW=${ALLOW:-192.168.0.0/16 172.16.0.0/12 10.0.0.0/8} -OWNER=${OWNER:-nobody} -GROUP=${GROUP:-nogroup} - -if [[ "${GROUP}" != "nogroup" && "${GROUP}" != "root" ]]; then - groupadd -g ${GROUP} rsync -fi - -if [[ "${OWNER}" != "nobody" && "${OWNER}" != "root" ]]; then - groupadd -u ${OWNER} -G rsync rsync -fi - -chown "${OWNER}:${GROUP}" "${VOLUME}" - -[ -f /etc/rsyncd.conf ] || cat < /etc/rsyncd.conf -uid = ${OWNER} -gid = ${GROUP} -use chroot = yes -log file = /dev/stdout -reverse lookup = no -[volume] - hosts deny = * - hosts allow = ${ALLOW} - read only = false - path = ${VOLUME} - comment = volume -EOF - -for dir in ${MKDIRS}; do - mkdir -p ${dir} - chown "${OWNER}:${GROUP}" ${dir} -done - -exec /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf "$@" diff --git a/build/cross/run.sh b/build/cross/run.sh deleted file mode 100755 index 27b9aba..0000000 --- a/build/cross/run.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -e - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ARGS="$@" -if [ $# -eq 0 ]; then - ARGS=/bin/bash -fi - -BUILDER_USER=${BUILDER_USER:-upbound} -BUILDER_GROUP=${BUILDER_GROUP:-upbound} -BUILDER_UID=${BUILDER_UID:-1000} -BUILDER_GID=${BUILDER_GID:-1000} - -groupadd -o -g $BUILDER_GID $BUILDER_GROUP 2> /dev/null -useradd -o -m -g $BUILDER_GID -u $BUILDER_UID $BUILDER_USER 2> /dev/null -echo "$BUILDER_USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers -export HOME=/home/${BUILDER_USER} -echo "127.0.0.1 $(cat /etc/hostname)" >> /etc/hosts -[[ -S /var/run/docker.sock ]] && chmod 666 /var/run/docker.sock -chown -R $BUILDER_UID:$BUILDER_GID $HOME -exec chpst -u :$BUILDER_UID:$BUILDER_GID ${ARGS} diff --git a/build/cross/xvfb-chrome b/build/cross/xvfb-chrome deleted file mode 100755 index ae88a91..0000000 --- a/build/cross/xvfb-chrome +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -_kill_procs() { - kill -TERM $chrome - wait $chrome -} - -# Setup a trap to catch SIGTERM and relay it to child processes -trap _kill_procs SIGTERM - -# Start Chrome inside xvfb -xvfb-run -a -s "-screen 0 1920x1080x24 -nolisten tcp" /opt/google/chrome/chrome --no-sandbox $@ & -chrome=$! - -wait $chrome diff --git a/build/makelib/common.mk b/build/makelib/common.mk deleted file mode 100644 index 189c897..0000000 --- a/build/makelib/common.mk +++ /dev/null @@ -1,481 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# remove default suffixes as we dont use them -.SUFFIXES: - -# set the shell to bash always -SHELL := /bin/bash - -# default target is build -.PHONY: all -all: build - -# ==================================================================================== -# Colors - -BLACK := $(shell printf "\033[30m") -BLACK_BOLD := $(shell printf "\033[30;1m") -RED := $(shell printf "\033[31m") -RED_BOLD := $(shell printf "\033[31;1m") -GREEN := $(shell printf "\033[32m") -GREEN_BOLD := $(shell printf "\033[32;1m") -YELLOW := $(shell printf "\033[33m") -YELLOW_BOLD := $(shell printf "\033[33;1m") -BLUE := $(shell printf "\033[34m") -BLUE_BOLD := $(shell printf "\033[34;1m") -MAGENTA := $(shell printf "\033[35m") -MAGENTA_BOLD := $(shell printf "\033[35;1m") -CYAN := $(shell printf "\033[36m") -CYAN_BOLD := $(shell printf "\033[36;1m") -WHITE := $(shell printf "\033[37m") -WHITE_BOLD := $(shell printf "\033[37;1m") -CNone := $(shell printf "\033[0m") - -# ==================================================================================== -# Logger - -TIME_LONG = `date +%Y-%m-%d' '%H:%M:%S` -TIME_SHORT = `date +%H:%M:%S` -TIME = $(TIME_SHORT) - -INFO = echo ${TIME} ${BLUE}[ .. ]${CNone} -WARN = echo ${TIME} ${YELLOW}[WARN]${CNone} -ERR = echo ${TIME} ${RED}[FAIL]${CNone} -OK = echo ${TIME} ${GREEN}[ OK ]${CNone} -FAIL = (echo ${TIME} ${RED}[FAIL]${CNone} && false) - -# ==================================================================================== -# Build Options - -# Set V=1 to turn on more verbose build -V ?= 0 -ifeq ($(V),1) -MAKEFLAGS += VERBOSE=1 -else -MAKEFLAGS += --no-print-directory -endif - -# Set DEBUG=1 to turn on a debug build -DEBUG ?= 0 - -# ==================================================================================== -# Release Options - -# TODO(hasheddan): change default to main and remove master as valid option. -CHANNEL ?= master -ifeq ($(filter master main alpha beta stable,$(CHANNEL)),) -$(error invalid channel $(CHANNEL)) -endif - -ifeq ($(COMMIT_HASH),) -override COMMIT_HASH := $(shell git rev-parse HEAD) -endif - -ifeq ($(origin BRANCH_NAME), undefined) -BRANCH_NAME := $(shell git rev-parse --abbrev-ref HEAD) -endif - -REMOTE_NAME ?= origin - -# ==================================================================================== -# Platform and cross build options - -# all supported platforms we build for this can be set to other platforms if desired -# we use the golang os and arch names for convenience -PLATFORMS ?= darwin_amd64 darwin_arm64 windows_amd64 linux_amd64 linux_arm64 - -# Set the host's OS. Only linux and darwin supported for now -HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]') -ifeq ($(filter darwin linux,$(HOSTOS)),) -$(error build only supported on linux and darwin host currently) -endif - -# Set the host's arch. -HOSTARCH := $(shell uname -m) - -# Set safe architectures for supported OSes (darwin and linux). -# Apple Silicon binaries are not widely available yet -ifeq ($(HOSTOS),darwin) -SAFEHOSTARCH := amd64 -TARGETARCH := $(HOSTARCH) -endif - -# If SAFEHOSTARCH and TARGETARCH have not been defined yet, use HOST -ifeq ($(origin SAFEHOSTARCH),undefined) -SAFEHOSTARCH := $(HOSTARCH) -endif -ifeq ($(origin TARGETARCH), undefined) -TARGETARCH := $(HOSTARCH) -endif - -# Automatically translate x86_64 to amd64 -ifeq ($(HOSTARCH),x86_64) -SAFEHOSTARCH := amd64 -TARGETARCH := amd64 -endif - -ifeq ($(filter amd64 arm64 ppc64le ,$(SAFEHOSTARCH)),) -$(error build only supported on amd64, arm64 and ppc64le host currently) -endif - -# Standardize Host Platform variables -HOST_PLATFORM := $(HOSTOS)_$(HOSTARCH) -SAFEHOSTPLATFORM := $(HOSTOS)-$(SAFEHOSTARCH) -SAFEHOST_PLATFORM := $(HOSTOS)_$(SAFEHOSTARCH) -TARGET_PLATFORM := $(HOSTOS)_$(TARGETARCH) - -# Set the platform to build if not currently defined -ifeq ($(origin PLATFORM),undefined) -PLATFORM := $(TARGET_PLATFORM) -# if the target platform is on the supported list add it to the single build target -ifneq ($(filter $(PLATFORMS),$(TARGET_PLATFORM)),) -BUILD_PLATFORMS = $(TARGET_PLATFORM) -endif - -# for convenience always build the linux platform when building on mac -ifneq ($(HOSTOS),linux) -BUILD_PLATFORMS += linux_$(TARGETARCH) -endif - -else -BUILD_PLATFORMS = $(PLATFORM) -endif - -OS := $(word 1, $(subst _, ,$(PLATFORM))) -ARCH := $(word 2, $(subst _, ,$(PLATFORM))) - -ifeq ($(HOSTOS),darwin) -NPROCS := $(shell sysctl -n hw.ncpu) -else -NPROCS := $(shell nproc) -endif - -# ==================================================================================== -# Setup directories and paths - -# include the common make file -COMMON_SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST))) - -# the root directory of this repo -ifeq ($(origin ROOT_DIR),undefined) -ROOT_DIR := $(abspath $(shell cd $(COMMON_SELF_DIR)/../.. && pwd -P)) -endif - -# the output directory which holds final build produced artifacts -ifeq ($(origin OUTPUT_DIR),undefined) -OUTPUT_DIR := $(ROOT_DIR)/_output -endif - -# a working directory that holds all temporary or working items generated -# during the build. The items will be discarded on a clean build and they -# will never be cached. -ifeq ($(origin WORK_DIR), undefined) -WORK_DIR := $(ROOT_DIR)/.work -endif - -# a directory that holds tools and other items that are safe to cache -# across build invocations. removing this directory will trigger a -# re-download and waste time. Its safe to cache this directory on CI systems -ifeq ($(origin CACHE_DIR), undefined) -CACHE_DIR := $(ROOT_DIR)/.cache -endif - -TOOLS_DIR := $(CACHE_DIR)/tools -TOOLS_HOST_DIR := $(TOOLS_DIR)/$(HOST_PLATFORM) - -# ==================================================================================== -# Version - -ifeq ($(origin HOSTNAME), undefined) -HOSTNAME := $(shell hostname) -endif - -# ==================================================================================== -# Version and Tagging - -# set a semantic version number from git if VERSION is undefined. -ifeq ($(origin VERSION), undefined) -# check if there are any existing `git tag` values -ifeq ($(shell git tag),) -# no tags found - default to initial tag `v0.0.0` -VERSION := $(shell echo "v0.0.0-$$(git rev-list HEAD --count)-g$$(git describe --dirty --always)" | sed 's/-/./2' | sed 's/-/./2' | sed 's/-/./2') -else -# use tags -VERSION := $(shell git describe --dirty --always --tags | sed 's/-/./2' | sed 's/-/./2' | sed 's/-/./2' ) -endif -endif -export VERSION - -VERSION_REGEX := ^v\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)$$ -VERSION_VALID := $(shell echo "$(VERSION)" | grep -q '$(VERSION_REGEX)' && echo 1 || echo 0) -VERSION_MAJOR := $(shell echo "$(VERSION)" | sed -e 's/$(VERSION_REGEX)/\1/') -VERSION_MINOR := $(shell echo "$(VERSION)" | sed -e 's/$(VERSION_REGEX)/\2/') -VERSION_PATCH := $(shell echo "$(VERSION)" | sed -e 's/$(VERSION_REGEX)/\3/') - -release.tag: -ifneq ($(VERSION_VALID),1) - $(error invalid version $(VERSION). must be a semantic version with v[Major].[Minor].[Patch] only) -endif - @$(INFO) tagging commit hash $(COMMIT_HASH) with v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) - git tag -f -m "release $(VERSION)" v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) $(COMMIT_HASH) - git push $(REMOTE_NAME) v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) - @set -e; if ! git ls-remote --heads $(REMOTE_NAME) | grep -q refs/heads/release-$(VERSION_MAJOR).$(VERSION_MINOR); then \ - echo === creating new release branch release-$(VERSION_MAJOR).$(VERSION_MINOR) ;\ - git branch -f release-$(VERSION_MAJOR).$(VERSION_MINOR) $(COMMIT_HASH) ;\ - git push $(REMOTE_NAME) release-$(VERSION_MAJOR).$(VERSION_MINOR) ;\ - fi - @$(OK) tagging - -# fail publish if the version is dirty -version.isdirty: - @if [[ $(VERSION) = *.dirty ]]; then \ - $(ERR) version '$(VERSION)' is dirty aborting publish. The following files changed: ;\ - git status --short;\ - exit 1; \ - fi - -# ==================================================================================== -# Helpers - -SED_CMD?=sed -i -e - -COMMA := , -SPACE := -SPACE += - -# define a newline -define \n - - -endef - -# ==================================================================================== -# This is a special target used to support the build container - -common.buildvars: - @echo PROJECT_NAME=$(PROJECT_NAME) - @echo PROJECT_REPO=$(PROJECT_REPO) - @echo BUILD_HOST=$(HOSTNAME) - @echo BUILD_REGISTRY=$(BUILD_REGISTRY) - @echo DOCKER_REGISTRY=$(DOCKER_REGISTRY) - @echo OUTPUT_DIR=$(OUTPUT_DIR) - @echo WORK_DIR=$(WORK_DIR) - @echo CACHE_DIR=$(CACHE_DIR) - @echo HOSTOS=$(HOSTOS) - @echo HOSTARCH=$(HOSTARCH) - @echo SAFEHOSTARCH=$(SAFEHOSTARCH) - @echo TARGETARCH=$(TARGETARCH) - -build.vars: common.buildvars - -# ==================================================================================== -# Common Targets - Build and Test workflow - -# run init steps before building code -# these will run once regardless of how many platforms we are building -build.init: ; @: - -# check the code with fmt, lint, vet and other source level checks pre build -# these will run once regardless of how many platforms we are building -build.check: ; @: - -# check the code with fmt, lint, vet and other source level checks pre build -# these will run for each platform being built -build.check.platform: ; @: - -# build code. this will run once regardless of platform -build.code: ; @: - -# build code. this will run for each platform built -build.code.platform: ; @: - -# build releasable artifacts. this will run once regardless of platform -build.artifacts: ; @: - -# build releasable artifacts. this will run for each platform being built -build.artifacts.platform: ; @: - -# runs at the end of the build to do any cleanup, caching etc. -# these will run once regardless of how many platforms we are building -build.done: ; @: - -# helper targets for building multiple platforms -do.build.platform.%: - @$(MAKE) build.check.platform PLATFORM=$* - @$(MAKE) build.code.platform PLATFORM=$* -do.build.platform: $(foreach p,$(PLATFORMS), do.build.platform.$(p)) - -# helper targets for building multiple platforms -do.build.artifacts.%: - @$(MAKE) build.artifacts.platform PLATFORM=$* -do.build.artifacts: $(foreach p,$(PLATFORMS), do.build.artifacts.$(p)) - -# build for all platforms -build.all: - @$(MAKE) build.init - @$(MAKE) build.check - @$(MAKE) build.code - @$(MAKE) do.build.platform - @$(MAKE) build.artifacts - @$(MAKE) do.build.artifacts - @$(MAKE) build.done - -# build for a single platform if it's supported -build: -ifneq ($(BUILD_PLATFORMS),) - @$(MAKE) build.all PLATFORMS="$(BUILD_PLATFORMS)" -else - @: -endif - -# clean all files created during the build. -clean: - @rm -fr $(OUTPUT_DIR) $(WORK_DIR) - -# clean all files created during the build, including caches across builds -distclean: clean - @rm -fr $(CACHE_DIR) - -# run lint and other code analysis -lint.init: ; @: -lint.run: ; @: -lint.done: ; @: -lint: - @$(MAKE) lint.init - @$(MAKE) lint.run - @$(MAKE) lint.done - -# unit tests -test.init: ; @: -test.run: ; @: -test.done: ; @: - -test: - @$(MAKE) test.init - @$(MAKE) test.run - @$(MAKE) test.done - -# e2e tests -e2e.init: ; @: -e2e.run: ; @: -e2e.done: ; @: - -e2e: - @$(MAKE) e2e.init - @$(MAKE) e2e.run - @$(MAKE) e2e.done - -.PHONY: build.init build.check build.check.platform build.code build.code.platform build.artifacts build.artifacts.platform -.PHONY: build.done do.build.platform.% do.build.platform do.build.artifacts.% do.build.artifacts -.PHONY: build.all build clean distclean lint test test.init test.run test.done e2e.init e2e.run e2e.done - -# ==================================================================================== -# Release Targets - -# run init steps before publishing -publish.init: ; @: - -# publish artifacts -publish.artifacts: ; @: - -# publish all releasable artifacts -publish: version.isdirty - @$(MAKE) publish.init - @$(MAKE) publish.artifacts - -# promote init runs before promote -promote.init: ; @: - -# promote all artifacts to a release channel -promote.artifacts: ; @: - -# promote to a release channel -promote: - @$(MAKE) promote.init - @$(MAKE) promote.artifacts - -# tag a release -tag: release.tag - -# run code generation -generate.init: ; @: -generate.run: ; @: -generate.done: ; @: - -generate: - @$(MAKE) generate.init - @$(MAKE) generate.run - @$(MAKE) generate.done - -# prepare for code review -reviewable: - @$(MAKE) generate - @$(MAKE) lint - @$(MAKE) test - -# ensure generate target doesn't create a diff -check-diff: generate - @$(INFO) checking that branch is clean - @test -z "$(shell git status --porcelain)" || $(FAIL) - @$(OK) branch is clean - -.PHONY: publish.init publish.artifacts publish promote.init promote.artifacts promote tag generate reviewable check-diff - -# ==================================================================================== -# Help - -define HELPTEXT -Usage: make [make-options] [options] - -Common Targets: - build Build source code and other artifacts for host platform. - build.all Build source code and other artifacts for all platforms. - clean Remove all files created during the build. - distclean Remove all files created during the build including cached tools. - lint Run lint and code analysis tools. - help Show this help info. - test Runs unit tests. - e2e Runs end-to-end integration tests. - generate Run code generation. - reviewable Validate that a PR is ready for review. - check-diff Ensure the reviewable target doesn't create a git diff. - -Common Options: - DEBUG Whether to generate debug symbols. Default is 0. - PLATFORM The platform to build. - SUITE The test suite to run. - TESTFILTER Tests to run in a suite. - V Set to 1 enable verbose build. Default is 0. - -Release Targets: - publish Build and publish final releasable artifacts - promote Promote a release to a release channel - tag Tag a release - -Release Options: - VERSION The version information for binaries and releases. - CHANNEL Sets the release channel. Can be set to master, main, alpha, beta, or stable. - -endef -export HELPTEXT - -help-special: ; @: - -help: - @echo "$$HELPTEXT" - @$(MAKE) help-special - -.PHONY: help help-special - diff --git a/build/makelib/docs.mk b/build/makelib/docs.mk deleted file mode 100644 index 287e057..0000000 --- a/build/makelib/docs.mk +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -ifndef SOURCE_DOCS_DIR -$(error SOURCE_DOCS_DIR must be defined) -endif - -ifndef DEST_DOCS_DIR -$(error DEST_DOCS_DIR must be defined) -endif - -ifndef DOCS_GIT_REPO -$(error DOCS_GIT_REPO must be defined) -endif - -DOCS_VERSION := $(shell echo "$(BRANCH_NAME)" | sed -E "s/^release\-([0-9]+)\.([0-9]+)$$/v\1.\2/g") -DOCS_WORK_DIR := $(WORK_DIR)/docs-repo -DOCS_VERSION_DIR := $(DOCS_WORK_DIR)/$(DEST_DOCS_DIR)/$(DOCS_VERSION) - -# ==================================================================================== -# Targets - -docs.publish: - rm -rf $(DOCS_WORK_DIR) - mkdir -p $(DOCS_WORK_DIR) - git clone --depth=1 -b master $(DOCS_GIT_REPO) $(DOCS_WORK_DIR) - rm -rf $(DOCS_VERSION_DIR) - cp -r $(SOURCE_DOCS_DIR)/ $(DOCS_VERSION_DIR) - cd $(DOCS_WORK_DIR) && DOCS_VERSION=$(DOCS_VERSION) $(MAKE) publish - -# ==================================================================================== -# Common Targets - -# only publish docs for master and release branches -ifneq ($(filter master release-%,$(BRANCH_NAME)),) -publish.artifacts: docs.publish -endif diff --git a/build/makelib/golang.mk b/build/makelib/golang.mk deleted file mode 100644 index d8ebaa0..0000000 --- a/build/makelib/golang.mk +++ /dev/null @@ -1,375 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -# The go project including repo name, for example, github.com/rook/rook -GO_PROJECT ?= $(PROJECT_REPO) - -# Optional. These are subdirs that we look for all go files to test, vet, and fmt -GO_SUBDIRS ?= cmd pkg - -# Optional. Additional subdirs used for integration or e2e testings -GO_INTEGRATION_TESTS_SUBDIRS ?= - -# Optional directories (relative to CURDIR) -GO_VENDOR_DIR ?= vendor -GO_PKG_DIR ?= $(WORK_DIR)/pkg - -# Optional build flags passed to go tools -GO_BUILDFLAGS ?= -GO_LDFLAGS ?= -GO_TAGS ?= -GO_TEST_FLAGS ?= -GO_TEST_SUITE ?= -GO_NOCOV ?= -GO_COVER_MODE ?= count -GO_CGO_ENABLED ?= 0 - -# ==================================================================================== -# Setup go environment - -# turn on more verbose build when V=1 -ifeq ($(V),1) -GO_LDFLAGS += -v -n -GO_BUILDFLAGS += -x -endif - -# whether to generate debug information in binaries. this includes DWARF and symbol tables. -ifeq ($(DEBUG),0) -GO_LDFLAGS += -s -w -endif - -# set GOOS and GOARCH -GOOS := $(OS) -GOARCH := $(ARCH) -export GOOS GOARCH - -# set GOHOSTOS and GOHOSTARCH -GOHOSTOS := $(HOSTOS) -GOHOSTARCH := $(TARGETARCH) - -GO_PACKAGES := $(foreach t,$(GO_SUBDIRS),$(GO_PROJECT)/$(t)/...) -GO_INTEGRATION_TEST_PACKAGES := $(foreach t,$(GO_INTEGRATION_TESTS_SUBDIRS),$(GO_PROJECT)/$(t)/integration) - -ifneq ($(GO_TEST_PARALLEL),) -GO_TEST_FLAGS += -p $(GO_TEST_PARALLEL) -endif - -ifneq ($(GO_TEST_SUITE),) -GO_TEST_FLAGS += -run '$(GO_TEST_SUITE)' -endif - -GOPATH := $(shell go env GOPATH) - -# setup tools used during the build -DEP_VERSION=v0.5.1 -DEP := $(TOOLS_HOST_DIR)/dep-$(DEP_VERSION) -GOJUNIT := $(TOOLS_HOST_DIR)/go-junit-report -GOCOVER_COBERTURA := $(TOOLS_HOST_DIR)/gocover-cobertura -GOIMPORTS := $(TOOLS_HOST_DIR)/goimports - -GO := go -GOHOST := GOOS=$(GOHOSTOS) GOARCH=$(GOHOSTARCH) go -GO_VERSION := $(shell $(GO) version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') - -# we use a consistent version of gofmt even while running different go compilers. -# see https://github.com/golang/go/issues/26397 for more details -GOFMT_VERSION := 1.11 -ifneq ($(findstring $(GOFMT_VERSION),$(GO_VERSION)),) -GOFMT := $(shell which gofmt) -else -GOFMT := $(TOOLS_HOST_DIR)/gofmt$(GOFMT_VERSION) -endif - -# We use a consistent version of golangci-lint to ensure everyone gets the same -# linters. -GOLANGCILINT_VERSION ?= 1.31.0 -GOLANGCILINT := $(TOOLS_HOST_DIR)/golangci-lint-v$(GOLANGCILINT_VERSION) - -GO_BIN_DIR := $(abspath $(OUTPUT_DIR)/bin) -GO_OUT_DIR := $(GO_BIN_DIR)/$(PLATFORM) -GO_TEST_DIR := $(abspath $(OUTPUT_DIR)/tests) -GO_TEST_OUTPUT := $(GO_TEST_DIR)/$(PLATFORM) -GO_LINT_DIR := $(abspath $(OUTPUT_DIR)/lint) -GO_LINT_OUTPUT := $(GO_LINT_DIR)/$(PLATFORM) - -ifeq ($(GOOS),windows) -GO_OUT_EXT := .exe -endif - -ifeq ($(RUNNING_IN_CI),true) -# Output checkstyle XML rather than human readable output. -# the timeout is increased to 10m, to accommodate CI machines with low resources. -GO_LINT_ARGS := --timeout 10m0s --out-format=checkstyle > $(GO_LINT_OUTPUT)/checkstyle.xml -endif - -# NOTE: the install suffixes are matched with the build container to speed up the -# the build. Please keep them in sync. - -# we run go build with -i which on most system's would want to install packages -# into the system's root dir. using our own pkg dir avoid thats -ifneq ($(GO_PKG_DIR),) -GO_PKG_BASE_DIR := $(abspath $(GO_PKG_DIR)/$(PLATFORM)) -GO_PKG_STATIC_FLAGS := -pkgdir $(GO_PKG_BASE_DIR)_static -endif - -GO_COMMON_FLAGS = $(GO_BUILDFLAGS) -tags '$(GO_TAGS)' -GO_STATIC_FLAGS = $(GO_COMMON_FLAGS) $(GO_PKG_STATIC_FLAGS) -installsuffix static -ldflags '$(GO_LDFLAGS)' -GO_GENERATE_FLAGS = $(GO_BUILDFLAGS) -tags 'generate $(GO_TAGS)' - -export GO111MODULE - -# switch for go modules -ifeq ($(GO111MODULE),on) - -# set GOPATH to $(GO_PKG_DIR), so that the go modules are installed there, instead of the default $HOME/go/pkg/mod -export GOPATH=$(abspath $(GO_PKG_DIR)) - -endif - -# ==================================================================================== -# Go Targets - -go.init: go.vendor.lite - @if [ "$(GO111MODULE)" != "on" ] && [ "$(realpath ../../../..)" != "$(realpath $(GOPATH))" ]; then \ - $(WARN) the source directory is not relative to the GOPATH at $(GOPATH) or you are you using symlinks. The build might run into issue. Please move the source directory to be at $(GOPATH)/src/$(GO_PROJECT) ;\ - fi - -go.build: - @$(INFO) go build $(PLATFORM) - $(foreach p,$(GO_STATIC_PACKAGES),@CGO_ENABLED=0 $(GO) build -v -i -o $(GO_OUT_DIR)/$(lastword $(subst /, ,$(p)))$(GO_OUT_EXT) $(GO_STATIC_FLAGS) $(p) || $(FAIL) ${\n}) - $(foreach p,$(GO_TEST_PACKAGES) $(GO_LONGHAUL_TEST_PACKAGES),@CGO_ENABLED=0 $(GO) test -i -c -o $(GO_TEST_OUTPUT)/$(lastword $(subst /, ,$(p)))$(GO_OUT_EXT) $(GO_STATIC_FLAGS) $(p) || $(FAIL) ${\n}) - @$(OK) go build $(PLATFORM) - -go.install: - @$(INFO) go install $(PLATFORM) - $(foreach p,$(GO_STATIC_PACKAGES),@CGO_ENABLED=0 $(GO) install -v $(GO_STATIC_FLAGS) $(p) || $(FAIL) ${\n}) - @$(OK) go install $(PLATFORM) - -go.test.unit: $(GOJUNIT) $(GOCOVER_COBERTURA) - @$(INFO) go test unit-tests -ifeq ($(GO_NOCOV),true) - @$(WARN) coverage analysis is disabled - @CGO_ENABLED=0 $(GOHOST) test $(GO_TEST_FLAGS) $(GO_STATIC_FLAGS) $(GO_PACKAGES) || $(FAIL) -else - @mkdir -p $(GO_TEST_OUTPUT) - @CGO_ENABLED=$(GO_CGO_ENABLED) $(GOHOST) test -i -cover $(GO_STATIC_FLAGS) $(GO_PACKAGES) || $(FAIL) - @CGO_ENABLED=$(GO_CGO_ENABLED) $(GOHOST) test -v -covermode=$(GO_COVER_MODE) -coverprofile=$(GO_TEST_OUTPUT)/coverage.txt $(GO_TEST_FLAGS) $(GO_STATIC_FLAGS) $(GO_PACKAGES) 2>&1 | tee $(GO_TEST_OUTPUT)/unit-tests.log || $(FAIL) - @cat $(GO_TEST_OUTPUT)/unit-tests.log | $(GOJUNIT) -set-exit-code > $(GO_TEST_OUTPUT)/unit-tests.xml || $(FAIL) - @$(GOCOVER_COBERTURA) < $(GO_TEST_OUTPUT)/coverage.txt > $(GO_TEST_OUTPUT)/coverage.xml -endif - @$(OK) go test unit-tests - -# Depends on go.test.unit, but is only run in CI with a valid token after unit-testing is complete -# DO NOT run locally. -go.test.codecov: - @$(INFO) go test codecov - @cd $(GO_TEST_OUTPUT) && bash <(curl -s https://codecov.io/bash) || $(FAIL) - @$(OK) go test codecov - -go.test.integration: $(GOJUNIT) - @$(INFO) go test integration-tests - @mkdir -p $(GO_TEST_OUTPUT) || $(FAIL) - @CGO_ENABLED=0 $(GOHOST) test -i $(GO_STATIC_FLAGS) $(GO_INTEGRATION_TEST_PACKAGES) || $(FAIL) - @CGO_ENABLED=0 $(GOHOST) test $(GO_TEST_FLAGS) $(GO_STATIC_FLAGS) $(GO_INTEGRATION_TEST_PACKAGES) $(TEST_FILTER_PARAM) 2>&1 | tee $(GO_TEST_OUTPUT)/integration-tests.log || $(FAIL) - @cat $(GO_TEST_OUTPUT)/integration-tests.log | $(GOJUNIT) -set-exit-code > $(GO_TEST_OUTPUT)/integration-tests.xml || $(FAIL) - @$(OK) go test integration-tests - -go.lint: $(GOLANGCILINT) - @$(INFO) golangci-lint - @mkdir -p $(GO_LINT_OUTPUT) - @$(GOLANGCILINT) run $(GO_LINT_ARGS) || $(FAIL) - @$(OK) golangci-lint - -go.vet: - @$(INFO) go vet $(PLATFORM) - @CGO_ENABLED=0 $(GOHOST) vet $(GO_COMMON_FLAGS) $(GO_PACKAGES) $(GO_INTEGRATION_TEST_PACKAGES) || $(FAIL) - @$(OK) go vet $(PLATFORM) - -go.fmt: $(GOFMT) - @$(INFO) go fmt - @gofmt_out=$$($(GOFMT) -s -d -e $(GO_SUBDIRS) $(GO_INTEGRATION_TESTS_SUBDIRS) 2>&1) && [ -z "$${gofmt_out}" ] || (echo "$${gofmt_out}" 1>&2; $(FAIL)) - @$(OK) go fmt - -go.fmt.simplify: $(GOFMT) - @$(INFO) gofmt simplify - @$(GOFMT) -l -s -w $(GO_SUBDIRS) $(GO_INTEGRATION_TESTS_SUBDIRS) || $(FAIL) - @$(OK) gofmt simplify - -go.validate: go.vet go.fmt - -ifeq ($(GO111MODULE),on) - -go.vendor.lite go.vendor.check: - @$(INFO) verify dependencies have expected content - @$(GOHOST) mod verify || $(FAIL) - @$(OK) go modules dependencies verified - -go.vendor.update: - @$(INFO) update go modules - @$(GOHOST) get -u ./... || $(FAIL) - @$(OK) update go modules - -go.vendor: - @$(INFO) go mod vendor - @$(GOHOST) mod vendor || $(FAIL) - @$(OK) go mod vendor - -else - -go.vendor.lite: $(DEP) -# dep ensure blindly updates the whole vendor tree causing everything to be rebuilt. This workaround -# will only call dep ensure if the .lock file changes or if the vendor dir is non-existent. - @if [ ! -d $(GO_VENDOR_DIR) ]; then \ - $(MAKE) vendor; \ - elif ! $(DEP) ensure -no-vendor -dry-run &> /dev/null; then \ - $(MAKE) vendor; \ - fi - -go.vendor.check: $(DEP) - @$(INFO) checking if vendor deps changed - @$(DEP) check -skip-vendor || $(FAIL) - @$(OK) vendor deps have not changed - -go.vendor.update: $(DEP) - @$(INFO) updating vendor deps - @$(DEP) ensure -update -v || $(FAIL) - @$(OK) updating vendor deps - -go.vendor: $(DEP) - @$(INFO) dep ensure - @$(DEP) ensure || $(FAIL) - @$(OK) dep ensure - -endif - -go.clean: - @# `go modules` creates read-only folders under WORK_DIR - @# make all folders within WORK_DIR writable, so they can be deleted - @if [ -d $(WORK_DIR) ]; then chmod -R +w $(WORK_DIR); fi - - @rm -fr $(GO_BIN_DIR) $(GO_TEST_DIR) - -go.distclean: - @rm -rf $(GO_VENDOR_DIR) $(GO_PKG_DIR) - -go.generate: - @$(INFO) go generate $(PLATFORM) - @CGO_ENABLED=0 $(GOHOST) generate $(GO_GENERATE_FLAGS) $(GO_PACKAGES) $(GO_INTEGRATION_TEST_PACKAGES) || $(FAIL) - @$(OK) go generate $(PLATFORM) - @$(INFO) go mod tidy - @$(GOHOST) mod tidy || $(FAIL) - @$(OK) go mod tidy - -.PHONY: go.init go.build go.install go.test.unit go.test.integration go.test.codecov go.lint go.vet go.fmt go.generate -.PHONY: go.validate go.vendor.lite go.vendor go.vendor.check go.vendor.update go.clean go.distclean - -# ==================================================================================== -# Common Targets - -build.init: go.init -build.check: go.lint -build.code.platform: go.build -clean: go.clean -distclean: go.distclean -lint.init: go.init -lint.run: go.lint -test.init: go.init -test.run: go.test.unit -generate.init: go.init -generate.run: go.generate - -# ==================================================================================== -# Special Targets - -fmt: go.imports -fmt.simplify: go.fmt.simplify -imports: go.imports -imports.fix: go.imports.fix -vendor: go.vendor -vendor.check: go.vendor.check -vendor.update: go.vendor.update -vet: go.vet - -define GO_HELPTEXT -Go Targets: - generate Runs go code generation followed by goimports on generated files. - fmt Checks go source code for formatting issues. - fmt.simplify Format, simplify, update source files. - imports Checks go source code import lines for issues. - imports.fix Updates go source files to fix issues with import lines. - vendor Updates vendor packages. - vendor.check Fail the build if vendor packages have changed. - vendor.update Update vendor dependencies. - vet Checks go source code and reports suspicious constructs. - test.unit.nocov Runs unit tests without coverage (faster for iterative development) -endef -export GO_HELPTEXT - -go.help: - @echo "$$GO_HELPTEXT" - -help-special: go.help - -.PHONY: fmt vendor vet go.help - -# ==================================================================================== -# Tools install targets - -$(DEP): - @$(INFO) installing dep-$(DEP_VERSION) $(SAFEHOSTPLATFORM) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-dep || $(FAIL) - @curl -fsSL -o $(DEP) https://github.com/golang/dep/releases/download/$(DEP_VERSION)/dep-$(SAFEHOSTPLATFORM) || $(FAIL) - @chmod +x $(DEP) || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-dep - @$(OK) installing dep-$(DEP_VERSION) $(SAFEHOSTPLATFORM) - -$(GOLANGCILINT): - @$(INFO) installing golangci-lint-v$(GOLANGCILINT_VERSION) $(SAFEHOSTPLATFORM) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-golangci-lint || $(FAIL) - @curl -fsSL https://github.com/golangci/golangci-lint/releases/download/v$(GOLANGCILINT_VERSION)/golangci-lint-$(GOLANGCILINT_VERSION)-$(SAFEHOSTPLATFORM).tar.gz | tar -xz --strip-components=1 -C $(TOOLS_HOST_DIR)/tmp-golangci-lint || $(FAIL) - @mv $(TOOLS_HOST_DIR)/tmp-golangci-lint/golangci-lint $(GOLANGCILINT) || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-golangci-lint - @$(OK) installing golangci-lint-v$(GOLANGCILINT_VERSION) $(SAFEHOSTPLATFORM) - -$(GOFMT): - @$(INFO) installing gofmt$(GOFMT_VERSION) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-fmt || $(FAIL) - @curl -sL https://dl.google.com/go/go$(GOFMT_VERSION).$(SAFEHOSTPLATFORM).tar.gz | tar -xz -C $(TOOLS_HOST_DIR)/tmp-fmt || $(FAIL) - @mv $(TOOLS_HOST_DIR)/tmp-fmt/go/bin/gofmt $(GOFMT) || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-fmt - @$(OK) installing gofmt$(GOFMT_VERSION) - -$(GOIMPORTS): - @$(INFO) installing goimports - @mkdir -p $(TOOLS_HOST_DIR)/tmp-goimports || $(FAIL) - @GO111MODULE=off GOPATH=$(TOOLS_HOST_DIR)/tmp-goimports GOBIN=$(TOOLS_HOST_DIR) $(GOHOST) get golang.org/x/tools/cmd/goimports || rm -fr $(TOOLS_HOST_DIR)/tmp-goimports || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-goimports - @$(OK) installing goimports - -$(GOJUNIT): - @$(INFO) installing go-junit-report - @mkdir -p $(TOOLS_HOST_DIR)/tmp-junit || $(FAIL) - @GO111MODULE=off GOPATH=$(TOOLS_HOST_DIR)/tmp-junit GOBIN=$(TOOLS_HOST_DIR) $(GOHOST) get github.com/jstemmer/go-junit-report || rm -fr $(TOOLS_HOST_DIR)/tmp-junit || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-junit - @$(OK) installing go-junit-report - -$(GOCOVER_COBERTURA): - @$(INFO) installing gocover-cobertura - @mkdir -p $(TOOLS_HOST_DIR)/tmp-gocover-cobertura || $(FAIL) - @GO111MODULE=off GOPATH=$(TOOLS_HOST_DIR)/tmp-gocover-cobertura GOBIN=$(TOOLS_HOST_DIR) $(GOHOST) get github.com/t-yuki/gocover-cobertura || rm -fr $(TOOLS_HOST_DIR)/tmp-covcover-cobertura || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-gocover-cobertura - @$(OK) installing gocover-cobertura diff --git a/build/makelib/helm.mk b/build/makelib/helm.mk deleted file mode 100644 index cee3fc0..0000000 --- a/build/makelib/helm.mk +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ifeq ($(HELM_CHARTS),) -$(error the variable HELM_CHARTS must be set prior to including helm.mk) -endif - -# the base url where helm charts are published -ifeq ($(HELM_BASE_URL),) -$(error the variable HELM_BASE_URL must be set prior to including helm.mk) -endif - -# the s3 bucket where helm charts are published -ifeq ($(HELM_S3_BUCKET),) -$(error the variable HELM_S3_BUCKET must be set prior to including helm.mk) -endif - -# the charts directory -HELM_CHARTS_DIR ?= $(ROOT_DIR)/cluster/charts - -# the charts output directory -HELM_OUTPUT_DIR ?= $(OUTPUT_DIR)/charts - -# the helm index file -HELM_INDEX := $(HELM_OUTPUT_DIR)/index.yaml - -HELM_CHART_LINT_STRICT ?= true -ifeq ($(HELM_CHART_LINT_STRICT),true) -HELM_CHART_LINT_STRICT_ARG += --strict -endif - -# helm home -HELM_HOME := $(abspath $(WORK_DIR)/helm) -export HELM_HOME - -# https://helm.sh/docs/faq/#xdg-base-directory-support -ifeq ($(USE_HELM3),true) -XDG_DATA_HOME := $(HELM_HOME) -XDG_CONFIG_HOME := $(HELM_HOME) -XDG_CACHE_HOME := $(HELM_HOME) -export XDG_DATA_HOME -export XDG_CONFIG_HOME -export XDG_CACHE_HOME -endif - -# remove the leading `v` for helm chart versions -HELM_CHART_VERSION := $(VERSION:v%=%) - -#Chart Museum variables -#MUSEUM_URL ?= "https://helm.example.com/" - url for chart museum -#If the following variables are set HTTP basic auth will be used. More details https://github.com/helm/chartmuseum/blob/master/README.md#basic-auth -#MUSEUM_USER ?= "helm" -#MUSEUM_PASS ?= "changeme" - -# ==================================================================================== -# Helm Targets -$(HELM_HOME): $(HELM) - @mkdir -p $(HELM_HOME) - @if [ "$(USE_HELM3)" == "false" ]; then \ - $(HELM) init -c --stable-repo-url=https://charts.helm.sh/stable; \ - fi - -$(HELM_OUTPUT_DIR): - @mkdir -p $(HELM_OUTPUT_DIR) - -define helm.chart -$(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz: $(HELM_HOME) $(HELM_OUTPUT_DIR) $(shell find $(HELM_CHARTS_DIR)/$(1) -type f) - @$(INFO) helm package $(1) $(HELM_CHART_VERSION) - @if [ "$(USE_HELM3)" == "false" ]; then \ - $(HELM) package --version $(HELM_CHART_VERSION) --app-version $(HELM_CHART_VERSION) --save=false -d $(HELM_OUTPUT_DIR) $(abspath $(HELM_CHARTS_DIR)/$(1)); \ - else \ - $(HELM) package --version $(HELM_CHART_VERSION) --app-version $(HELM_CHART_VERSION) -d $(HELM_OUTPUT_DIR) $(abspath $(HELM_CHARTS_DIR)/$(1)); \ - fi - @$(OK) helm package $(1) $(HELM_CHART_VERSION) - -helm.prepare.$(1): $(HELM_HOME) - @cp -f $(HELM_CHARTS_DIR)/$(1)/values.yaml.tmpl $(HELM_CHARTS_DIR)/$(1)/values.yaml - @cd $(HELM_CHARTS_DIR)/$(1) && $(SED_CMD) 's|%%VERSION%%|$(VERSION)|g' values.yaml - -helm.prepare: helm.prepare.$(1) - -helm.lint.$(1): $(HELM_HOME) helm.prepare.$(1) - @rm -rf $(abspath $(HELM_CHARTS_DIR)/$(1)/charts) - @$(HELM) dependency update $(abspath $(HELM_CHARTS_DIR)/$(1)) - @$(HELM) lint $(abspath $(HELM_CHARTS_DIR)/$(1)) $(HELM_CHART_LINT_ARGS_$(1)) $(HELM_CHART_LINT_STRICT_ARG) - -helm.lint: helm.lint.$(1) - -helm.dep.$(1): $(HELM_HOME) - @$(INFO) helm dep $(1) $(HELM_CHART_VERSION) - @$(HELM) dependency update $(abspath $(HELM_CHARTS_DIR)/$(1)) - @$(OK) helm dep $(1) $(HELM_CHART_VERSION) - -helm.dep: helm.dep.$(1) - -$(HELM_INDEX): $(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz -endef -$(foreach p,$(HELM_CHARTS),$(eval $(call helm.chart,$(p)))) - -$(HELM_INDEX): $(HELM_HOME) $(HELM_OUTPUT_DIR) - @$(INFO) helm index - @$(HELM) repo index $(HELM_OUTPUT_DIR) - @$(OK) helm index - -helm.build: $(HELM_INDEX) - -helm.clean: - @rm -fr $(HELM_OUTPUT_DIR) - -# ==================================================================================== -# helm - -HELM_TEMP := $(shell mktemp -d) -HELM_URL := $(HELM_BASE_URL)/$(CHANNEL) - -helm.promote: $(HELM_HOME) - @$(INFO) promoting helm charts -# copy existing charts to a temp dir, the combine with new charts, reindex, and upload - @$(S3_SYNC) s3://$(HELM_S3_BUCKET)/$(CHANNEL) $(HELM_TEMP) - @if [ "$(S3_BUCKET)" != "" ]; then \ - $(S3_SYNC) s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION)/charts $(HELM_TEMP); \ - fi - @$(HELM) repo index --url $(HELM_URL) $(HELM_TEMP) - @$(S3_SYNC_DEL) $(HELM_TEMP) s3://$(HELM_S3_BUCKET)/$(CHANNEL) -# re-upload index.yaml setting cache-control to ensure the file is not cached by http clients - @$(S3_CP) --cache-control "private, max-age=0, no-transform" $(HELM_TEMP)/index.yaml s3://$(HELM_S3_BUCKET)/$(CHANNEL)/index.yaml - @rm -fr $(HELM_TEMP) - @$(OK) promoting helm charts - -define museum.upload -helm.museum.$(1): -ifdef MUSEUM_URL - @$(INFO) pushing helm charts $(1) to chart museum $(MUSEUM_URL) -ifneq ($(MUSEUM_USER)$(MUSEUM_PASS),"") - @$(INFO) curl -u $(MUSEUM_USER):$(MUSEUM_PASS) --data-binary '@$(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz' $(MUSEUM_URL)/api/charts - @curl -u $(MUSEUM_USER):$(MUSEUM_PASS) --data-binary '@$(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz' $(MUSEUM_URL)/api/charts -else - @$(INFO) curl --data-binary '@$(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz' $(MUSEUM_URL)/api/charts - @curl --data-binary '@$(HELM_OUTPUT_DIR)/$(1)-$(HELM_CHART_VERSION).tgz' $(MUSEUM_URL)/api/charts -endif - @$(OK) pushing helm charts to chart museum -endif - -helm.museum: helm.museum.$(1) -endef -$(foreach p,$(HELM_CHARTS),$(eval $(call museum.upload,$(p)))) - -# ==================================================================================== -# Common Targets - -build.init: helm.prepare helm.lint -build.check: helm.dep -build.artifacts: helm.build -clean: helm.clean -lint: helm.lint -promote.artifacts: helm.promote helm.museum - -# ==================================================================================== -# Special Targets - -dep: helm.dep - -define HELM_HELPTEXT -Helm Targets: - dep Build and publish final releasable artifacts - -endef -export HELM_HELPTEXT - -helm.help: - @echo "$$HELM_HELPTEXT" - -help-special: helm.help - diff --git a/build/makelib/image.mk b/build/makelib/image.mk deleted file mode 100644 index 5b9eec4..0000000 --- a/build/makelib/image.mk +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -ifeq ($(origin IMAGE_DIR),undefined) -IMAGE_DIR := $(ROOT_DIR)/cluster/images -endif - -ifeq ($(origin IMAGE_OUTPUT_DIR),undefined) -IMAGE_OUTPUT_DIR := $(OUTPUT_DIR)/images/$(PLATFORM) -endif - -ifeq ($(origin IMAGE_TEMP_DIR),undefined) -IMAGE_TEMP_DIR := $(shell mktemp -d) -endif - -# set the OS base image to alpine if in not defined. set your own image for each -# supported platform. -ifeq ($(origin OSBASEIMAGE),undefined) -OSBASE ?= alpine:3.13 -ifeq ($(TARGETARCH),$(filter $(TARGETARCH),amd64 ppc64le)) -OSBASEIMAGE = $(OSBASE) -else ifeq ($(TARGETARCH),arm64) -OSBASEIMAGE = arm64v8/$(OSBASE) -else -$(error unsupported architecture $(TARGETARCH)) -endif -endif - -# a registry that is scoped to the current build tree on this host. this enables -# us to have isolation between concurrent builds on the same system, as in the case -# of multiple working directories or on a CI system with multiple executors. All images -# tagged with this build registry can safely be untagged/removed at the end of the build. -ifeq ($(origin BUILD_REGISTRY), undefined) -BUILD_REGISTRY := build-$(shell echo $(HOSTNAME)-$(ROOT_DIR) | shasum -a 256 | cut -c1-8) -endif - -MANIFEST_TOOL_VERSION=v0.7.0 -MANIFEST_TOOL := $(TOOLS_HOST_DIR)/manifest-tool-$(MANIFEST_TOOL_VERSION) - -# In order to reduce built time especially on jenkins, we maintain a cache -# of already built images. This cache contains images that can be used to help speed -# future docker build commands using docker's content addressable schemes. -# All cached images go in in a 'cache/' local registry and we follow an MRU caching -# policy -- keeping images that have been referenced around and evicting images -# that have to been referenced in a while (and according to a policy). Note we can -# not rely on the image's .CreatedAt date since docker only updates then when the -# image is created and not referenced. Instead we keep a date in the Tag. -CACHE_REGISTRY := cache - -# prune images that are at least this many hours old -PRUNE_HOURS ?= 48 - -# prune keeps at least this many images regardless of how old they are -PRUNE_KEEP ?= 24 - -# don't actually prune just show what prune would do. -PRUNE_DRYRUN ?= 0 - -# the cached image format -CACHE_DATE_FORMAT := "%Y-%m-%d.%H%M%S" -CACHE_PRUNE_DATE := $(shell export TZ="UTC+$(PRUNE_HOURS)"; date +"$(CACHE_DATE_FORMAT)") -CACHE_TAG := $(shell date -u +"$(CACHE_DATE_FORMAT)") - -REGISTRIES ?= $(DOCKER_REGISTRY) -IMAGE_ARCHS := $(subst linux_,,$(filter linux_%,$(PLATFORMS))) -IMAGE_PLATFORMS := $(subst _,/,$(subst $(SPACE),$(COMMA),$(filter linux_%,$(PLATFORMS)))) - -# if set to 1 docker image caching will not be used. -CACHEBUST ?= 0 -ifeq ($(CACHEBUST),1) -BUILD_ARGS += --no-cache -endif - -# if V=0 avoid showing verbose output from docker build -ifeq ($(V),0) -BUILD_ARGS ?= -q -endif - -# if PULL=1 we will always check if there is a newer base image -PULL ?= 1 -ifeq ($(PULL),1) -BUILD_BASE_ARGS += --pull -endif -BUILD_BASE_ARGS += $(BUILD_ARGS) -export PULL - -# the version of tini to use -TINI_VERSION ?= v0.16.1 - -ifeq ($(HOSTOS),Linux) -SELF_CID := $(shell cat /proc/self/cgroup | grep docker | grep -o -E '[0-9a-f]{64}' | head -n 1) -endif - -# ===================================================================================== -# Image Targets - -do.img.clean: - @for i in $(CLEAN_IMAGES); do \ - if [ -n "$$(docker images -q $$i)" ]; then \ - for c in $$(docker ps -a -q --no-trunc --filter=ancestor=$$i); do \ - if [ "$$c" != "$(SELF_CID)" ]; then \ - echo stopping and removing container $${c} referencing image $$i; \ - docker stop $${c}; \ - docker rm $${c}; \ - fi; \ - done; \ - echo cleaning image $$i; \ - docker rmi $$i > /dev/null 2>&1 || true; \ - fi; \ - done - -# this will clean everything for this build -img.clean: - @$(INFO) cleaning images for $(BUILD_REGISTRY) - @$(MAKE) do.img.clean CLEAN_IMAGES="$(shell docker images | grep -E '^$(BUILD_REGISTRY)/' | awk '{print $$1":"$$2}')" - @$(OK) cleaning images for $(BUILD_REGISTRY) - -img.done: - @rm -fr $(IMAGE_TEMP_DIR) - -img.cache: - @for i in $(CACHE_IMAGES); do \ - IMGID=$$(docker images -q $$i); \ - if [ -n "$$IMGID" ]; then \ - echo === caching image $$i; \ - CACHE_IMAGE=$(CACHE_REGISTRY)/$${i#*/}; \ - docker tag $$i $${CACHE_IMAGE}:$(CACHE_TAG); \ - for r in $$(docker images --format "{{.ID}}#{{.Repository}}:{{.Tag}}" | grep $$IMGID | grep $(CACHE_REGISTRY)/ | grep -v $${CACHE_IMAGE}:$(CACHE_TAG)); do \ - docker rmi $${r#*#} > /dev/null 2>&1 || true; \ - done; \ - fi; \ - done - -# prune removes old cached images -img.prune: - @$(INFO) pruning images older than $(PRUNE_HOURS) keeping a minimum of $(PRUNE_KEEP) images - @EXPIRED=$$(docker images --format "{{.Tag}}#{{.Repository}}:{{.Tag}}" \ - | grep -E '$(CACHE_REGISTRY)/' \ - | sort -r \ - | awk -v i=0 -v cd="$(CACHE_PRUNE_DATE)" -F "#" '{if ($$1 <= cd && i >= $(PRUNE_KEEP)) print $$2; i++ }') &&\ - for i in $$EXPIRED; do \ - echo removing expired cache image $$i; \ - [ $(PRUNE_DRYRUN) = 1 ] || docker rmi $$i > /dev/null 2>&1 || true; \ - done - @for i in $$(docker images -q -f dangling=true); do \ - echo removing dangling image $$i; \ - docker rmi $$i > /dev/null 2>&1 || true; \ - done - @$(OK) pruning - -debug.nuke: - @for c in $$(docker ps -a -q --no-trunc); do \ - if [ "$$c" != "$(SELF_CID)" ]; then \ - echo stopping and removing container $${c}; \ - docker stop $${c}; \ - docker rm $${c}; \ - fi; \ - done - @for i in $$(docker images -q); do \ - echo removing image $$i; \ - docker rmi -f $$i > /dev/null 2>&1; \ - done - -# 1: registry 2: image, 3: arch -define repo.targets -img.release.build.$(1).$(2).$(3): - @$(INFO) docker build $(1)/$(2)-$(3):$(VERSION) - @docker tag $(BUILD_REGISTRY)/$(2)-$(3) $(1)/$(2)-$(3):$(VERSION) || $(FAIL) - @# Save image as _output/images/linux_/.tar.gz (no builds for darwin or windows) - @mkdir -p $(OUTPUT_DIR)/images/linux_$(3) || $(FAIL) - @docker save $(BUILD_REGISTRY)/$(2)-$(3) | gzip -c > $(OUTPUT_DIR)/images/linux_$(3)/$(2).tar.gz || $(FAIL) - @$(OK) docker build $(1)/$(2)-$(3):$(VERSION) -img.release.build: img.release.build.$(1).$(2).$(3) - -img.release.publish.$(1).$(2).$(3): - @$(INFO) docker push $(1)/$(2)-$(3):$(VERSION) - @docker push $(1)/$(2)-$(3):$(VERSION) || $(FAIL) - @$(OK) docker push $(1)/$(2)-$(3):$(VERSION) -img.release.publish: img.release.publish.$(1).$(2).$(3) - -img.release.promote.$(1).$(2).$(3): - @$(INFO) docker promote $(1)/$(2)-$(3):$(VERSION) to $(1)/$(2)-$(3):$(CHANNEL) - @docker pull $(1)/$(2)-$(3):$(VERSION) || $(FAIL) - @[ "$(CHANNEL)" = "master" ] || docker tag $(1)/$(2)-$(3):$(VERSION) $(1)/$(2)-$(3):$(VERSION)-$(CHANNEL) || $(FAIL) - @docker tag $(1)/$(2)-$(3):$(VERSION) $(1)/$(2)-$(3):$(CHANNEL) || $(FAIL) - @[ "$(CHANNEL)" = "master" ] || docker push $(1)/$(2)-$(3):$(VERSION)-$(CHANNEL) - @docker push $(1)/$(2)-$(3):$(CHANNEL) || $(FAIL) - @$(OK) docker promote $(1)/$(2)-$(3):$(VERSION) to $(1)/$(2)-$(3):$(CHANNEL) || $(FAIL) -img.release.promote: img.release.promote.$(1).$(2).$(3) - -img.release.clean.$(1).$(2).$(3): - @[ -z "$$$$(docker images -q $(1)/$(2)-$(3):$(VERSION))" ] || docker rmi $(1)/$(2)-$(3):$(VERSION) - @[ -z "$$$$(docker images -q $(1)/$(2)-$(3):$(VERSION)-$(CHANNEL))" ] || docker rmi $(1)/$(2)-$(3):$(VERSION)-$(CHANNEL) - @[ -z "$$$$(docker images -q $(1)/$(2)-$(3):$(CHANNEL))" ] || docker rmi $(1)/$(2)-$(3):$(CHANNEL) -img.release.clean: img.release.clean.$(1).$(2).$(3) -endef -$(foreach r,$(REGISTRIES), $(foreach i,$(IMAGES), $(foreach a,$(IMAGE_ARCHS),$(eval $(call repo.targets,$(r),$(i),$(a)))))) - -img.release.manifest.publish.%: img.release.publish $(MANIFEST_TOOL) - @$(MANIFEST_TOOL) push from-args --platforms $(IMAGE_PLATFORMS) --template $(DOCKER_REGISTRY)/$*-ARCH:$(VERSION) --target $(DOCKER_REGISTRY)/$*:$(VERSION) || $(FAIL) - -img.release.manifest.promote.%: img.release.promote $(MANIFEST_TOOL) - @[ "$(CHANNEL)" = "master" ] || $(MANIFEST_TOOL) push from-args --platforms $(IMAGE_PLATFORMS) --template $(DOCKER_REGISTRY)/$*-ARCH:$(VERSION) --target $(DOCKER_REGISTRY)/$*:$(VERSION)-$(CHANNEL) || $(FAIL) - @$(MANIFEST_TOOL) push from-args --platforms $(IMAGE_PLATFORMS) --template $(DOCKER_REGISTRY)/$*-ARCH:$(VERSION) --target $(DOCKER_REGISTRY)/$*:$(CHANNEL) || $(FAIL) - -# ==================================================================================== -# Common Targets - -# if IMAGES is defined then invoke and build each image identified -ifneq ($(IMAGES),) - -ifeq ($(DOCKER_REGISTRY),) -$(error the variable DOCKER_REGISTRY must be set prior to including image.mk) -endif - -do.build.image.%: ; @$(MAKE) -C $(IMAGE_DIR)/$* PLATFORM=$(PLATFORM) -do.build.images: $(foreach i,$(IMAGES), do.build.image.$(i)) ; -build.artifacts.platform: do.build.images -build.done: img.cache img.done -clean: img.clean img.release.clean - -publish.init: img.release.build - -# only publish images for main / master and release branches -# TODO(hasheddan): remove master and support overriding -ifneq ($(filter main master release-%,$(BRANCH_NAME)),) -publish.artifacts: $(addprefix img.release.manifest.publish.,$(IMAGES)) -endif - -promote.artifacts: $(addprefix img.release.manifest.promote.,$(IMAGES)) - -else - -# otherwise we assume this .mk file is being included to build a single image - -build.artifacts.platform: img.build -build.done: img.cache img.done -clean: img.clean - -endif - -# ==================================================================================== -# Special Targets - -prune: img.prune - -define IMAGE_HELPTEXT -Image Targets: - prune Prune orphaned and cached images. - -Image Options: - PRUNE_HOURS The number of hours from when an image is last used for it to be - considered a target for pruning. Default is 48 hrs. - PRUNE_KEEP The minimum number of cached images to keep. Default is 24 images. - -endef -export IMAGE_HELPTEXT - -img.help: - @echo "$$IMAGE_HELPTEXT" - -help-special: img.help - -.PHONY: prune img.help - -# ==================================================================================== -# tools - -$(MANIFEST_TOOL): - @$(INFO) installing manifest-tool $(MANIFEST_TOOL_VERSION) - @mkdir -p $(TOOLS_HOST_DIR) || $(FAIL) - @curl -fsSL https://github.com/estesp/manifest-tool/releases/download/$(MANIFEST_TOOL_VERSION)/manifest-tool-$(HOSTOS)-$(SAFEHOSTARCH) > $@ || $(FAIL) - @chmod +x $@ || $(FAIL) - @$(OK) installing manifest-tool $(MANIFEST_TOOL_VERSION) diff --git a/build/makelib/k8s_tools.mk b/build/makelib/k8s_tools.mk deleted file mode 100644 index ec03069..0000000 --- a/build/makelib/k8s_tools.mk +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -# the version of istio to use -ISTIO_VERSION ?= 1.8.1 -ISTIO := $(TOOLS_HOST_DIR)/istioctl-$(ISTIO_VERSION) -ISTIOOS := $(HOSTOS) -ISTIO_DOWNLOAD_TUPLE := $(SAFEHOSTPLATFORM) -ifeq ($(HOSTOS),darwin) -ISTIO_DOWNLOAD_TUPLE := osx -endif - -# the version of kind to use -KIND_VERSION ?= v0.11.1 -KIND := $(TOOLS_HOST_DIR)/kind-$(KIND_VERSION) - -# the version of kubectl to use -KUBECTL_VERSION ?= v1.17.11 -KUBECTL := $(TOOLS_HOST_DIR)/kubectl-$(KUBECTL_VERSION) - -# the version of kustomize to use -KUSTOMIZE_VERSION ?= v3.3.0 -KUSTOMIZE := $(TOOLS_HOST_DIR)/kustomize-$(KUSTOMIZE_VERSION) - -# the version of olm-bundle to use -OLMBUNDLE_VERSION ?= v0.4.0 -OLMBUNDLE := $(TOOLS_HOST_DIR)/olm-bundle-$(OLMBUNDLE_VERSION) - -# the version of helm 3 to use -USE_HELM3 ?= false -HELM3_VERSION ?= v3.5.3 -HELM3 := $(TOOLS_HOST_DIR)/helm-$(HELM3_VERSION) - -# If we enable HELM3 we alias HELM to be HELM3 -ifeq ($(USE_HELM3),true) -HELM_VERSION ?= $(HELM3_VERSION) -HELM := $(HELM3) -else -HELM_VERSION ?= v2.16.7 -HELM := $(TOOLS_HOST_DIR)/helm-$(HELM_VERSION) -endif - -# ==================================================================================== -# Common Targets - -k8s_tools.buildvars: - @echo KIND=$(KIND) - @echo KUBECTL=$(KUBECTL) - @echo KUSTOMIZE=$(KUSTOMIZE) - @echo HELM=$(HELM) - @echo HELM3=$(HELM3) - -build.vars: k8s_tools.buildvars - -# ==================================================================================== -# tools - -# istio download and install -$(ISTIO): - @$(INFO) installing istio $(ISTIO_VERSION) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-istio || $(FAIL) - @curl --progress-bar -fsSL https://github.com/istio/istio/releases/download/$(ISTIO_VERSION)/istio-$(ISTIO_VERSION)-$(ISTIO_DOWNLOAD_TUPLE).tar.gz | tar -xz -C $(TOOLS_HOST_DIR)/tmp-istio || $(FAIL) - @mv $(TOOLS_HOST_DIR)/tmp-istio/istio-$(ISTIO_VERSION)/bin/istioctl $(ISTIO) || $(FAIL) - @rm -fr $(TOOLS_HOST_DIR)/tmp-istio || $(FAIL) - @$(OK) $(ISTIO) installing istio $(ISTIO_VERSION) - -# kind download and install -$(KIND): - @$(INFO) installing kind $(KIND_VERSION) - @mkdir -p $(TOOLS_HOST_DIR) || $(FAIL) - @curl -fsSLo $(KIND) https://github.com/kubernetes-sigs/kind/releases/download/$(KIND_VERSION)/kind-$(SAFEHOSTPLATFORM) || $(FAIL) - @chmod +x $(KIND) - @$(OK) installing kind $(KIND_VERSION) - -# kubectl download and install -$(KUBECTL): - @$(INFO) installing kubectl $(KUBECTL_VERSION) - @curl -fsSLo $(KUBECTL) https://storage.googleapis.com/kubernetes-release/release/$(KUBECTL_VERSION)/bin/$(HOSTOS)/$(SAFEHOSTARCH)/kubectl || $(FAIL) - @chmod +x $(KUBECTL) - @$(OK) installing kubectl $(KUBECTL_VERSION) - -# kustomize download and install -$(KUSTOMIZE): - @$(INFO) installing kustomize $(KUSTOMIZE_VERSION) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-kustomize - @curl -fsSL https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/$(KUSTOMIZE_VERSION)/kustomize_$(KUSTOMIZE_VERSION)_$(SAFEHOST_PLATFORM).tar.gz | tar -xz -C $(TOOLS_HOST_DIR)/tmp-kustomize - @mv $(TOOLS_HOST_DIR)/tmp-kustomize/kustomize $(KUSTOMIZE) - @rm -fr $(TOOLS_HOST_DIR)/tmp-kustomize - @$(OK) installing kustomize $(KUSTOMIZE_VERSION) - -# olm-bundle download and install -$(OLMBUNDLE): - @$(INFO) installing olm-bundle $(OLMBUNDLE_VERSION) - @curl -fsSLo $(OLMBUNDLE) https://github.com/upbound/olm-bundle/releases/download/$(OLMBUNDLE_VERSION)/olm-bundle_$(SAFEHOSTPLATFORM) || $(FAIL) - @chmod +x $(OLMBUNDLE) - @$(OK) installing olm-bundle $(OLMBUNDLE_VERSION) - -# helm download and install only if helm3 not enabled -ifeq ($(USE_HELM3),false) -$(HELM): - @$(INFO) installing helm $(HELM_VERSION) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-helm - @curl -fsSL https://storage.googleapis.com/kubernetes-helm/helm-$(HELM_VERSION)-$(SAFEHOSTPLATFORM).tar.gz | tar -xz -C $(TOOLS_HOST_DIR)/tmp-helm - @mv $(TOOLS_HOST_DIR)/tmp-helm/$(SAFEHOSTPLATFORM)/helm $(HELM) - @rm -fr $(TOOLS_HOST_DIR)/tmp-helm - @$(OK) installing helm $(HELM_VERSION) -endif - -# helm3 download and install -$(HELM3): - @$(INFO) installing helm3 $(HELM_VERSION) - @mkdir -p $(TOOLS_HOST_DIR)/tmp-helm3 - @curl -fsSL https://get.helm.sh/helm-$(HELM3_VERSION)-$(SAFEHOSTPLATFORM).tar.gz | tar -xz -C $(TOOLS_HOST_DIR)/tmp-helm3 - @mv $(TOOLS_HOST_DIR)/tmp-helm3/$(SAFEHOSTPLATFORM)/helm $(HELM3) - @rm -fr $(TOOLS_HOST_DIR)/tmp-helm3 - @$(OK) installing helm3 $(HELM_VERSION) \ No newline at end of file diff --git a/build/makelib/local.mk b/build/makelib/local.mk deleted file mode 100644 index 1a905c8..0000000 --- a/build/makelib/local.mk +++ /dev/null @@ -1,179 +0,0 @@ -SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST))) -SCRIPTS_DIR := $(SELF_DIR)/../scripts - -KIND_CLUSTER_NAME ?= local-dev -DEPLOY_LOCAL_DIR ?= $(ROOT_DIR)/cluster/local -DEPLOY_LOCAL_POSTRENDER_WORKDIR := $(WORK_DIR)/local/post-render -DEPLOY_LOCAL_WORKDIR := $(WORK_DIR)/local/localdev -DEPLOY_LOCAL_CONFIG_DIR := $(DEPLOY_LOCAL_WORKDIR)/config -DEPLOY_LOCAL_KUBECONFIG := $(DEPLOY_LOCAL_WORKDIR)/kubeconfig -KIND_CONFIG_FILE := $(DEPLOY_LOCAL_WORKDIR)/kind.yaml -KUBECONFIG ?= $(HOME)/.kube/config - -LOCALDEV_CLONE_WITH ?= ssh # or https -LOCALDEV_LOCAL_BUILD ?= true -LOCALDEV_PULL_LATEST ?= true - -# HELM_HOME is defined in makelib/helm.mk, however, it is not possible to include makelib/helm.mk if -# repo has no helm charts where it fails with the variable HELM_CHARTS must be set prior to including helm.mk. -# We want to still use local dev tooling even the repo has no helm charts -# (e.g. deploying existing charts from other repositories). -ifndef HELM_HOME -HELM_HOME := $(abspath $(WORK_DIR)/helm) -XDG_DATA_HOME := $(HELM_HOME) -XDG_CONFIG_HOME := $(HELM_HOME) -XDG_CACHE_HOME := $(HELM_HOME) -export XDG_DATA_HOME -export XDG_CONFIG_HOME -export XDG_CACHE_HOME -$(HELM_HOME): $(HELM) - @mkdir -p $(HELM_HOME) -endif - -export KIND -export KUBECTL -export KUSTOMIZE -export HELM -export HELM3 -export USE_HELM3 -export GOMPLATE -export ISTIO -export ISTIO_VERSION -export BUILD_REGISTRY -export ROOT_DIR -export SCRIPTS_DIR -export KIND_CLUSTER_NAME -export WORK_DIR -export LOCALDEV_INTEGRATION_CONFIG_REPO -export LOCAL_DEV_REPOS -export LOCALDEV_CLONE_WITH -export LOCALDEV_PULL_LATEST -export DEPLOY_LOCAL_DIR -export DEPLOY_LOCAL_POSTRENDER_WORKDIR -export DEPLOY_LOCAL_WORKDIR -export DEPLOY_LOCAL_CONFIG_DIR -export DEPLOY_LOCAL_KUBECONFIG -export KIND_CONFIG_FILE -export KUBECONFIG -export LOCALDEV_LOCAL_BUILD -export HELM_OUTPUT_DIR -export BUILD_HELM_CHART_VERSION=$(HELM_CHART_VERSION) -export BUILD_HELM_CHARTS_LIST=$(HELM_CHARTS) -export BUILD_REGISTRIES=$(REGISTRIES) -export BUILD_IMAGES=$(IMAGES) -export BUILD_IMAGE_ARCHS=$(subst linux_,,$(filter linux_%,$(BUILD_PLATFORMS))) -export TARGETARCH - -# Install gomplate -GOMPLATE_VERSION := 3.7.0 -GOMPLATE := $(TOOLS_HOST_DIR)/gomplate-$(GOMPLATE_VERSION) - -gomplate.buildvars: - @echo GOMPLATE=$(GOMPLATE) - -build.vars: gomplate.buildvars - -$(GOMPLATE): - @$(INFO) installing gomplate $(SAFEHOSTPLATFORM) - @curl -fsSLo $(GOMPLATE) https://github.com/hairyhenderson/gomplate/releases/download/v$(GOMPLATE_VERSION)/gomplate_$(SAFEHOSTPLATFORM) || $(FAIL) - @chmod +x $(GOMPLATE) - @$(OK) installing gomplate $(SAFEHOSTPLATFORM) - -kind.up: $(KIND) - @$(INFO) kind up - @$(KIND) get kubeconfig --name $(KIND_CLUSTER_NAME) >/dev/null 2>&1 || $(KIND) create cluster --name=$(KIND_CLUSTER_NAME) --config="$(KIND_CONFIG_FILE)" --kubeconfig="$(KUBECONFIG)" - @$(KIND) get kubeconfig --name $(KIND_CLUSTER_NAME) > $(DEPLOY_LOCAL_KUBECONFIG) - @$(OK) kind up - -kind.down: $(KIND) - @$(INFO) kind down - @$(KIND) delete cluster --name=$(KIND_CLUSTER_NAME) - @$(OK) kind down - -kind.setcontext: $(KUBECTL) kind.up - @$(KUBECTL) --kubeconfig $(KUBECONFIG) config use-context kind-$(KIND_CLUSTER_NAME) - -kind.buildvars: - @echo DEPLOY_LOCAL_KUBECONFIG=$(DEPLOY_LOCAL_KUBECONFIG) - -build.vars: kind.buildvars - -.PHONY: kind.up kind.down kind.setcontext kind.buildvars - -local.helminit: $(KUBECTL) $(HELM) kind.setcontext - @$(INFO) helm init - @docker pull gcr.io/kubernetes-helm/tiller:$(HELM_VERSION) - @$(KIND) load docker-image gcr.io/kubernetes-helm/tiller:$(HELM_VERSION) --name=$(KIND_CLUSTER_NAME) - @$(KUBECTL) --kubeconfig $(KUBECONFIG) --namespace kube-system get serviceaccount tiller > /dev/null 2>&1 || $(KUBECTL) --kubeconfig $(KUBECONFIG) --namespace kube-system create serviceaccount tiller - @$(KUBECTL) --kubeconfig $(KUBECONFIG) get clusterrolebinding tiller-cluster-rule > /dev/null 2>&1 || $(KUBECTL) --kubeconfig $(KUBECONFIG) create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller - @$(HELM) ls > /dev/null 2>&1 || $(HELM) init --kubeconfig $(KUBECONFIG) --service-account tiller --upgrade --wait - @$(HELM) repo update - @$(OK) helm init - --include $(DEPLOY_LOCAL_WORKDIR)/config.mk - -local.prepare: - @$(INFO) preparing local dev workdir - @$(SCRIPTS_DIR)/localdev-prepare.sh || $(FAIL) - @$(OK) preparing local dev workdir - -local.clean: - @$(INFO) cleaning local dev workdir - @rm -rf $(WORK_DIR)/local || $(FAIL) - @$(OK) cleaning local dev workdir - -ifeq ($(USE_HELM3),true) -local.up: local.prepare kind.up $(HELM_HOME) -else -local.up: local.prepare kind.up local.helminit -endif - -local.down: kind.down local.clean - -local.deploy.%: local.prepare $(KUBECTL) $(KUSTOMIZE) $(HELM) $(HELM3) $(HELM_HOME) $(GOMPLATE) $(ISTIO) kind.setcontext - @$(INFO) localdev deploy component: $* - @$(eval PLATFORMS=$(BUILD_PLATFORMS)) - @$(SCRIPTS_DIR)/localdev-deploy-component.sh $* || $(FAIL) - @$(OK) localdev deploy component: $* - -local.remove.%: local.prepare $(KUBECTL) $(HELM) $(HELM3) $(HELM_HOME) $(GOMPLATE) kind.setcontext - @$(INFO) localdev remove component: $* - @$(SCRIPTS_DIR)/localdev-remove-component.sh $* || $(FAIL) - @$(OK) localdev remove component: $* - -local.scaffold: - @$(INFO) localdev scaffold config - @$(SCRIPTS_DIR)/localdev-scaffold.sh || $(FAIL) - @$(OK) localdev scaffold config - -.PHONY: local.helminit local.up local.deploy.% local.remove.% local.scaffold - -# ==================================================================================== -# Special Targets - -fmt: go.imports -fmt.simplify: go.fmt.simplify -imports: go.imports -imports.fix: go.imports.fix -vendor: go.vendor -vendor.check: go.vendor.check -vendor.update: go.vendor.update -vet: go.vet - -define LOCAL_HELPTEXT -Local Targets: - local.scaffold scaffold a local development configuration - local.up stand up of a local development cluster with kind - local.down tear down local development cluster - local.deploy.% install/upgrade a local/external component, for example, local.deploy.crossplane - local.remove.% removes component, for example, local.remove.crossplane - -endef -export LOCAL_HELPTEXT - -local.help: - @echo "$$LOCAL_HELPTEXT" - -help-special: local.help - -### \ No newline at end of file diff --git a/build/makelib/nodejs.mk b/build/makelib/nodejs.mk deleted file mode 100644 index 6c30c6d..0000000 --- a/build/makelib/nodejs.mk +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST))) - -NPM := npm -NPM_MODULE_DIR := $(SELF_DIR)/../../node_modules -NPM_PACKAGE_FILE := $(SELF_DIR)/../../package.json -NPM_PACKAGE_LOCK_FILE := $(SELF_DIR)/../../package-lock.json - -NG := $(NPM) run ng -- - -# TODO: link this to overall TTY support -ifneq ($(origin NG_NO_PROGRESS), undefined) -NG_PROGRESS_ARG ?= --progress=false -npm_config_progress = false -export npm_config_progress -endif - -NG_KARMA_CONFIG ?= karma.ci.conf.js - -NG_OUTDIR ?= $(OUTPUT_DIR)/angular -export NG_OUTDIR - -# ==================================================================================== -# NPM Targets - -# some node packages like node-sass require platform/arch specific install. we need -# to run npm install for each platform. As a result we track a stamp file per host -NPM_INSTALL_STAMP := $(NPM_MODULE_DIR)/npm.install.$(HOST_PLATFORM).stamp - -# only run "npm install" if the package.json has changed -$(NPM_INSTALL_STAMP): $(NPM_PACKAGE_FILE) $(NPM_PACKAGE_LOCK_FILE) - @echo === npm install $(HOST_PLATFORM) - @$(NPM) install --no-save -# rebuild node-sass since it has platform dependent bits - @[ ! -d "$(NPM_MODULE_DIR)/node-sass" ] || $(NPM) rebuild node-sass - @touch $(NPM_INSTALL_STAMP) - -npm.install: $(NPM_INSTALL_STAMP) - -.PHONY: npm.install - -# ==================================================================================== -# Angular Project Targets - -ng.build: npm.install - @echo === ng build $(PLATFORM) - @$(NG) build --prod $(NG_PROGRESS_ARG) - -ng.lint: npm.install - @echo === ng lint - @$(NG) lint - -ng.test: npm.install - @echo === ng test - @$(NG) test $(NG_PROGRESS_ARG) --code-coverage --karma-config $(NG_KARMA_CONFIG) - -ng.test-integration: npm.install - @echo === ng e2e - @$(NG) e2e - -ng.clean: - @: - -ng.distclean: - @rm -fr $(NPM_MODULE_DIR) - -.PHONY: ng.build ng.lint ng.test ng.test-integration ng.clean ng.distclean - -# ==================================================================================== -# Common Targets - -build.code: ng.build -clean: ng.clean -distclean: ng.distclean -lint: ng.lint -test.run: ng.test -e2e.run: ng.test - diff --git a/build/makelib/output.mk b/build/makelib/output.mk deleted file mode 100644 index 618ae61..0000000 --- a/build/makelib/output.mk +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - - -ifeq ($(VERSION),) -$(error the VERSION variable must be set before including output.mk) -endif - - - -ifeq ($(OUTPUT_DIR),) -$(error the CHANNEL variable must be set before including output.mk) -endif - -S3_CP := aws s3 cp --only-show-errors -S3_SYNC := aws s3 sync --only-show-errors -S3_SYNC_DEL := aws s3 sync --only-show-errors --delete - -# ==================================================================================== -# Targets - -output.init: - @mkdir -p $(OUTPUT_DIR) - @echo "$(VERSION)" > $(OUTPUT_DIR)/version - -output.clean: - @rm -fr $(OUTPUT_DIR) - -# if S3_BUCKET is set, add targets for publishing and promoting artifacts -ifeq ($(S3_BUCKET),) - @$(INFO) skipped publishing outputs to an s3 bucket since 'S3_BUCKET' is not set -else - -ifeq ($(CHANNEL),) -$(error the CHANNEL variable must be set for publishing to the given S3_BUCKET) -endif - -ifeq ($(BRANCH_NAME),) -$(error the BRANCH_NAME variable must be set for publishing to the given S3_BUCKET) -endif - -output.publish: - @$(INFO) publishing outputs to s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION) - @$(S3_SYNC_DEL) $(OUTPUT_DIR) s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION) || $(FAIL) - @$(OK) publishing outputs to s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION) - -output.promote: - @$(INFO) promoting s3://$(S3_BUCKET)/$(CHANNEL)/$(VERSION) - @$(S3_SYNC_DEL) s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION) s3://$(S3_BUCKET)/$(CHANNEL)/$(VERSION) || $(FAIL) - @$(S3_SYNC_DEL) s3://$(S3_BUCKET)/build/$(BRANCH_NAME)/$(VERSION) s3://$(S3_BUCKET)/$(CHANNEL)/current || $(FAIL) - @$(OK) promoting s3://$(S3_BUCKET)/$(CHANNEL)/$(VERSION) - -publish.artifacts: output.publish -promote.artifacts: output.promote - -endif - -# ==================================================================================== -# Common Targets - -build.init: output.init -build.clean: output.clean diff --git a/build/makelib/yarnjs.mk b/build/makelib/yarnjs.mk deleted file mode 100644 index 648a599..0000000 --- a/build/makelib/yarnjs.mk +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# ==================================================================================== -# Options - -SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST))) - -YARN_DIR ?= $(SELF_DIR)/../.. - -YARN := yarn -YARN_MODULE_DIR := $(YARN_DIR)/node_modules -YARN_PACKAGE_FILE := $(YARN_DIR)/package.json -YARN_PACKAGE_LOCK_FILE := $(YARN_DIR)/yarn.lock - -YARN_OUTDIR ?= $(OUTPUT_DIR)/yarn -export YARN_OUTDIR - -# ==================================================================================== -# YARN Targets - -# some node packages like node-sass require platform/arch specific install. we need -# to run yarn for each platform. As a result we track a stamp file per host -YARN_INSTALL_STAMP := $(YARN_MODULE_DIR)/yarn.install.$(HOST_PLATFORM).stamp - -# only run "yarn" if the package.json has changed -$(YARN_INSTALL_STAMP): $(YARN_PACKAGE_FILE) $(YARN_PACKAGE_LOCK_FILE) - @echo === yarn - @cd $(YARN_DIR); $(YARN) --frozen-lockfile --non-interactive - @touch $(YARN_INSTALL_STAMP) - -yarn.install: $(YARN_INSTALL_STAMP) - -.PHONY: yarn.install - -# ==================================================================================== -# Razzle Project Targets - -yarn.build: yarn.install - @echo === yarn build $(PLATFORM) - @cd $(YARN_DIR); $(YARN) build - @mkdir -p $(YARN_OUTDIR) && cp -a build $(YARN_OUTDIR) - -yarn.test: yarn.install - @echo === yarn test - @cd $(YARN_DIR); $(YARN) test-ci - -yarn.clean: - @rm -fr $(YARN_DIR)/build _output .work - -yarn.distclean: - @rm -fr $(YARN_MODULE_DIR) .cache - -.PHONY: yarn.build yarn.lint yarn.test yarn.test-integration yarn.clean yarn.distclean - -# ==================================================================================== -# Common Targets - -build.code: yarn.build -clean: yarn.clean -distclean: yarn.distclean -lint: yarn.lint -test.run: yarn.test -e2e.run: yarn.test - diff --git a/build/reset b/build/reset deleted file mode 100755 index a5904ef..0000000 --- a/build/reset +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -e - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "${scriptdir}/common.sh" - -# this should only clean up leaked containers during rsync -for c in $(docker ps -a -q --filter=ancestor=${CROSS_IMAGE}); do - echo removing container ${c} - docker stop ${c} - docker rm ${c} -done - -if [[ $(docker volume ls | grep ${CROSS_IMAGE_VOLUME}) ]]; then - echo removing volume ${CROSS_IMAGE_VOLUME} - docker volume rm ${CROSS_IMAGE_VOLUME} -fi diff --git a/build/run b/build/run deleted file mode 100755 index 367c035..0000000 --- a/build/run +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/bash -e - -# Copyright 2016 The Upbound Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "${scriptdir}/common.sh" - -#if [ ! -z $DOCKER_HOST ]; then -# echo ERROR: we only support the case where docker is running locally for now. -# exit 1 -#fi - -# build the the container if we've not done so already -if [ "`uname -m`" != "x86_64" ]; then - echo ERROR: we only support the cross container build on amd64 host. - exit 1 -fi -echo ==== building the cross container \(this could take minutes the first time\) -make_cmd="make --no-print-directory -C ${scriptdir}/cross build PULL=0" -make_output=$($make_cmd 2>&1) || { - cat <&2 -=== cross build image failed for ${CROSS_IMAGE} -${make_output} -EOF - exit 1 -} - -# run the container with the same uid and gid of the user to avoid -# permissions issues when sharing volumes with the host -USER_ARGS="-e BUILDER_UID=$( id -u ) -e BUILDER_GID=$( id -g )" -BUILDER_HOME=/home/upbound - -# setup kubectl from the host if available -if [ -d ${HOME}/.kube ]; then -KUBE_ARGS="-v ${HOME}/.kube:${BUILDER_HOME}/.kube" -fi - -if [ -x ${KUBEADM_DIND_DIR}/kubectl ]; then -KUBEADM_DIND_ARGS="-v ${KUBEADM_DIND_DIR}/kubectl:/usr/bin/kubectl" -fi - -if [ "`uname -s`" != "Linux" ]; then - - # On non-linux hosts, its is EXTREMELY slow to mount the source - # tree inside the container. As such we use rsync to copy the source - # tree to a new docker volumer on each run. The first rsync take a - # little bit of time, but subsequent ones go by fast. This approach - # is MUCH faster than using osxfs, NFS or other approaches. - - # create a new volume to hold our go workspace. NOTE: while concurrent - # runs of the build container are supported they will share the same volume - # and we will be rsyncing to it at different times. This could lead to - # undefined behavior but this should be a rare case on non-linux envs. - if [[ ! $(docker volume ls | grep ${CROSS_IMAGE_VOLUME}) ]]; then - echo ==== Creating docker volume "${CROSS_IMAGE_VOLUME}" and syncing sources - echo ==== for first time. This could take a few seconds. - docker volume create --name ${CROSS_IMAGE_VOLUME} &> /dev/null - fi - - # On non-linux the layout is as follows: - # - # /var/run/docker.sock (bind mounted to host /var/run/docker.sock) - # /${BUILDER_HOME} (bind mounted to an independent docker volume) - # /.netrc (bind mounted to host ${HOME}/.netrc) - # /.aws (bind mounted to host ${HOME}/.aws) - # /.docker (bind mounted to host ${HOME}/.docker) - # /go/src/github.com/upbound/api (rsync'd from host ) - - # now copy the source tree to the container volume. Note this also - # copies the .git directory but not the index.lock files which - # change frequently and sometimes cause rsync to fail. - rsync_host_to_container \ - --filter="- /.work/" \ - --filter="- /.vscode/" \ - --filter="- index.lock" - - MOUNT_OPTS="${MOUNT_OPTS} -v ${CROSS_IMAGE_VOLUME}:${BUILDER_HOME}" - -else - - # On linux bind mounts are cheap so we dont need to rsync - # the layout is as follows: - # - # /var/run/docker.sock (bind mounted to host /var/run/docker.sock) - # /${BUILDER_HOME} - # /.netrc (bind mounted to host ${HOME}/.netrc) - # /.aws (bind mounted to host ${HOME}/.aws) - # /.docker (bind mounted to host ${HOME}/.docker) - # /go - # /pkg (bind mounted to /.work/cross_pkg) - # /src/github.com/upbound/api (bind mounted to ) - - MOUNT_OPTS="${MOUNT_OPTS} \ - -v ${scriptdir}/../.work/cross_pkg:${BUILDER_HOME}/go/pkg - -v ${scriptdir}/..:${BUILDER_HOME}/go/src/${PROJECT_REPO}" -fi - -# we copy credential files for github access -[[ -f ${HOME}/.netrc ]] && NETRC_ARGS="-v ${HOME}/.netrc:${BUILDER_HOME}/.netrc" - -tty -s && TTY_ARGS=-ti || TTY_ARGS= - -# docker seems more reliable when running with net=host. -if [ -z "${DISABLE_HOST_NETWORK}" ]; then - NET_ARGS="--net=host" -fi - -# BUGBUG: new docker clients switch to using OSX keychain. how do we copy creds? -# sometimes we run docker inside docker. bind the docker config and socket -if [ -z "${DISABLE_NESTED_DOCKER}" ]; then - DOCKER_NESTED_ARGS="\ - -v ${HOME}/.docker:${BUILDER_HOME}/.docker \ - -v /var/run/docker.sock:/var/run/docker.sock" -fi - -# set AWS creds -AWS_ARGS="\ - -e AWS_ACCESS_KEY_ID \ - -e AWS_SECRET_ACCESS_KEY \ - -e AWS_DEFAULT_REGION \ - -v ${HOME}/.aws:${BUILDER_HOME}/.aws" - -rsync_back() { - if [ "`uname -s`" != "Linux" ]; then - # rsync generated files back to the host. IMPORTANT: we never rsync the .git directory back - # since the host's version might have changed. - rsync_container_to_host \ - --filter="+ /_output/" \ - --filter="+ /.cache/" \ - --filter="+ /vendor/" \ - --filter="- /*" - fi -} - -# set GOPRIVATE to skip go-proxy on upbound by default - https://tip.golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules -GOPRIVATE="github.com/upbound/*" - -docker run \ - --rm \ - -h ${BUILD_HOST} \ - -e BUILD_REGISTRY=${BUILD_REGISTRY} \ - -e GOPATH="${BUILDER_HOME}/go" \ - -e GO_PKG_DIR="" \ - -e GITHUB_TOKEN \ - -e VERSION \ - -e CHANNEL \ - -e RUNNING_IN_CI \ - -e GOPRIVATE="${GOPRIVATE}" \ - -v ${PWD}/_output:${BUILDER_HOME}/go/bin \ - ${TTY_ARGS} \ - ${KUBE_ARGS} \ - ${KUBEADM_DIND_ARGS} \ - ${DOWNLOAD_ARGS} \ - ${NETRC_ARGS} \ - ${AWS_ARGS} \ - ${USER_ARGS} \ - ${DOCKER_NESTED_ARGS} \ - ${NET_ARGS} \ - ${MOUNT_OPTS} \ - -w ${BUILDER_HOME}/go/src/${PROJECT_REPO} \ - ${CROSS_IMAGE} \ - "$@" || { rsync_back; exit 1; } - -rsync_back diff --git a/build/scripts/load-configs.sh b/build/scripts/load-configs.sh deleted file mode 100644 index 79e2e35..0000000 --- a/build/scripts/load-configs.sh +++ /dev/null @@ -1,46 +0,0 @@ -COMPONENT=$1 - -# REQUIRED_IMAGES is the array of images that the COMPONENT needs. -# These images will be pulled (if not exists) and loaded into the kind cluster before deployment. -# If an image has tags, it will be used. -# If an image does not have a tag, "v${HELM_CHART_VERSION}" will be used as a tag. -REQUIRED_IMAGES=() - -# HELM_CHART_NAME is the name of the helm chart to deploy. If not set, defaults to COMPONENT -HELM_CHART_NAME="" -# HELM_CHART_VERSION is the version of the helm chart to deploy. -# If LOCALDEV_LOCAL_BUILD=true, HELM_CHART_VERSION will be set the version in build system. -# If LOCALDEV_LOCAL_BUILD=false, HELM_CHART_VERSION defaults to latest version in the HELM_REPOSITORY -HELM_CHART_VERSION="" -# HELM_REPOSITORY_NAME is the name of the helm repository. -# This will only be used if LOCALDEV_LOCAL_BUILD=false or HELM_CHART_NAME is not a local chart (e.g. not in HELM_CHARTS array) -HELM_REPOSITORY_NAME="" -# HELM_REPOSITORY_NAME is the url of the helm repository. -HELM_REPOSITORY_URL="" -# HELM_REPOSITORY_FORCE_UPDATE controls whether always update helm repositories or not. -# If false, "helm repo update" will only be called if repo does not exist already. -HELM_REPOSITORY_FORCE_UPDATE="false" -# HELM_RELEASE_NAME is the name of the helm release. If not set, defaults to COMPONENT -HELM_RELEASE_NAME="" -# HELM_RELEASE_NAMESPACE is the namespace for the helm release. -HELM_RELEASE_NAMESPACE="default" -# HELM_DELETE_ON_FAILURE controls whether to delete/rollback a failed install/upgrade. -HELM_DELETE_ON_FAILURE="true" - -# COMPONENT_SKIP_DEPLOY controls whether (conditionally) skip deployment of a component or not. -COMPONENT_SKIP_DEPLOY="false" - -MAIN_CONFIG_FILE="${DEPLOY_LOCAL_CONFIG_DIR}/config.env" -COMPONENT_CONFIG_DIR="${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}" -COMPONENT_CONFIG_FILE="${COMPONENT_CONFIG_DIR}/config.env" - -if [[ ! -d "${COMPONENT_CONFIG_DIR}" ]]; then - echo_error "Component config dir \"${COMPONENT_CONFIG_DIR}\" does not exist (or is not a directory), did you run make local.prepare ?" -fi - -if [[ -f "${MAIN_CONFIG_FILE}" ]]; then - source "${MAIN_CONFIG_FILE}" -fi -if [[ -f "${COMPONENT_CONFIG_FILE}" ]]; then - source "${COMPONENT_CONFIG_FILE}" -fi diff --git a/build/scripts/localdev-deploy-component.sh b/build/scripts/localdev-deploy-component.sh deleted file mode 100755 index 86789f9..0000000 --- a/build/scripts/localdev-deploy-component.sh +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/env bash -set -aeuo pipefail - -COMPONENT=$1 - -# Commands for searching a repo differs for helm2 and helm3 -# helm2 search -l -# helm3 search repo -l -HELM_SEARCH_REPO="${HELM} search" -if [ "${USE_HELM3}" == "true" ]; then - HELM_SEARCH_REPO="${HELM} search repo" -fi - -# Source utility functions -source "${SCRIPTS_DIR}/utils.sh" -# sourcing load-configs.sh: -# - initializes configuration variables with default values -# - loads top level configuration -# - loads component level configuration -source "${SCRIPTS_DIR}/load-configs.sh" "${COMPONENT}" - -# Skip deployment of this component if COMPONENT_SKIP_DEPLOY is set to true -if [ "${COMPONENT_SKIP_DEPLOY}" == "true" ]; then - echo_info "COMPONENT_SKIP_DEPLOY set to true, skipping deployment of ${COMPONENT}" - exit 0 -fi - -DEPLOY_SCRIPT="${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/deploy.sh" - -# Run deploy script, if exists. -# If there is a deploy.sh script, which indicates this is a "script-only" component, only it will be run for this -# component and no helm deployments will be made. -if [ -f "${DEPLOY_SCRIPT}" ]; then - echo_info "Loading required images..." - # shellcheck disable=SC2068 - for i in ${REQUIRED_IMAGES[@]+"${REQUIRED_IMAGES[@]}"}; do - pullAndLoadImage "${i}" - done - echo_info "Loading required images...OK" - - echo_info "Running deploy script..." - source "${DEPLOY_SCRIPT}" - echo_info "Running deploy script...OK" - exit 0 -fi - -# if HELM_CHART_NAME is not set, default to component name -if [ -z "${HELM_CHART_NAME}" ]; then - HELM_CHART_NAME="${COMPONENT}" -fi - -registries_arr=($BUILD_REGISTRIES) -images_arr=($BUILD_IMAGES) -image_archs_arr=($BUILD_IMAGE_ARCHS) -charts_arr=($BUILD_HELM_CHARTS_LIST) - -post_render_args="" - -if [ "${LOCALDEV_LOCAL_BUILD}" == "true" ] && containsElement "${HELM_CHART_NAME}" ${charts_arr[@]+"${charts_arr[@]}"}; then - post_render_args="--post-renderer ${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/exec" - - # If local build is set and helm chart is from this repository, use locally build helm chart tgz file. - echo_info "Deploying locally built artifacts..." - HELM_CHART_VERSION=${BUILD_HELM_CHART_VERSION} - HELM_CHART_REF="${HELM_OUTPUT_DIR}/${COMPONENT}-${HELM_CHART_VERSION}.tgz" - [ -f "${HELM_CHART_REF}" ] || echo_error "Local chart ${HELM_CHART_REF} not found. Did you run \"make build\" ? " - - # If local build, tag "required" local images, so that they can be load into kind cluster at a later step. - for r in ${registries_arr[@]+"${registries_arr[@]}"}; do - for i in ${images_arr[@]+"${images_arr[@]}"}; do - for a in ${image_archs_arr[@]+"${image_archs_arr[@]}"}; do - if containsElement "${r}/${i}" ${REQUIRED_IMAGES[@]+"${REQUIRED_IMAGES[@]}"}; then - echo_info "Tagging locally built image as ${r}/${i}:${VERSION}" - docker tag "${BUILD_REGISTRY}/${i}-${a}" "${r}/${i}:${VERSION}" - fi - done - done - done -else - # If local build is NOT set or helm chart is NOT from this repository, deploy chart from a remote repository. - echo_info "Deploying artifacts in chart repo \"${HELM_REPOSITORY_NAME}\"..." - if [ -z ${HELM_REPOSITORY_NAME} ] || [ -z ${HELM_CHART_NAME} ]; then - echo_error "HELM_REPOSITORY_NAME and/or HELM_CHART_NAME is not set for component ${COMPONENT}!" - fi - HELM_CHART_REF="${HELM_REPOSITORY_NAME}/${HELM_CHART_NAME}" - # Add helm repo and update repositories, if repo is not added already or force update is set. - if [ "${HELM_REPOSITORY_FORCE_UPDATE}" == "true" ] || ! "${HELM}" repo list -o yaml |grep -i "Name:\s*${HELM_REPOSITORY_NAME}\s*$" >/dev/null; then - "${HELM}" repo add "${HELM_REPOSITORY_NAME}" "${HELM_REPOSITORY_URL}" - "${HELM}" repo update - fi - if [ -z "${HELM_CHART_VERSION}" ]; then - # if no HELM_CHART_VERSION provided, then get the latest version from repo which will be used to load required images for chart. - [ "${LOCALDEV_PULL_LATEST}" == "true" ] && "${HELM}" repo update - HELM_CHART_VERSION=$(${HELM_SEARCH_REPO} -l ${HELM_CHART_REF} --devel |awk 'NR==2{print $2}') - echo_info "Latest version found in repo: ${HELM_CHART_VERSION}" - fi - if [ -z "${HELM_CHART_VERSION}" ]; then - echo_error "No version found in repo for chart ${HELM_CHART_REF}" - fi -fi - -echo_info "Loading required images..." -# shellcheck disable=SC2068 -for i in ${REQUIRED_IMAGES[@]+"${REQUIRED_IMAGES[@]}"}; do - # check if image has a tag, if not, append tag for the chart - if ! echo "${i}" | grep ":"; then - i="${i}:v${HELM_CHART_VERSION}" - fi - # Pull the image: - # - if has a tag "master" or "latest" - # - or does not exist already. - pullAndLoadImage "${i}" -done -echo_info "Loading required images...OK" - -PREDEPLOY_SCRIPT="${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/pre-deploy.sh" -POSTDEPLOY_SCRIPT="${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/post-deploy.sh" - -# Run config.validate.sh if exists. -test -f "${DEPLOY_LOCAL_CONFIG_DIR}/config.validate.sh" && source "${DEPLOY_LOCAL_CONFIG_DIR}/config.validate.sh" - -# Create the HELM_RELEASE_NAMESPACE if not exist already. -createNamespace "${HELM_RELEASE_NAMESPACE}" - -# Run pre-deploy script, if exists. -if [ -f "${PREDEPLOY_SCRIPT}" ]; then - echo_info "Running pre-deploy script..." - source "${PREDEPLOY_SCRIPT}" - echo_info "Running pre-deploy script...OK" -fi - -# With all configuration sourced as environment variables, render value-overrides.yaml file with gomplate. -"${GOMPLATE}" -f "${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/value-overrides.yaml.tmpl" \ - -o "${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/value-overrides.yaml" - -helm_chart_version_flag="--devel" -if [ -n "${HELM_CHART_VERSION}" ]; then - helm_chart_version_flag="--version ${HELM_CHART_VERSION}" -fi - -helm_wait_atomic_flag="--wait" -if [ "${HELM_DELETE_ON_FAILURE}" == "true" ]; then - helm_wait_atomic_flag="--atomic" -fi - -# if HELM_RELEASE_NAME is not set, default to component name -if [ -z "${HELM_RELEASE_NAME}" ]; then - HELM_RELEASE_NAME=${COMPONENT} -fi - -echo_info "Running helm upgrade --install with computed parameters..." -# shellcheck disable=SC2086 -set -x -"${HELM}" upgrade --install "${HELM_RELEASE_NAME}" --namespace "${HELM_RELEASE_NAMESPACE}" --kubeconfig "${KUBECONFIG}" \ - "${HELM_CHART_REF}" ${helm_chart_version_flag:-} -f "${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/value-overrides.yaml" \ - ${post_render_args:-} ${helm_wait_atomic_flag:-} -{ set +x; } 2>/dev/null -echo_info "Running helm upgrade --install with computed parameters...OK" - -# Run post-deploy script, if exists. -if [ -f "${POSTDEPLOY_SCRIPT}" ]; then - echo_info "Running post-deploy script..." - source "${POSTDEPLOY_SCRIPT}" - echo_info "Running post-deploy script...OK" -fi \ No newline at end of file diff --git a/build/scripts/localdev-prepare.sh b/build/scripts/localdev-prepare.sh deleted file mode 100755 index 7bf0020..0000000 --- a/build/scripts/localdev-prepare.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env bash -set -aeuo pipefail - -# Source utility functions -source "${SCRIPTS_DIR}/utils.sh" - -getRepo() { - repo_config=$1 - - IFS='@' read -ra repo_and_branch <<< "${repo_config}" - repo="${repo_and_branch[0]}" - branch="${repo_and_branch[1]:-}" - [[ -z "${branch}" ]] && branch="master" - - repo_dir=$(basename "${repo}" .git) - repo_cache_dir="${LOCALDEV_WORKDIR_REPOS}/${repo_dir}" - - if ! [ -d "${repo_cache_dir}" ]; then - echo_info "Cloning branch \"${branch}\" of repo \"${repo}\"..." - repo_url="git@github.com:${repo}.git" - if [ "${LOCALDEV_CLONE_WITH}" == "https" ]; then - repo_url="https://github.com/${repo}.git" - fi - git clone --depth 1 "${repo_url}" "${repo_cache_dir}" -b "${branch}" - echo_info "Cloning branch \"${branch}\" of repo \"${repo}\"...OK" - elif [ "${LOCALDEV_PULL_LATEST}" == "true" ]; then - echo_info "Getting latest branch \"${branch}\" of repo \"${repo}\"..." - git -C "${repo_cache_dir}" stash > /dev/null - git -C "${repo_cache_dir}" fetch origin - if ! output=$(git -C "${repo_cache_dir}" reset --hard origin/"${branch}" 2>&1); then - echo_error "${output}" - fi - - echo_info "Getting latest branch \"${branch}\" of repo \"${repo}\"...OK" - fi -} - -### - -# prepare local dev configuration under ".work/local" by gathering configuration from different repositories. -LOCALDEV_WORKDIR=${WORK_DIR}/local -mkdir -p "${LOCALDEV_WORKDIR}" -LOCALDEV_WORKDIR_REPOS=${LOCALDEV_WORKDIR}/repos - -if [ -z "${LOCALDEV_INTEGRATION_CONFIG_REPO}" ]; then - echo_info "No integration config repo configured, using local config" - mkdir -p "${DEPLOY_LOCAL_WORKDIR}" - cp -rf "${DEPLOY_LOCAL_DIR}/." "${DEPLOY_LOCAL_WORKDIR}" -else - echo_info "Using integration config from repo@branch \"${LOCALDEV_INTEGRATION_CONFIG_REPO}\"" - getRepo "${LOCALDEV_INTEGRATION_CONFIG_REPO}" - mkdir -p "${DEPLOY_LOCAL_WORKDIR}" - cp -rf "${repo_cache_dir}/." "${DEPLOY_LOCAL_WORKDIR}" -fi - -if [ -n "${LOCAL_DEV_REPOS}" ]; then - repositories_arr=($LOCAL_DEV_REPOS) - for i in ${repositories_arr[@]+"${repositories_arr[@]}"}; do - - local_repo=$(basename $(git config --get remote.origin.url) .git) - base_repo=$(basename "${i}" .git) - - if [ "${LOCALDEV_LOCAL_BUILD}" == "true" ] && [ "${base_repo}" == "${local_repo}" ]; then - # if it is a local build and repo is the local one, just use local config - - echo_info "Using local config for repo \"${base_repo}\"" - repo_dir="${ROOT_DIR}" - else - getRepo "${i}" - repo_dir=${LOCALDEV_WORKDIR_REPOS}/${base_repo} - fi - - # copy local dev config under workdir - local_config_dir="${repo_dir}/cluster/local/config" - if [ -d "${local_config_dir}" ]; then - cp -rf "${local_config_dir}/." "${DEPLOY_LOCAL_WORKDIR}/config" - else - echo_warn "No local dev config found for repo \"${base_repo}\"" - fi - done -fi - -# prepare post-render workdir -mkdir -p "${DEPLOY_LOCAL_POSTRENDER_WORKDIR}" - -localdev_postrender_kustomization="${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/kustomization.yaml" -cat << EOF > "${localdev_postrender_kustomization}" -resources: - - in.yaml -patches: - - path: patch-deployment.yaml - target: - kind: Deployment - name: "*" - - path: patch-rollout.yaml - target: - kind: Rollout - name: "*" -EOF - -localdev_postrender_patch_deployment="${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/patch-deployment.yaml" -cat << EOF > "${localdev_postrender_patch_deployment}" -apiVersion: apps/v1 -kind: Deployment -metadata: - name: any -spec: - template: - metadata: - annotations: - rollme: "$RANDOM" -EOF - -localdev_postrender_patch_rollout="${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/patch-rollout.yaml" -cat << EOF > "${localdev_postrender_patch_rollout}" -apiVersion: argoproj.io/v1alpha1 -kind: Rollout -metadata: - name: any -spec: - template: - metadata: - annotations: - rollme: "$RANDOM" -EOF - -LOCALDEV_POSTRENDER_EXEC="${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/exec" -cat << EOF > "${LOCALDEV_POSTRENDER_EXEC}" -#!/bin/bash - -cat <&0 > ${DEPLOY_LOCAL_POSTRENDER_WORKDIR}/in.yaml - -${KUSTOMIZE} build ${DEPLOY_LOCAL_POSTRENDER_WORKDIR} -EOF -chmod +x "${LOCALDEV_POSTRENDER_EXEC}" \ No newline at end of file diff --git a/build/scripts/localdev-remove-component.sh b/build/scripts/localdev-remove-component.sh deleted file mode 100755 index e32b301..0000000 --- a/build/scripts/localdev-remove-component.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -set -aeuo pipefail - -COMPONENT=$1 - -source "${SCRIPTS_DIR}/utils.sh" -source "${SCRIPTS_DIR}/load-configs.sh" "${COMPONENT}" - -DEPLOY_SCRIPT="${DEPLOY_LOCAL_CONFIG_DIR}/${COMPONENT}/deploy.sh" - -# Run deploy script, if exists. -# If there is a deploy.sh script, which indicates this is a "script-only" component, removing not supported. -if [ -f "${DEPLOY_SCRIPT}" ]; then - echo_warn "${COMPONENT} is a \"script-only\" component, local.remove not supported!" - exit 0 -fi - - -if [ -z "${HELM_RELEASE_NAME}" ]; then - HELM_RELEASE_NAME=${COMPONENT} -fi - -helm_purge_flag="--purge" -if [ "${USE_HELM3}" == "true" ]; then - HELM="${HELM3}" - XDG_DATA_HOME="${HELM_HOME}" - XDG_CONFIG_HOME="${HELM_HOME}" - XDG_CACHE_HOME="${HELM_HOME}" - helm_purge_flag="" -fi - -echo_info "Running helm delete..." -set -x -"${HELM}" delete "${HELM_RELEASE_NAME}" -n "${HELM_RELEASE_NAMESPACE}" --kubeconfig "${KUBECONFIG}" ${helm_purge_flag} -{ set +x; } 2>/dev/null -echo_info "Running helm delete...OK!" \ No newline at end of file diff --git a/build/scripts/localdev-scaffold.sh b/build/scripts/localdev-scaffold.sh deleted file mode 100755 index e13980a..0000000 --- a/build/scripts/localdev-scaffold.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash -set -aeuo pipefail - -deploy_local_root=${ROOT_DIR}/cluster/local - -local_config_root=${deploy_local_root} -test -d ${local_config_root}/config && { echo "Directory \"${local_config_root}/config\" already exists!"; exit 1; } - -charts_arr=($BUILD_HELM_CHARTS_LIST) -default_component="${charts_arr[0]}" -read -p "Enter a name for component to deploy [${default_component}]: " component -component=${component:-"${default_component}"} - -local_config_dir=${local_config_root}/config - -echo "creating directory ${local_config_root}" -mkdir -p "${local_config_root}" -echo "creating directory ${local_config_dir}/${component}" -mkdir -p "${local_config_dir}/${component}" - -echo "initiazing file ${local_config_root}/kind.yaml" -cat << EOF > ${local_config_root}/kind.yaml -kind: Cluster -apiVersion: kind.x-k8s.io/v1alpha4 -EOF - -echo "initiazing file ${local_config_dir}/config.env" -cat << EOF > ${local_config_dir}/config.env -IMAGE_CROSSPLANE="crossplane/crossplane" - -echo "replace this with top level config" -PARAM_FROM_TOP_LEVEL_CONFIG="top-level-config" -EOF - -echo "initiazing file ${local_config_dir}/config.validate.sh" -cat << EOF > ${local_config_dir}/config.validate.sh -echo "replace this with top level config validation script" -EOF - -echo "initiazing file ${local_config_dir}/${component}/config.env" -cat << EOF > ${local_config_dir}/${component}/config.env -REQUIRED_IMAGES+=("\${IMAGE_CROSSPLANE}") - -#HELM_CHART_NAME="" -#HELM_CHART_VERSION="" -#HELM_REPOSITORY_NAME="" -#HELM_REPOSITORY_URL="" -#HELM_REPOSITORY_FORCE_UPDATE="false" -#HELM_RELEASE_NAME="" -#HELM_RELEASE_NAMESPACE="default" - -echo "replace this with component config" -PARAM_FROM_COMPONENT_CONFIG="component-config" -EOF - -echo "initiazing file ${local_config_dir}/${component}/pre-deploy.sh" -cat << EOF > ${local_config_dir}/${component}/pre-install.sh -# remove this file if the component does not need pre-deploy steps. -echo "running pre-deploy script..." -EOF - -echo "initiazing file ${local_config_dir}/${component}/post-deploy.sh" -cat << EOF > ${local_config_dir}/${component}/post-install.sh -# remove this file if the component does not need post-deploy steps. -echo "running post-deploy script..." -EOF - -echo "initiazing file ${local_config_dir}/${component}/.gitignore" -cat << EOF > ${local_config_dir}/${component}/.gitignore -value-overrides.yaml -EOF - -echo "initiazing file ${local_config_dir}/${component}/value-overrides.yaml.tmpl" -cat << EOF > ${local_config_dir}/${component}/value-overrides.yaml.tmpl -image: - pullPolicy: Never - -paramFromTopLevel: {{ .Env.PARAM_FROM_TOP_LEVEL_CONFIG }} -paramFromComponent: {{ .Env.PARAM_FROM_COMPONENT_CONFIG }} -EOF - -echo "done!" - -echo """ -Run the following command to deploy locally built component (or consider adding as a target to makefile): - DEPLOY_LOCAL_DIR=${local_config_root} LOCALDEV_LOCAL_BUILD=true make local.up local.deploy.${component} -""" diff --git a/build/scripts/utils.sh b/build/scripts/utils.sh deleted file mode 100644 index 39b436d..0000000 --- a/build/scripts/utils.sh +++ /dev/null @@ -1,61 +0,0 @@ -################################# setup colors -# setting up colors -BOLD='\033[10;1m' -YLW='\033[0;33m' -GRN='\033[0;32m' -RED='\033[0;31m' -NOC='\033[0m' # No Color - -echo_info(){ - msg="${1}" - [[ -n ${COMPONENT:-} ]] && msg="[${COMPONENT:-}] ${msg}" - printf "${BOLD}%s${NOC}\n" "${msg}" -} - -echo_success(){ - msg="${1}" - [[ -n ${COMPONENT:-} ]] && msg="[${COMPONENT:-}] ${msg}" - printf "${GRN}%s${NOC}\n" "${msg}" -} - -echo_warn(){ - msg="${1}" - [[ -n ${COMPONENT:-} ]] && msg="[${COMPONENT:-}] ${msg}" - printf "${YLW}%s${NOC}\n" "${msg}" -} - -echo_error(){ - msg="${1}" - [[ -n ${COMPONENT:-} ]] && msg="[${COMPONENT:-}] ${msg}" - printf "\n${RED}%s${NOC}\n" "${msg}" - return 1 -} - -################################# - -containsElement () { - local e match="$1" - shift - for e; do [[ "$e" == "$match" ]] && return 0; done - return 1 -} - -pullAndLoadImage () { - i=$1 - # Pull the image: - # - if has a tag "master" or "latest" - # - or does not exist already. - if echo "${i}" | grep ":master\s*$" >/dev/null || echo "${i}" | grep ":latest\s*$" >/dev/null || \ - ! docker inspect --type=image "${i}" >/dev/null 2>&1; then - docker pull "${i}" - fi - "${KIND}" load docker-image "${i}" --name="${KIND_CLUSTER_NAME}" - return 0 -} - -createNamespace () { - n=$1 - # Create namespace if not exists - "${KUBECTL}" --kubeconfig "${KUBECONFIG}" get ns "${n}" >/dev/null 2>&1 || \ - ${KUBECTL} --kubeconfig "${KUBECONFIG}" create ns "${n}" -} \ No newline at end of file diff --git a/cluster/images/provider-jet-rancher-controller/Dockerfile b/cluster/images/provider-jet-rancher-controller/Dockerfile index 86a430e..27f2f7f 100644 --- a/cluster/images/provider-jet-rancher-controller/Dockerfile +++ b/cluster/images/provider-jet-rancher-controller/Dockerfile @@ -13,6 +13,7 @@ ARG TERRAFORM_PROVIDER_SOURCE ARG TERRAFORM_PROVIDER_VERSION ARG TERRAFORM_PROVIDER_DOWNLOAD_NAME ARG TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX +ARG TERRAFORM_NATIVE_PROVIDER_BINARY ## End of - Provider-dependent configuration ENV PLUGIN_DIR /terraform/provider-mirror/registry.terraform.io/${TERRAFORM_PROVIDER_SOURCE}/${TERRAFORM_PROVIDER_VERSION}/linux_${ARCH} @@ -29,8 +30,9 @@ ADD terraformrc.hcl ${TF_CLI_CONFIG_FILE} RUN unzip /tmp/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip -d /usr/local/bin \ && chmod +x /usr/local/bin/terraform \ && rm /tmp/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip \ - && unzip /tmp/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip -d ${PLUGIN_DIR} \ - && chmod +x ${PLUGIN_DIR}/* \ + && unzip /tmp/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip -d /tmp/ \ + && mv /tmp/${TERRAFORM_NATIVE_PROVIDER_BINARY} ${PLUGIN_DIR} \ + && chmod +x ${PLUGIN_DIR}/${TERRAFORM_NATIVE_PROVIDER_BINARY} \ && rm /tmp/${TERRAFORM_PROVIDER_DOWNLOAD_NAME}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip \ && chown -R ${USER_ID}:${USER_ID} /terraform # End of - Setup Terraform environment @@ -41,6 +43,7 @@ ADD provider /usr/local/bin/crossplane-provider ENV TERRAFORM_VERSION ${TERRAFORM_VERSION} ENV TERRAFORM_PROVIDER_SOURCE ${TERRAFORM_PROVIDER_SOURCE} ENV TERRAFORM_PROVIDER_VERSION ${TERRAFORM_PROVIDER_VERSION} +ENV TERRAFORM_NATIVE_PROVIDER_PATH ${PLUGIN_DIR}/${TERRAFORM_NATIVE_PROVIDER_BINARY} USER ${USER_ID} EXPOSE 8080 diff --git a/cluster/images/provider-jet-rancher-controller/Makefile b/cluster/images/provider-jet-rancher-controller/Makefile index c1b950a..9d041f1 100755 --- a/cluster/images/provider-jet-rancher-controller/Makefile +++ b/cluster/images/provider-jet-rancher-controller/Makefile @@ -26,6 +26,7 @@ img.build: --build-arg TERRAFORM_PROVIDER_VERSION=$(TERRAFORM_PROVIDER_VERSION) \ --build-arg TERRAFORM_PROVIDER_DOWNLOAD_NAME=$(TERRAFORM_PROVIDER_DOWNLOAD_NAME) \ --build-arg TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX=$(TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX) \ + --build-arg TERRAFORM_NATIVE_PROVIDER_BINARY=$(TERRAFORM_NATIVE_PROVIDER_BINARY) \ -t $(IMAGE) \ $(IMAGE_TEMP_DIR) || $(FAIL) @$(OK) docker build $(IMAGE) diff --git a/cmd/generator/main.go b/cmd/generator/main.go index 714f98d..1847223 100644 --- a/cmd/generator/main.go +++ b/cmd/generator/main.go @@ -1,4 +1,4 @@ -// +build generate +//go:build generate /* Copyright 2021 The Crossplane Authors. @@ -23,12 +23,7 @@ import ( "os" "path/filepath" - tf "github.com/rancher/terraform-provider-rancher2/rancher2" - "github.com/crossplane/terrajet/pkg/pipeline" - // Comment out the line below instead of the above, if your Terraform - // provider uses an old version ( github.com/turkenh/terrajet v0.0.0-20220125090152-40fd9a14dc4d +go 1.18 require ( - github.com/crossplane/crossplane-runtime v0.15.1-0.20211004150827-579c1833b513 - github.com/crossplane/crossplane-tools v0.0.0-20210916125540-071de511ae8e - github.com/crossplane/terrajet v0.3.2 + github.com/crossplane/crossplane-runtime v0.15.1-0.20220315141414-988c9ba9c255 + github.com/crossplane/crossplane-tools v0.0.0-20220310165030-1f43fc12793e + github.com/crossplane/terrajet v0.4.0-rc.0.0.20220510203225-5e7094f2ea5c github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0 github.com/pkg/errors v0.9.1 - github.com/rancher/terraform-provider-rancher2 v1.22.1 - go.uber.org/multierr v1.7.0 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 - k8s.io/apimachinery v0.22.3 - k8s.io/client-go v12.0.0+incompatible - sigs.k8s.io/controller-runtime v0.9.7 - sigs.k8s.io/controller-tools v0.6.2 + k8s.io/apimachinery v0.23.0 + k8s.io/client-go v0.23.0 + sigs.k8s.io/controller-runtime v0.11.0 + sigs.k8s.io/controller-tools v0.8.0 ) -// Comment out the line below instead of the above, if your Terraform provider -// uses an old version ( github.com/crewjam/saml v0.4.1 - github.com/docker/distribution => github.com/docker/distribution v2.7.1+incompatible - github.com/docker/docker => github.com/docker/docker v20.10.6+incompatible - github.com/hashicorp/terraform-plugin-sdk => github.com/turkenh/terraform-plugin-sdk v1.17.2-patch1 - github.com/rancher/rancher/pkg/apis => github.com/rancher/rancher/pkg/apis v0.0.0-20211218171736-3c1d5fac3248 - github.com/rancher/rancher/pkg/client => github.com/rancher/rancher/pkg/client v0.0.0-20211218171736-3c1d5fac3248 - github.com/spf13/afero => github.com/spf13/afero v1.2.2 - helm.sh/helm/v3 => github.com/rancher/helm/v3 v3.5.4-rancher.1 - k8s.io/api => k8s.io/api v0.22.3 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.3 - k8s.io/apimachinery => k8s.io/apimachinery v0.22.3 - k8s.io/apiserver => k8s.io/apiserver v0.22.3 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.3 - k8s.io/client-go => github.com/rancher/client-go v1.22.3-rancher.1 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.3 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.3 - k8s.io/code-generator => k8s.io/code-generator v0.22.3 - k8s.io/component-base => k8s.io/component-base v0.22.3 - k8s.io/component-helpers => k8s.io/component-helpers v0.22.3 - k8s.io/controller-manager => k8s.io/controller-manager v0.22.3 - k8s.io/cri-api => k8s.io/cri-api v0.22.3 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.3 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.3 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.3 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.3 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.3 - k8s.io/kubectl => k8s.io/kubectl v0.22.3 - k8s.io/kubelet => k8s.io/kubelet v0.22.3 - k8s.io/kubernetes => k8s.io/kubernetes v1.22.3 - k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.3 - k8s.io/metrics => k8s.io/metrics v0.22.3 - k8s.io/mount-utils => k8s.io/mount-utils v0.22.3 - k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.22.0 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.3 - launchpad.net/gocheck => github.com/go-check/check v0.0.0-20200227125254-8fa46927fb4f +require ( + github.com/agext/levenshtein v1.2.2 // indirect + github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect + github.com/alecthomas/units v0.0.0-20210912230133-d1bdfacee922 // indirect + github.com/apparentlymart/go-textseg/v12 v12.0.0 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/armon/go-metrics v0.3.9 // indirect + github.com/armon/go-radix v1.0.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cenkalti/backoff/v3 v3.0.0 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/dave/jennifer v1.4.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/fatih/camelcase v1.0.0 // indirect + github.com/fatih/color v1.12.0 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/zapr v1.2.0 // indirect + github.com/gobuffalo/flect v0.2.3 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.5.6 // indirect + github.com/google/gofuzz v1.1.0 // indirect + github.com/google/uuid v1.1.2 // indirect + github.com/googleapis/gnostic v0.5.5 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect + github.com/hashicorp/go-hclog v0.16.2 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.4.3 // indirect + github.com/hashicorp/go-retryablehttp v0.6.6 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1 // indirect + github.com/hashicorp/go-secure-stdlib/strutil v0.1.1 // indirect + github.com/hashicorp/go-sockaddr v1.0.2 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/go-version v1.3.0 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl/v2 v2.8.2 // indirect + github.com/hashicorp/terraform-json v0.13.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.3.0 // indirect + github.com/hashicorp/vault/api v1.3.1 // indirect + github.com/hashicorp/vault/sdk v0.3.0 // indirect + github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect + github.com/iancoleman/strcase v0.2.0 // indirect + github.com/imdario/mergo v0.3.12 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/mattn/go-colorable v0.1.8 // indirect + github.com/mattn/go-isatty v0.0.12 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-testing-interface v1.0.4 // indirect + github.com/mitchellh/go-wordwrap v1.0.0 // indirect + github.com/mitchellh/mapstructure v1.4.2 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7 // indirect + github.com/oklog/run v1.0.0 // indirect + github.com/pierrec/lz4 v2.5.2+incompatible // indirect + github.com/prometheus/client_golang v1.11.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.28.0 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/spf13/afero v1.8.0 // indirect + github.com/spf13/cobra v1.2.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect + github.com/zclconf/go-cty v1.9.1 // indirect + go.uber.org/atomic v1.9.0 // indirect + go.uber.org/multierr v1.7.0 // indirect + go.uber.org/zap v1.19.1 // indirect + golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect + golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect + golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect + golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8 // indirect + golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + golang.org/x/tools v0.1.11 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2 // indirect + google.golang.org/grpc v1.41.0 // indirect + google.golang.org/protobuf v1.27.1 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/square/go-jose.v2 v2.5.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + k8s.io/api v0.23.0 // indirect + k8s.io/apiextensions-apiserver v0.23.0 // indirect + k8s.io/component-base v0.23.0 // indirect + k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect + k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b // indirect + sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index e2ddcbd..7fdb062 100644 --- a/go.sum +++ b/go.sum @@ -1,15 +1,12 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -bitbucket.org/bertimus9/systemstat v0.0.0-20180207000608-0eeff89b0690/go.mod h1:Ulb78X89vxKYgdL24HMTiXYHlyHEvruOj1ZPlqeNEZM= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -20,15 +17,10 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3 h1:wPBktZFzYBcCZVARvwVKqH1uEj+aLXofJEtrb4oOsio= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -38,7 +30,6 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -47,100 +38,36 @@ cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiy cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/360EntSecGroup-Skylar/excelize v1.4.1/go.mod h1:vnax29X2usfl7HHkBrX5EvSCJcmH3dT9luvxzu8iGAE= -github.com/Azure/azure-sdk-for-go v55.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v55.7.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest v0.11.19/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM= -github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= -github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/to v0.4.1-0.20210111195520-9fc88b15294e/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= -github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= -github.com/Azure/go-autorest/autorest/validation v0.3.2-0.20210111195520-9fc88b15294e/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20200415212048-7901bc822317/go.mod h1:DF8FZRxMHMGv/vP2lQP6h+dYzzjpuRn24VeRiYn3qjQ= -github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E= -github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= -github.com/Masterminds/squirrel v1.5.0/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= -github.com/Masterminds/vcs v1.13.1/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.15/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Microsoft/hcsshim v0.8.10-0.20200715222032-5eafd1556990/go.mod h1:ay/0dTb7NsG8QMDfsRfLHgZo/6xAJShLe1+ePPflihk= -github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= 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= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/PuerkitoBio/goquery v1.5.0/go.mod h1:qD2PgZ9lccMbQlc7eEOjaeRlFQON7xY8kdmcsrnKqMg= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/adrg/xdg v0.3.1/go.mod h1:7I2hH/IT30IsupOpKZ5ue7/qNi3CoKzD6tL3HwpaRMQ= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/kong v0.2.16/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq+lElKxE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= @@ -150,52 +77,30 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20210912230133-d1bdfacee922 h1:8ypNbf5sd3Sm3cKJ9waOGoQv6dKAFiFty9L6NP1AqJ4= github.com/alecthomas/units v0.0.0-20210912230133-d1bdfacee922/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/andybalholm/crlf v0.0.0-20171020200849-670099aa064f/go.mod h1:k8feO4+kXDxro6ErPXBRTJ/ro2mf0SsFG8s7doP9kJE= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= -github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= -github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I= github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= -github.com/aquasecurity/kube-bench v0.1.0/go.mod h1:RRiqKa2T3w0b6555RlWaJIHYPRCqSoV5t7FtQG+J4J0= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/auth0/go-jwt-middleware v1.0.1/go.mod h1:YSeUX3z6+TF2H+7padiEqNJ73Zy9vXW72U//IgN0BIM= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.33.14/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= -github.com/aws/aws-sdk-go v1.36.7/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.38.49/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.38.65 h1:umGu5gjIOKxzhi34T0DIA1TWupUDjV2aAW5vK6154Gg= -github.com/aws/aws-sdk-go v1.38.65/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -203,146 +108,63 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bep/debounce v1.2.0/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= -github.com/bugsnag/bugsnag-go v0.0.0-20151120182711-02e952891c52/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20160118154447-aceac81c6e2f/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v0.0.0-20141124221459-9831e1e25c87/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= -github.com/cilium/ebpf v0.5.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/container-storage-interface/spec v1.5.0/go.mod h1:8K96oQNkJ7pFcC2R9Z1ynGGBB1I93kcS6PGg3SsOk8s= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.1-0.20201117152358-0edc412565dc/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= -github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.12/go.mod h1:NJOI8ceUF/NTgEwtjD+TUq3/BnH/GF7WAM3RzCa3hBo= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-oidc/v3 v3.0.0/go.mod h1:rEJ/idjfUyfkBit1eI1fvyr+64/g9dcKpAm8MJMesvo= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= 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/creasty/defaults v1.5.2/go.mod h1:FPZ+Y0WNrbqOVw+c6av63eyHUAl6pMHZwqLPvXUZGfY= -github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da/go.mod h1:+rmNIXRvYMqLQeR4DHyTvs6y0MEMymTz4vyFpFkKTPs= -github.com/crewjam/saml v0.4.1/go.mod h1:vHcshzXm2WkPOV1dcToZa99cCB1h3nPiKLtLYK+erBE= -github.com/crossplane/crossplane-runtime v0.15.1-0.20211004150827-579c1833b513 h1:Sk3QurYYpy8x3c0DvTh9iGYFSv8WgdhnjCalNqNqlRI= -github.com/crossplane/crossplane-runtime v0.15.1-0.20211004150827-579c1833b513/go.mod h1:gKix9Gq5kRzVe/4XOpwlFgG7OurzrYayviJxWZakhw0= -github.com/crossplane/crossplane-tools v0.0.0-20210916125540-071de511ae8e h1:7UM4E9gNEzJ22JgRZqY2KBlkdMCAiHmKS96rcLANdME= -github.com/crossplane/crossplane-tools v0.0.0-20210916125540-071de511ae8e/go.mod h1:3GzY5sP0PVePArghBh5K4fGzS/3kM0R/NAZn5s7LXqw= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/crossplane/crossplane-runtime v0.15.1-0.20220315141414-988c9ba9c255 h1:l9eAErqfcEzGpq5dMfO/4GTCG2qXgiQgH5J+xhBHqYc= +github.com/crossplane/crossplane-runtime v0.15.1-0.20220315141414-988c9ba9c255/go.mod h1:IPT3HTsovwmbw3i+SdsOyaC3r3b7TW+otBMmZsHLnSU= +github.com/crossplane/crossplane-tools v0.0.0-20220310165030-1f43fc12793e h1:HqLaMji3FRPwEBA5P6twPz0HbE6no0XOnByLU5O1noM= +github.com/crossplane/crossplane-tools v0.0.0-20220310165030-1f43fc12793e/go.mod h1:xFf30hwHd5n0/a0D4ZomId8nxQTTjE0Hc1j4/rWxefc= +github.com/crossplane/terrajet v0.4.0-rc.0.0.20220510203225-5e7094f2ea5c h1:4Z/VZIXHL8EDs5VIz2V7I90ppcepSezo8GWR4GmekFA= +github.com/crossplane/terrajet v0.4.0-rc.0.0.20220510203225-5e7094f2ea5c/go.mod h1:PY1geRNxxNXs2RFhGC36N7dDu3wZPhUZmAk6c4gQxAI= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpTVGlwA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= -github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE= -github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4= -github.com/deislabs/oras v0.10.0/go.mod h1:N1UzE7rBa9qLyN4l8IlBTxc2PkrRcKgWQ3HTJvRnJRE= -github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= -github.com/denisenkom/go-mssqldb v0.0.0-20191001013358-cfbb681360f0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/digitalocean/godo v0.0.0-20170317202744-d59ed2fe842b/go.mod h1:h6faOIcZ8lWIwNQ+DN7b3CgX4Kwby5T+nbpNqkUIozU= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= -github.com/diskfs/go-diskfs v0.0.0-20191115120903-6cf046d472d7/go.mod h1:x7shCYRoIc+XvebaZAnK9x6wsYAS+ExHUjuoZcnO+nc= -github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/docker/cli v20.10.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/drone/envsubst/v2 v2.0.0-20210615175204-7bf45dbf5372/go.mod h1:esf2rsHFNlZlxsqsZDojNBcnNs5REqIvRrWRHqX0vEU= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustmop/soup v1.1.2-0.20190516214245-38228baa104e/go.mod h1:CgNC6SGbT+Xb8wGGvzilttZL1mc5sQ/5KkcxsZttMIk= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/ehazlett/simplelog v0.0.0-20200226020431-d374894e92a4/go.mod h1:m8BGliBtT1XxrkLygibAe1L4gWruiNqNUmukTUwGlcY= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= 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/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -350,165 +172,76 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= -github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.11.0+incompatible h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs= -github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/exoscale/egoscale v0.12.3/go.mod h1:SHSox0l8ud/I8Q6joR7Oj96DFer0mdo1cQzb7dmZgro= -github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= +github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -github.com/fatih/color v1.5.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc= github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.13.0 h1:yNZif1OkDfNoDfb9zZa9aXIpejNR4F23Wely0c+Qdqk= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= 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/fvbommel/sortorder v1.0.1/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= -github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-asn1-ber/asn1-ber v1.5.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-asn1-ber/asn1-ber v1.5.3/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-bindata/go-bindata v3.1.2+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo= -github.com/go-check/check v0.0.0-20200227125254-8fa46927fb4f/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= -github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.37.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-ldap/ldap/v3 v3.4.1/go.mod h1:iYS1MdmrmceOJ1QOTnRXrIs7i3kloqtmGQjRvjKpyMg= +github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.3.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= -github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= -github.com/go-logr/zapr v0.4.0 h1:uc1uML3hRYL9/ZZPdgHS/n8Nzo+eaYL/Efxkkamf7OM= -github.com/go-logr/zapr v0.4.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= +github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= -github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/flect v0.2.3 h1:f/ZukRnSNA/DUpSNDadko7Qc0PhGvsew35p/2tu+CRY= github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= -github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= -github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godror/godror v0.13.3/go.mod h1:2ouUT4kdhUBk7TAkHWD4SN0CdI0pgEQbo8FVHhbSKWg= -github.com/gofrs/flock v0.7.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -524,8 +257,6 @@ github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -545,15 +276,15 @@ 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/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/addlicense v0.0.0-20210428195630-6d92264d7170/go.mod h1:EMjYTRimagHs1FwlIqKyX3wAM0u3rA+McvlIIWmSamA= 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= -github.com/google/cadvisor v0.39.2/go.mod h1:kN93gpdevu+bpS227TyHVZyCU5bbqCzTj5T9drl34MI= +github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -567,21 +298,12 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-github/v29 v29.0.3/go.mod h1:CHKiKKPHJ0REzfwc14QMklvtHwCveD0PxlMjLlzAM5E= -github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg= -github.com/google/go-querystring v0.0.0-20140804062624-30f7a39f4a21/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -591,66 +313,32 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v0.0.0-20170306145142-6a5e28554805/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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/googleapis/gax-go/v2 v2.1.0 h1:6DWmvNpomjL1+3liNSZbVns3zsYzzCjm6pRBO1tLeso= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.0.0-20190212181753-892256c46858/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gophercloud/gophercloud v0.7.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss= -github.com/gophercloud/utils v0.0.0-20191129022341-463e26ffa30d/go.mod h1:SZ9FTKibIotDtCrxAU/evccoyu1yhKST6hgBvwTB5Eg= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -658,33 +346,49 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= -github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= -github.com/hashicorp/go-getter v1.5.3 h1:NF5+zOlQegim+w/EUhSLh6QhXHmZMEeHLQzllkQ3ROU= github.com/hashicorp/go-getter v1.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.15.0 h1:qMuK0wxsoW4D0ddCCYwPSTm4KQv1X1ke3WmPWZ0Mvsk= github.com/hashicorp/go-hclog v0.15.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2 h1:K4ev2ib4LdQETX5cSZBG0DVLk1jwGqSPXBjdah3veNs= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= -github.com/hashicorp/go-plugin v1.4.1 h1:6UltRQlLN9iZO513VveELp5xyaFxVD2+1OVylE+2E+w= github.com/hashicorp/go-plugin v1.4.1/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.3 h1:DXmvivbWD5qdiBts9TpBC7BYL1Aia5sxbRgQB+v6UZM= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.6 h1:HJunrbHTDDbBb/ay4kxa1n+dLmttUlnP3V9oNE4hmsM= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 h1:cCRo8gK7oq6A2L6LICkUZ+/a5rLiRXFMf1Qd4xSwxTc= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1 h1:78ki3QBevHwYrVxnyVeaEz+7WtifHhauYF23es/0KlI= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1 h1:nd0HIW15E6FG1MsnArYaHfuw9C2zgzM8LxkG5Ty/788= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.3.0 h1:McDWVJIU/y+u1BRV06dPaLfLCaT7fUTJLp5r04x7iNw= @@ -692,205 +396,111 @@ github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= github.com/hashicorp/hcl/v2 v2.8.2 h1:wmFle3D1vu0okesm8BTLVDyJ6/OL9DCLUwn0b2OptiY= github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= -github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk= -github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.13.3/go.mod h1:SSg6lbUsVB3DmFyCPjBPklqf6EYGX0TlQ6QTxOlikDU= -github.com/hashicorp/terraform-exec v0.14.0 h1:UQoUcxKTZZXhyyK68Cwn4mApT4mnFPmEXPiqaHL9r+w= github.com/hashicorp/terraform-exec v0.14.0/go.mod h1:qrAASDq28KZiMPDnQ02sFS9udcqEkRly002EA2izXTA= -github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= -github.com/hashicorp/terraform-json v0.12.0 h1:8czPgEEWWPROStjkWPUnTQDXmpmZPlkQAwYYLETaTvw= github.com/hashicorp/terraform-json v0.12.0/go.mod h1:pmbq9o4EuL43db5+0ogX10Yofv1nozM+wskr/bGFJpI= +github.com/hashicorp/terraform-json v0.13.0 h1:Li9L+lKD1FO5RVFRM1mMMIBDoUHslOniyEi5CM+FWGY= +github.com/hashicorp/terraform-json v0.13.0/go.mod h1:y5OdLBCT+rxbwnpxZs9kGL7R9ExU76+cpdY8zHwoazk= github.com/hashicorp/terraform-plugin-go v0.3.0 h1:AJqYzP52JFYl9NABRI7smXI1pNjgR5Q/y2WyVJ/BOZA= github.com/hashicorp/terraform-plugin-go v0.3.0/go.mod h1:dFHsQMaTLpON2gWhVWT96fvtlc/MF1vSy3OdMhWBzdM= github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0 h1:SuI59MqNjYDrL7EfqHX9V6P/24isgqYx/FdglwVs9bg= github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0/go.mod h1:grseeRo9g3yNkYW09iFlV8LG78jTa1ssBgouogQg/RU= -github.com/hashicorp/terraform-plugin-test/v2 v2.2.1 h1:d3Rzmi5bnRzcAZon91FY4TDCMUYdU8c5vpPpf2Tz+c8= -github.com/hashicorp/terraform-plugin-test/v2 v2.2.1/go.mod h1:eZ9JL3O69Cb71Skn6OhHyj17sLmHRb+H6VrDcJjKrYU= -github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0= -github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/vault/api v1.3.1 h1:pkDkcgTh47PRjY1NEFeofqR4W/HkNUi9qIakESO2aRM= +github.com/hashicorp/vault/api v1.3.1/go.mod h1:QeJoWxMFt+MsuWcYhmwRLwKEXrjwAFFywzhptMsTIUw= +github.com/hashicorp/vault/sdk v0.3.0 h1:kR3dpxNkhh/wr6ycaJYqp6AFT/i2xaftbfnwZduTKEY= +github.com/hashicorp/vault/sdk v0.3.0/go.mod h1:aZ3fNuL5VNydQk8GcLJ2TV8YCRVvyaakYkhZRoVuhj0= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/heketi/heketi v10.3.0+incompatible/go.mod h1:bB9ly3RchcQqsQ9CpyaQwvva7RS5ytVoSoholZQON6o= -github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4= -github.com/heptio/authenticator v0.0.0-20180409043135-d282f87a1972/go.mod h1:Q86X8hc61JXhE5XxYLKmrSRWby/Oe8IIYZIBgmGVkTA= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= -github.com/jinzhu/gorm v0.0.0-20160404144928-5174cc5c242a/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo= -github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.11.2 h1:MiK62aErc3gIiVEtyzKfeOHgW7atJb5g/KNX5m3c2nQ= github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= -github.com/knative/pkg v0.0.0-20190817231834-12ee58e32cc8/go.mod h1:7Ijfhw7rfB+H9VtosIsDYvZQ+qYTz7auK3fHW/5z4ww= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= 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/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= -github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= -github.com/lib/pq v0.0.0-20171126050459-83612a56d3dd/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.3/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc= -github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= -github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= 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.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/maruel/panicparse v0.0.0-20171209025017-c0182c169410/go.mod h1:nty42YY5QByNC5MM7q/nj938VbgPU7avs45z6NClpxI= -github.com/maruel/ut v1.0.0/go.mod h1:I68ffiAt5qre9obEVTy7S2/fj2dJku2NYLvzPuY0gqE= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= -github.com/matryer/moq v0.0.0-20200607124540-4638a53893e6/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= -github.com/mattn/go-colorable v0.0.0-20170210172801-5411d3eea597/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.11 h1:nQ+aFkoE2TMGc0b68U2OKSexC+eq46+XwZzWXHRmPYs= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.0-20170307163044-57fdcb988a5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-oci8 v0.0.7/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.12.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= 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 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mcuadros/go-version v0.0.0-20180611085657-6d5863ca60fa/go.mod h1:76rfSfYPWj01Z85hUf/ituArm797mNKcvINh1OlsZKo= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY= -github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw= -github.com/minio/minio-go/v7 v7.0.10/go.mod h1:td4gW1ldOsj1PbSNS+WYK43j+P1XVhX/8W8awaYlBFo= -github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/cli v1.1.2 h1:PvH+lL2B7IQ101xQL63Of8yFS2y+aDlsFcsqNc+u/Kw= github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -912,332 +522,137 @@ github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/ipvs v1.0.1/go.mod h1:2pngiyseZbIKXNv7hsKj3O9UEz30c53MT9005gt2hxQ= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= -github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= -github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mrjones/oauth v0.0.0-20180629183705-f4e24b6d100c/go.mod h1:skjdDftzkFALcuGzYSklqYd8gvat6F1gZJ4YPVbkZpM= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/muvaf/typewriter v0.0.0-20210910160850-80e49fe1eb32 h1:yBQlHXLeUJL3TWVmzup5uT3wG5FLxhiTAiTsmNVocys= -github.com/muvaf/typewriter v0.0.0-20210910160850-80e49fe1eb32/go.mod h1:SAAdeMEiFXR8LcHffvIdiLI1w243DCH2DuHq7UrA5YQ= -github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU= +github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7 h1:CxRHKnh1YJXgNKxcos9rrKL6AcmOl1AS/fygmxFDzh4= +github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7/go.mod h1:SAAdeMEiFXR8LcHffvIdiLI1w243DCH2DuHq7UrA5YQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= -github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.4.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.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.10.1/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.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -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/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.3.0/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.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.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= -github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= -github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c= -github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc95/go.mod h1:z+bZxa/+Tz/FmYVWkhUajJdzFeOqjc5vrqskhVyHGUM= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/oracle/oci-go-sdk v18.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/paulmach/orb v0.1.3/go.mod h1:VFlX/8C+IQ1p6FTRRKzKoOPJnvEtA5G0Veuqwbu//Vk= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/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/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= -github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.52.0/go.mod h1:f7HML3SGY4Bf10YMdSWKUf2BdIIzQqlAvYh84px05BQ= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.0 h1:HRmM4uANZDAjdvbsdfOoqI5UDbjz0faKeMs/cGPKKI0= -github.com/prometheus/common v0.32.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/qri-io/starlib v0.4.2-0.20200213133954-ff2e8cd5ef8d/go.mod h1:7DPO4domFU579Ga6E61sB9VFNaniPVwJP5C4bBCu3wA= -github.com/quobyte/api v0.1.8/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI= -github.com/rackspace/gophercloud v0.0.0-20150408191457-ce0f487f6747/go.mod h1:4bJ1FwuaBZ6dt1VcDX5/O662mwR8GWqS4l68H6hkoYQ= -github.com/rancher/aks-operator v1.0.3 h1:VTqC5ii7JttFpDpOa8lELHWoXy1+dXT/ephDrD1HjaE= -github.com/rancher/aks-operator v1.0.3/go.mod h1:4AAOJmPqW41ko6L6cy7BOWbHEko7Yjcho1YP+KPAt+Y= -github.com/rancher/apiserver v0.0.0-20201023000256-1a0a904f9197/go.mod h1:8W0EwaR9dH5NDFw6mpAX437D0q+EZqKWbZyX71+z2WI= -github.com/rancher/apiserver v0.0.0-20210818221223-fb33444dfae8/go.mod h1:8W0EwaR9dH5NDFw6mpAX437D0q+EZqKWbZyX71+z2WI= -github.com/rancher/apiserver v0.0.0-20211025232108-df28932a5627/go.mod h1:8W0EwaR9dH5NDFw6mpAX437D0q+EZqKWbZyX71+z2WI= -github.com/rancher/channelserver v0.5.1-0.20210618172430-5cbefd383369/go.mod h1:1/9aBa8mXEIinRiT6Qlv/zbt6Nv9uorv+kFVNYvpmiI= -github.com/rancher/client-go v1.22.3-rancher.1 h1:aNVLaIY5YGah1i9wRVXLOGRbLyekohjQAKHXeQm6Cxo= -github.com/rancher/client-go v1.22.3-rancher.1/go.mod h1:ElDjYf8gvZsKDYexmsmnMQ0DYO8W9RwBjfQ1PI53yow= -github.com/rancher/dynamiclistener v0.2.1-0.20200714201033-9c1939da3af9/go.mod h1:qr0QfhwzcVCR+Ao9WyfnE+jmOpfEAdRhXtNOZGJ3nCQ= -github.com/rancher/dynamiclistener v0.3.1-0.20211104200948-cd5d71f2fe95/go.mod h1:xbxyiF1/UaPrOrFUOZeYMQW82RPgZIe5UfiT9CyE3Ks= -github.com/rancher/eks-operator v1.1.2 h1:0zocChqzdYsM35gEyG+D+9c6yabBYuF+5T57c6Xi3F8= -github.com/rancher/eks-operator v1.1.2/go.mod h1:N0zzDJ+xvv6BkXRMjIBlFObOmud5H1sSOccG0FS+DJM= -github.com/rancher/fleet/pkg/apis v0.0.0-20210918015053-5a141a6b18f0 h1:2A92uT1+4GUdZolQg5wfOSLa6RFRkfpnc3Iw7+Z/Bk8= -github.com/rancher/fleet/pkg/apis v0.0.0-20210918015053-5a141a6b18f0/go.mod h1:fiKjX1CsAZhe2u1h/GWNDSc5Ol4+5Q3roWxq9cMbgHk= -github.com/rancher/gke-operator v1.1.2 h1:yWrGz/7z15GktldkYa3f2NYRHsusNv7ikJYhTB55lak= -github.com/rancher/gke-operator v1.1.2/go.mod h1:7lDe4okbyZeYZppEz1i60eowLN8iiT4ZN5UiEIVHp18= -github.com/rancher/helm/v3 v3.5.4-rancher.1/go.mod h1:6eTBYLWEHt3JqXZPyHoYvb9/B7wPKHT3tjWnMfjen9w= -github.com/rancher/kubernetes-provider-detector v0.1.2/go.mod h1:ypuJS7kP7rUiAn330xG46mj+Nhvym05GM8NqMVekpH0= -github.com/rancher/kubernetes-provider-detector v0.1.5/go.mod h1:ypuJS7kP7rUiAn330xG46mj+Nhvym05GM8NqMVekpH0= -github.com/rancher/lasso v0.0.0-20200427171700-e0509f89f319/go.mod h1:6Dw19z1lDIpL887eelVjyqH/mna1hfR61ddCFOG78lw= -github.com/rancher/lasso v0.0.0-20200515155337-a34e1e26ad91/go.mod h1:G6Vv2aj6xB2YjTVagmu4NkhBvbE8nBcGykHRENH6arI= -github.com/rancher/lasso v0.0.0-20200820172840-0e4cc0ef5cb0/go.mod h1:OhBBBO1pBwYp0hacWdnvSGOj+XE9yMLOLnaypIlic18= -github.com/rancher/lasso v0.0.0-20210218205127-cbbdbcc1c003/go.mod h1:OhBBBO1pBwYp0hacWdnvSGOj+XE9yMLOLnaypIlic18= -github.com/rancher/lasso v0.0.0-20210408231703-9ddd9378d08d/go.mod h1:OhBBBO1pBwYp0hacWdnvSGOj+XE9yMLOLnaypIlic18= -github.com/rancher/lasso v0.0.0-20210616224652-fc3ebd901c08/go.mod h1:9qZd/S8DqWzfKtjKGgSoHqGEByYmUE3qRaBaaAHwfEM= -github.com/rancher/lasso v0.0.0-20211217013041-3c6118a30611 h1:JZIc0g9A1blYZUBIk6nIqja0ZhtddvmeDXbB8i6vkGM= -github.com/rancher/lasso v0.0.0-20211217013041-3c6118a30611/go.mod h1:9qZd/S8DqWzfKtjKGgSoHqGEByYmUE3qRaBaaAHwfEM= -github.com/rancher/lasso/controller-runtime v0.0.0-20211217013041-3c6118a30611/go.mod h1:+0JeyzD5Cb1eavAbVF1+7SfQUItne0C+UxsTk+PU1Ms= -github.com/rancher/machine v0.15.0-rancher63/go.mod h1:qXYNumxy0J08MO/mh/jNjyRuEc2QKDLUOZIBE5vxaZE= -github.com/rancher/machine v0.15.0-rancher73/go.mod h1:oLdls3rqV7V626NgBL7lWFNCgRpoHMXNBgCpBanuzpo= -github.com/rancher/norman v0.0.0-20200517050325-f53cae161640/go.mod h1:92rz/7QN7DOeLQZlJY/8aFBOmF085igIVguR0wpxLas= -github.com/rancher/norman v0.0.0-20210423002317-8e6ffc77a819/go.mod h1:hhnf77V2lmZD7cvUqi4vTBpIs3KpHNL/AmuN0MqEClI= -github.com/rancher/norman v0.0.0-20211201154850-abe17976423e h1:ozsbzsCJpKULwrTcqEDddL9aYy8Cdt5s6gAm6BZQKp4= -github.com/rancher/norman v0.0.0-20211201154850-abe17976423e/go.mod h1:hhnf77V2lmZD7cvUqi4vTBpIs3KpHNL/AmuN0MqEClI= -github.com/rancher/rancher v0.0.0-20211218171736-3c1d5fac3248 h1:9s9T5tv5r++u9dqKIxC83G7uavUDQZfqv/r5/IebC/4= -github.com/rancher/rancher v0.0.0-20211218171736-3c1d5fac3248/go.mod h1:nPennD/M17n1p9YHTk5cEO0ROafjm47+dhw2jEsAdFM= -github.com/rancher/rancher/pkg/apis v0.0.0-20211218171736-3c1d5fac3248 h1:MR1iZ6SN7aOLIAo55ULjLBhw21R5/al+PyoX8ddO/DY= -github.com/rancher/rancher/pkg/apis v0.0.0-20211218171736-3c1d5fac3248/go.mod h1:BaS62Yb4y2otFMRjmCTsCmFytRPfU9CMIZvRaULCYcw= -github.com/rancher/rancher/pkg/client v0.0.0-20211218171736-3c1d5fac3248 h1:vIpd/sA9jH42JGP4wUTXMFdRWDA6GwsvQX3RvigXf9g= -github.com/rancher/rancher/pkg/client v0.0.0-20211218171736-3c1d5fac3248/go.mod h1:3Cw2Z/AEJXHNPtH4g20bOoHfcEE8teGNzSxkkwYWuPg= -github.com/rancher/rdns-server v0.0.0-20180802070304-bf662911db6a/go.mod h1:YW8wJ/coee2n9ed937uPBWQArBaVlxs+5wkkS9KiyDc= -github.com/rancher/remotedialer v0.2.6-0.20210318171128-d1ebd5202be4/go.mod h1:dbzn9NF1JWbGEHL6Q/1KG4KFROILiY/j6wmfF1Np3fk= -github.com/rancher/rke v1.3.3 h1:XZ3zQ1hhra4bO6a3Wep7hO+fUcDs7TBi1/FdBDEDqB4= -github.com/rancher/rke v1.3.3/go.mod h1:4StVBXSN7EbrfoWE7nI2AAf/N1td8qSyQMDRyR6nGAg= -github.com/rancher/security-scan v0.1.7-0.20200222041501-f7377f127168/go.mod h1:WlLAocVyVQs5J8r0IiQXsp0ajVZO6hYi/Vo6zxjo73s= -github.com/rancher/steve v0.0.0-20210915171517-ae8b16260899/go.mod h1:BJ+n0Cqb9QD8S6O644VkLEaBWQnyqYcJdf8fDzFXarQ= -github.com/rancher/system-upgrade-controller/pkg/apis v0.0.0-20210727200656-10b094e30007/go.mod h1:Ja346o44aTPWADc/5Jm93+KgctT6KtftuOosgz0F2AM= -github.com/rancher/terraform-provider-rancher2 v1.22.1 h1:nuUR8H7zqNm0JELG1m7f2B+qBgSg6prQ11BNN5xYIJE= -github.com/rancher/terraform-provider-rancher2 v1.22.1/go.mod h1:0IaVJXKPu5+Q4l4MiLYZAVNEgztVn7H5neS1TJKSWmE= -github.com/rancher/wrangler v0.6.1/go.mod h1:L4HtjPeX8iqLgsxfJgz+JjKMcX2q3qbRXSeTlC/CSd4= -github.com/rancher/wrangler v0.6.2-0.20200427172034-da9b142ae061/go.mod h1:n5Du/gGD7WoiqnEo0SHnPirDIp1V9Zu+6guc8lXS2dk= -github.com/rancher/wrangler v0.6.2-0.20200515155908-1923f3f8ec3f/go.mod h1:NmtmlLkchboIksYJuBemwcP4RBfv8FpeyhVoWXB9Wdc= -github.com/rancher/wrangler v0.6.2-0.20200714200521-c61fae623942/go.mod h1:8LdIqAQPHysxNlHqmKbUiDIx9ULt9IHUauh9aOnr67k= -github.com/rancher/wrangler v0.6.2-0.20200820173016-2068de651106/go.mod h1:iKqQcYs4YSDjsme52OZtQU4jHPmLlIiM93aj2c8c/W8= -github.com/rancher/wrangler v0.6.2-0.20200829053106-7e1dd4260224/go.mod h1:I7qe4DZNMOLKVa9ax7DJdBZ0XtKOppLF/dalhPX3vaE= -github.com/rancher/wrangler v0.8.0/go.mod h1:zSV5oh3+YZboilwcJmFHO3J6FZba82BTQft1b6ijx2I= -github.com/rancher/wrangler v0.8.1-0.20210423003607-f71a90542852/go.mod h1:zSV5oh3+YZboilwcJmFHO3J6FZba82BTQft1b6ijx2I= -github.com/rancher/wrangler v0.8.1-0.20210506052526-673b7f8692d9/go.mod h1:aj/stIidTzU6UEKKRB8JyrrqNMJAfDMziL1+zhG8lc0= -github.com/rancher/wrangler v0.8.10 h1:GfM3dZyw3TconwqknRm6YO/wiKEbUIGl0/HWVqBy658= -github.com/rancher/wrangler v0.8.10/go.mod h1:Lte9WjPtGYxYacIWeiS9qawvu2R4NujFU9xuXWJvc/0= -github.com/rancher/wrangler-api v0.6.1-0.20200427172631-a7c2f09b783e/go.mod h1:2lcWR98q8HU3U4mVETnXc8quNG0uXxrt8vKd6cAa/30= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= -github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rubenv/sql-migrate v0.0.0-20200616145509-8d140a17f351/go.mod h1:DCgfY80j8GYL7MLEfvcpSFvjD0L5yZq/aZUJmhZklyg= -github.com/rubiojr/go-vhd v0.0.0-20200706105327-02e210299021/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= -github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM= -github.com/russellhaering/goxmldsig v1.1.1/go.mod h1:gM4MDENBQf7M+V824SGfyIUVFWydB7n0KkEubVJl+Tw= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= -github.com/samalba/dockerclient v0.0.0-20151231000007-f661dd4754aa/go.mod h1:yeYR4SlaRZJct6lwNRKR+qd0CocnxxWDE7Vh5dxsn/w= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -github.com/segmentio/kafka-go v0.0.0-20190411192201-218fd49cff39/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= 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/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skarademir/naturalsort v0.0.0-20150715044055-69a5d87bef62/go.mod h1:oIdVclZaltY1Nf7OQUkg1/2jImBJ+ZfKZuDIRSwk3p0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= -github.com/smartystreets/assertions v1.1.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= +github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= 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= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/storageos/go-api v2.2.0+incompatible/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.3-0.20181224173747-660f15d67dbb/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= @@ -1245,109 +660,44 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tent/http-link-go v0.0.0-20130702225549-ac974c61c2f9/go.mod h1:RHkNRtSLfOK7qBTHaeSX1D6BNpI3qw7NTxsmNr4RvN8= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= 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/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80/go.mod h1:iFyPdL66DjUD96XmzVL3ZntbzcflLnznH0fr99w5VqE= -github.com/turkenh/terraform-plugin-sdk v1.17.2-patch1 h1:TRHWM1G6ZqjOj/lu61J/FkcxyFWScKENbcZ6UZV0LiU= -github.com/turkenh/terraform-plugin-sdk v1.17.2-patch1/go.mod h1:wkvldbraEMkz23NxkkAsFS88A1R9eUiooiaUZyS6TLw= -github.com/turkenh/terrajet v0.0.0-20220125090152-40fd9a14dc4d h1:iayTp+bxICI+oq485Fp/ZdrEW5TrOTl0AvDLkS0eVjA= -github.com/turkenh/terrajet v0.0.0-20220125090152-40fd9a14dc4d/go.mod h1:fFjGal+3iF/D3XaxuTHw0xNHO+UslVhxNkNZITDXz44= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netlink v1.1.1-0.20201228183132-77e4d032a06a/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= -github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/vmware/govcloudair v0.0.2/go.mod h1:Vxktpba+eP4dX5YzYP869DRPSm5ChQ2A/GUrmKSLvlo= -github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= -github.com/vmware/govmomi v0.23.2-0.20201015235820-81318771d0e0/go.mod h1:Y+Wq4lst78L85Ge/F8+ORXIWiKYqaro1vhAulACy9Lc= -github.com/vmware/govmomi v0.26.0/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= -github.com/vmware/kube-fluentd-operator v0.0.0-20190307154903-bf9de7e79eaf/go.mod h1:hJzJEIRgv3HH5JAGJq14tlIuEnRiVIjmkY/0uv89bOE= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= -github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/go-gitlab v0.0.0-20180830102804-feb856f4760f/go.mod h1:CRKHkvFWNU6C3AEfqLWjnCNnAs4nj8Zk95rX2S3X6Mw= -github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -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= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 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.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yvasiyarov/go-metrics v0.0.0-20150112132944-c25f46c4b940/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= -github.com/yvasiyarov/gorelic v0.0.7/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20160601141957-9c099fbc30e9/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= -github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= -github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.8.4 h1:pwhhz5P+Fjxse7S7UriBrMu6AUJSZM5pKqGem1PjGAs= github.com/zclconf/go-cty v1.8.4/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.9.1 h1:viqrgQwFl5UpSxc046qblj78wZXVDFnSOufaOTER+cc= +github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= -github.com/zclconf/go-cty-yaml v1.0.2 h1:dNyg4QLTrv2IfJpm7Wtxi55ed5gLGOlPrZ6kMd51hY0= -github.com/zclconf/go-cty-yaml v1.0.2/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= -github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.hein.dev/go-version v0.1.0/go.mod h1:WOEm7DWMroRe5GdUgHMvx+Pji5WWIpMuXmK/3foylXs= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= @@ -1361,75 +711,43 @@ go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.starlark.net v0.0.0-20190528202925-30ae18b8564f/go.mod h1:c1/X6cHgvdXj6pUlmWKMkuqRnW4K8x2vwt6JAaaircg= -go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec= go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa h1:idItI2DDfCokpg0N51B2VtiLdJ4vAuXC9fnCb2gACo4= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -1437,8 +755,6 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20210220032938-85be41e4509f/go.mod h1:I6l2HNBLBZEcrOoCpyKLdY2lHoRZ8lI4x60KMCQDft4= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1452,56 +768,41 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/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.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/net v0.0.0-20180112015858-5ccada7d0a7b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +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-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/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= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191126235420-ef20fe5d7933/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1510,7 +811,6 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -1529,12 +829,11 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d h1:20cMwl2fHAzkJMEA+8J4JgqBQcQGzbisXo31MIeenXI= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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= @@ -1548,8 +847,6 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1562,9 +859,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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 h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180117170059-2c42eef0765b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 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= @@ -1572,54 +867,32 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190812172437-4e8604ab3aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 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-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/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= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1631,21 +904,18 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1653,29 +923,22 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211013075003-97ac67df715c h1:taxlMj0D/1sOAuv/CbSD+MMDof2vbyPTqz5FNYKpXt8= -golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8 h1:M69LAlWZCshgp0QSzyDcSsSIejIEeuaCVpmwcKwyLMk= +golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/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= -golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1684,22 +947,17 @@ 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/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1709,21 +967,12 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190812233024-afc3694995b6/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191017205301-920acffc3e65/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1731,11 +980,8 @@ golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1758,37 +1004,25 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201028111035-eafbe7b904eb/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -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.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.7 h1:6j8CgantCy3yc8JGBqkDLMKWqZ0RDU2g1HVgacojGWQ= -golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/tools v0.1.11 h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= 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= -gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= -gomodules.xyz/jsonpatch/v2 v2.1.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= -gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= 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= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1796,7 +1030,6 @@ google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEn google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.1-0.20200106000736-b8fc810ca6b5/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= @@ -1806,22 +1039,13 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.34.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.56.0 h1:08F9XVYTLOGeSQb3xI9C0gXMuQanhdGed0cWFhDozbI= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -1832,11 +1056,9 @@ google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1845,7 +1067,6 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1867,39 +1088,26 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2 h1:NHN4wOCScVzKhPenJ2dt+BTs3X/XkBVI/Rh4iDt55T8= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1917,13 +1125,10 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1938,7 +1143,6 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1947,52 +1151,37 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/djherbis/times.v1 v1.2.0/go.mod h1:AQlg6unIsrsCEdQYhTzERy542dz6SFdQFZFv6mUY0P8= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.0.0/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2000,95 +1189,42 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.22.3 h1:wOoES2GoSkUsdped2RB4zYypPqWtvprGoKCENTOOjP4= -k8s.io/api v0.22.3/go.mod h1:azgiXFiXqiWyLCfI62/eYBOu19rj2LKmIhFPP4+33fs= -k8s.io/apiextensions-apiserver v0.22.3 h1:bKku7MqawIbtTZc084BZoMV4fz0WZuvCnB5E+yrQXGM= -k8s.io/apiextensions-apiserver v0.22.3/go.mod h1:f4plF+CXeqI89jAXL0Ml4LI/kSAZ54JS94+XOX1sae8= -k8s.io/apimachinery v0.22.3 h1:mrvBG5CZnEfwgpVqWcrRKvdsYECTrhAR6cApAgdsflk= -k8s.io/apimachinery v0.22.3/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apiserver v0.22.3 h1:x21xyLQ2qvPr5vjOTVOBaSJu8svnU2wfLOfSjNJEOdw= -k8s.io/apiserver v0.22.3/go.mod h1:oam7lH/F1Kto/WTamyQYrD68fS0mGUBORAFf6x/9Mxs= -k8s.io/cli-runtime v0.22.3/go.mod h1:um6JvCxV9Hrhq0zCUxcqYoY7/wF64g6IYgOViI8sg6Q= -k8s.io/cloud-provider v0.22.3/go.mod h1:GsKMR5EnNH4zcfkEvOxBPEZVuRvadVRkZvGqYxxBvO4= -k8s.io/cluster-bootstrap v0.22.3/go.mod h1:FVBAeGJ/T6QbNgGb7DX98FCjExJnNLsRXtGRMjEQ26I= -k8s.io/code-generator v0.22.3/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/component-base v0.22.3 h1:/+hryAW03u3FpJQww+GSMsArJNUbGjH66lrgxaRynLU= -k8s.io/component-base v0.22.3/go.mod h1:kuybv1miLCMoOk3ebrqF93GbQHQx6W2287FC0YEQY6s= -k8s.io/component-helpers v0.22.3/go.mod h1:7OVySVH5elhHKuJKUOxZEfpT1Bm3ChmBQZHmuFfbGHk= -k8s.io/controller-manager v0.22.3/go.mod h1:4cvQGMvYf6IpTY08/NigEiI5UrN/cbtOe5e5WepYmcQ= -k8s.io/cri-api v0.22.3/go.mod h1:mj5DGUtElRyErU5AZ8EM0ahxbElYsaLAMTPhLPQ40Eg= -k8s.io/csi-translation-lib v0.22.3/go.mod h1:YkdI+scWhZJQeA26iNg9XrKO3LhLz6dAcRKsL0RIiUY= -k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/helm v2.16.7+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/api v0.23.0 h1:WrL1gb73VSC8obi8cuYETJGXEoFNEh3LU0Pt+Sokgro= +k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= +k8s.io/apiextensions-apiserver v0.23.0 h1:uii8BYmHYiT2ZTAJxmvc3X8UhNYMxl2A0z0Xq3Pm+WY= +k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= +k8s.io/apimachinery v0.23.0 h1:mIfWRMjBuMdolAWJ3Fd+aPTMv3X9z+waiARMpvvb0HQ= +k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= +k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= +k8s.io/client-go v0.23.0 h1:vcsOqyPq7XV3QmQRCBH/t9BICJM9Q1M18qahjv+rebY= +k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= +k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= +k8s.io/component-base v0.23.0 h1:UAnyzjvVZ2ZR1lF35YwtNY6VMN94WtOnArcXBu34es8= +k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.10.0 h1:R2HDMDJsHVTHA2n4RjwbeYXdOcBymXdX/JRb1v0VGhE= -k8s.io/klog/v2 v2.10.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/kube-aggregator v0.22.3/go.mod h1:TIpLq1HvR/S4y75i3y+4q9ik3ZvgyaDz72CBfDS0A6E= -k8s.io/kube-controller-manager v0.22.3/go.mod h1:7biFk6Azf7xD+pzTScw7X9M5vGScqYp4J4wOT61QL1s= -k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= -k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e h1:KLHHjkdQFomZy8+06csTWZ0m1343QqxZhR2LJ1OxCYM= -k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kube-proxy v0.22.3/go.mod h1:9ta1U8GKKo6by981sN/L6MhFJzPWxMdfh7plVPH1I2s= -k8s.io/kube-scheduler v0.22.3/go.mod h1:jVLHSttd8cSejBLOeiWE+g8etA6XdOBGiR8tI577OhU= -k8s.io/kubectl v0.22.3/go.mod h1:gcpQHPOx+Jke9Og6Li7YxR/ZuaOtFUeJw7xHH617tHs= -k8s.io/kubelet v0.22.3/go.mod h1:9nUZNGUigU2uAIm7kgf8BsvYDI9KjIE5nt9+yI1+p7w= -k8s.io/kubernetes v1.22.3/go.mod h1:Snea7fgIObGgHmLbUJ3OgjGEr5bjj16iEdp5oHS6eS8= -k8s.io/legacy-cloud-providers v0.22.3/go.mod h1:eEOOaRtP2PuCVkjZvuTPa6ZgyPpzJkCVqpE3YtuArLQ= -k8s.io/metrics v0.22.3/go.mod h1:HbLFLRKtXzoC/6tHLQAlO9AeOBXZp2eB6SsgkbujoNI= -k8s.io/mount-utils v0.22.3/go.mod h1:dHl6c2P60T5LHUnZxVslyly9EDCMzvhtISO5aY+Z4sk= -k8s.io/pod-security-admission v0.22.0/go.mod h1:xKTKO4nzxLDROM+RRndSU7kCZc2XcBYRKLYS+gYuqfo= -k8s.io/sample-apiserver v0.22.3/go.mod h1:HuEOdD/pT5R7gKNr2REb62uabZaJuFZyY3wUd86nFCA= -k8s.io/sample-controller v0.16.8/go.mod h1:aXlORS1ekU77qhGybB5t3JORDurzDpWgvMYxmCsiuos= -k8s.io/system-validators v1.5.0/go.mod h1:bPldcLgkIUK22ALflnsXk8pvkTEndYdNuaHH6gRrl0Q= -k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210111153108-fddb29f9d009/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210722164352-7f3ee0f31471/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a h1:8dYfu/Fc9Gz2rNJKB9IQRGgQOh2clmRzNIPPY1xLY5g= -k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= -modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= -modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= -modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= -modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/aws-iam-authenticator v0.5.1/go.mod h1:yPDLi58MDx1UtCrRMOykLm1IyKKPGHgcGCafcbn2s3E= -sigs.k8s.io/cli-utils v0.16.0 h1:Wr32m1oxjIqc9G9l+igr13PeIM9LCyq8jQ8KjXKelvg= -sigs.k8s.io/cli-utils v0.16.0/go.mod h1:9Jqm9K2W6ShhCxsEuaz6HSRKKOXigPUx3ZfypGgxBLY= -sigs.k8s.io/cluster-api v0.4.4 h1:gTSjXQEfSwphgYMelKEZZPXvok06GCF5tsCC550A5zA= -sigs.k8s.io/cluster-api v0.4.4/go.mod h1:KKycu4yJEm1sxKG5UaHX9ZnYxRiBzJsFjJVmvMQUP2k= -sigs.k8s.io/controller-runtime v0.4.0/go.mod h1:ApC79lpY3PHW9xj/w9pj+lYkLgwAAUZwfXkME1Lajns= -sigs.k8s.io/controller-runtime v0.8.2/go.mod h1:U/l+DUopBc1ecfRZ5aviA9JDmGFQKvLf5YkZNx2e0sU= -sigs.k8s.io/controller-runtime v0.9.6/go.mod h1:q6PpkM5vqQubEKUKOM6qr06oXGzOBcCby1DA9FbyZeA= -sigs.k8s.io/controller-runtime v0.9.7 h1:DlHMlAyLpgEITVvNsuZqMbf8/sJl9HirmCZIeR5H9mQ= -sigs.k8s.io/controller-runtime v0.9.7/go.mod h1:nExcHcQ2zvLMeoO9K7rOesGCmgu32srN5SENvpAEbGA= -sigs.k8s.io/controller-tools v0.6.2 h1:+Y8L0UsAugDipGRw8lrkPoAi6XqlQVZuf1DQHME3PgU= -sigs.k8s.io/controller-tools v0.6.2/go.mod h1:oaeGpjXn6+ZSEIQkUe/+3I40PNiDYp9aeawbt3xTgJ8= -sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g= -sigs.k8s.io/kustomize/cmd/config v0.9.13/go.mod h1:7547FLF8W/lTaDf0BDqFTbZxM9zqwEJqCKN9sSR0xSs= -sigs.k8s.io/kustomize/kustomize/v4 v4.2.0/go.mod h1:MOkR6fmhwG7hEDRXBYELTi5GSFcLwfqwzTRHW3kv5go= -sigs.k8s.io/kustomize/kyaml v0.4.0/go.mod h1:XJL84E6sOFeNrQ7CADiemc1B0EjIxHo3OhW4o1aJYNw= -sigs.k8s.io/kustomize/kyaml v0.11.0/go.mod h1:GNMwjim4Ypgp/MueD3zXHLRJEjz7RvtPae0AwlvEMFM= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= +sigs.k8s.io/controller-runtime v0.11.0 h1:DqO+c8mywcZLFJWILq4iktoECTyn30Bkj0CwgqMpZWQ= +sigs.k8s.io/controller-runtime v0.11.0/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= +sigs.k8s.io/controller-tools v0.8.0 h1:uUkfTGEwrguqYYfcI2RRGUnC8mYdCFDqfwPKUcNJh1o= +sigs.k8s.io/controller-tools v0.8.0/go.mod h1:qE2DXhVOiEq5ijmINcFbqi9GZrrUjzB1TuJU0xa6eoY= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/testing_frameworks v0.1.2/go.mod h1:ToQrwSC3s8Xf/lADdZp3Mktcql9CG0UAmdJG9th5i0w= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/structured-merge-diff/v4 v4.2.0 h1:kDvPBbnPk+qYmkHmSo8vKGp438IASWofnbbUKDE/bv0= +sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/hack/prepare.sh b/hack/prepare.sh index fc84462..abb2661 100755 --- a/hack/prepare.sh +++ b/hack/prepare.sh @@ -15,17 +15,26 @@ # limitations under the License. # Please set ProviderNameLower & ProviderNameUpper environment variables before running this script. -# See: https://github.com/crossplane-contrib/terrajet/blob/main/docs/generating-a-provider.md +# See: https://github.com/crossplane/terrajet/blob/main/docs/generating-a-provider.md set -euo pipefail -REPLACE_FILES='./* ./.github :!build/** :!go.sum :!hack/prepare.sh' +REPLACE_FILES='./* ./.github :!build/** :!go.* :!hack/prepare.sh' # shellcheck disable=SC2086 git grep -l 'template' -- ${REPLACE_FILES} | xargs sed -i.bak "s/template/${ProviderNameLower}/g" # shellcheck disable=SC2086 git grep -l 'Template' -- ${REPLACE_FILES} | xargs sed -i.bak "s/Template/${ProviderNameUpper}/g" +# We need to be careful while replacing "template" keyword in go.mod as it could tamper +# some imported packages under require section. +sed -i.bak "s/provider-jet-template/provider-jet-${ProviderNameLower}/g" go.mod + # Clean up the .bak files created by sed git clean -fd git mv "internal/clients/template.go" "internal/clients/${ProviderNameLower}.go" git mv "cluster/images/provider-jet-template" "cluster/images/provider-jet-${ProviderNameLower}" git mv "cluster/images/provider-jet-template-controller" "cluster/images/provider-jet-${ProviderNameLower}-controller" + +# We need to remove this api folder otherwise first `make generate` fails with +# the following error probably due to some optimizations in go generate with v1.17: +# generate: open /Users/hasanturken/Workspace/crossplane-contrib/provider-jet-template/apis/null/v1alpha1/zz_generated.deepcopy.go: no such file or directory +rm -rf apis/null \ No newline at end of file diff --git a/internal/controller/app/v2/zz_controller.go b/internal/controller/app/v2/zz_controller.go index fde1bd1..86f4a52 100755 --- a/internal/controller/app/v2/zz_controller.go +++ b/internal/controller/app/v2/zz_controller.go @@ -21,37 +21,41 @@ package v2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/app/v1alpha1" ) // Setup adds a controller that reconciles V2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.V2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.V2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_app_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_app_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.V2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configactivedirectory/zz_controller.go b/internal/controller/auth/configactivedirectory/zz_controller.go index 114fb20..77fd569 100755 --- a/internal/controller/auth/configactivedirectory/zz_controller.go +++ b/internal/controller/auth/configactivedirectory/zz_controller.go @@ -21,37 +21,41 @@ package configactivedirectory import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigActivedirectory managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigActivedirectory_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigActivedirectory_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_activedirectory"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_activedirectory"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigActivedirectory{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configadfs/zz_controller.go b/internal/controller/auth/configadfs/zz_controller.go index ed29058..0bc88ec 100755 --- a/internal/controller/auth/configadfs/zz_controller.go +++ b/internal/controller/auth/configadfs/zz_controller.go @@ -21,37 +21,41 @@ package configadfs import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigAdfs managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigAdfs_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigAdfs_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_adfs"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_adfs"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigAdfs{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configazuread/zz_controller.go b/internal/controller/auth/configazuread/zz_controller.go index 53f7a49..0ea8664 100755 --- a/internal/controller/auth/configazuread/zz_controller.go +++ b/internal/controller/auth/configazuread/zz_controller.go @@ -21,37 +21,41 @@ package configazuread import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigAzuread managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigAzuread_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigAzuread_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_azuread"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_azuread"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigAzuread{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configfreeipa/zz_controller.go b/internal/controller/auth/configfreeipa/zz_controller.go index ca94d47..0980678 100755 --- a/internal/controller/auth/configfreeipa/zz_controller.go +++ b/internal/controller/auth/configfreeipa/zz_controller.go @@ -21,37 +21,41 @@ package configfreeipa import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigFreeipa managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigFreeipa_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigFreeipa_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_freeipa"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_freeipa"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigFreeipa{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configgithub/zz_controller.go b/internal/controller/auth/configgithub/zz_controller.go index 8a5f0c3..c7b5545 100755 --- a/internal/controller/auth/configgithub/zz_controller.go +++ b/internal/controller/auth/configgithub/zz_controller.go @@ -21,37 +21,41 @@ package configgithub import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigGithub managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigGithub_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigGithub_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_github"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_github"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigGithub{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configkeycloak/zz_controller.go b/internal/controller/auth/configkeycloak/zz_controller.go index 1fe57a6..29d1fb9 100755 --- a/internal/controller/auth/configkeycloak/zz_controller.go +++ b/internal/controller/auth/configkeycloak/zz_controller.go @@ -21,37 +21,41 @@ package configkeycloak import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigKeycloak managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigKeycloak_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigKeycloak_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_keycloak"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_keycloak"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigKeycloak{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configokta/zz_controller.go b/internal/controller/auth/configokta/zz_controller.go index bcf01fb..72b06ec 100755 --- a/internal/controller/auth/configokta/zz_controller.go +++ b/internal/controller/auth/configokta/zz_controller.go @@ -21,37 +21,41 @@ package configokta import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigOkta managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigOkta_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigOkta_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_okta"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_okta"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigOkta{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configopenldap/zz_controller.go b/internal/controller/auth/configopenldap/zz_controller.go index be9b2b8..8d701a6 100755 --- a/internal/controller/auth/configopenldap/zz_controller.go +++ b/internal/controller/auth/configopenldap/zz_controller.go @@ -21,37 +21,41 @@ package configopenldap import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigOpenldap managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigOpenldap_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigOpenldap_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_openldap"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_openldap"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigOpenldap{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/auth/configping/zz_controller.go b/internal/controller/auth/configping/zz_controller.go index b452a97..7a5e916 100755 --- a/internal/controller/auth/configping/zz_controller.go +++ b/internal/controller/auth/configping/zz_controller.go @@ -21,37 +21,41 @@ package configping import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/auth/v1alpha1" ) // Setup adds a controller that reconciles ConfigPing managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigPing_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigPing_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_auth_config_ping"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_auth_config_ping"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigPing{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/catalog/v2/zz_controller.go b/internal/controller/catalog/v2/zz_controller.go index 1ed3aba..032f7cb 100755 --- a/internal/controller/catalog/v2/zz_controller.go +++ b/internal/controller/catalog/v2/zz_controller.go @@ -21,37 +21,41 @@ package v2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/catalog/v1alpha1" ) // Setup adds a controller that reconciles V2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.V2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.V2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_catalog_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_catalog_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.V2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cloud/credential/zz_controller.go b/internal/controller/cloud/credential/zz_controller.go index b6368b9..447ab20 100755 --- a/internal/controller/cloud/credential/zz_controller.go +++ b/internal/controller/cloud/credential/zz_controller.go @@ -21,37 +21,41 @@ package credential import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cloud/v1alpha1" ) // Setup adds a controller that reconciles Credential managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Credential_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Credential_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cloud_credential"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cloud_credential"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Credential{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/alertgroup/zz_controller.go b/internal/controller/cluster/alertgroup/zz_controller.go index 85d47b8..0dcb7e8 100755 --- a/internal/controller/cluster/alertgroup/zz_controller.go +++ b/internal/controller/cluster/alertgroup/zz_controller.go @@ -21,37 +21,41 @@ package alertgroup import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles AlertGroup managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertGroup_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.AlertGroup_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_alert_group"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_alert_group"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.AlertGroup{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/alertrule/zz_controller.go b/internal/controller/cluster/alertrule/zz_controller.go index c7dcaf0..ca32b2b 100755 --- a/internal/controller/cluster/alertrule/zz_controller.go +++ b/internal/controller/cluster/alertrule/zz_controller.go @@ -21,37 +21,41 @@ package alertrule import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles AlertRule managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertRule_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_alert_rule"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_alert_rule"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.AlertRule{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/driver/zz_controller.go b/internal/controller/cluster/driver/zz_controller.go index ec33a32..4374b60 100755 --- a/internal/controller/cluster/driver/zz_controller.go +++ b/internal/controller/cluster/driver/zz_controller.go @@ -21,37 +21,41 @@ package driver import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles Driver managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Driver_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Driver_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_driver"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_driver"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Driver{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/logging/zz_controller.go b/internal/controller/cluster/logging/zz_controller.go index 4954551..c6d4f10 100755 --- a/internal/controller/cluster/logging/zz_controller.go +++ b/internal/controller/cluster/logging/zz_controller.go @@ -21,37 +21,41 @@ package logging import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles Logging managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Logging_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Logging_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_logging"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_logging"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Logging{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/roletemplatebinding/zz_controller.go b/internal/controller/cluster/roletemplatebinding/zz_controller.go index 00c7c0f..da5f231 100755 --- a/internal/controller/cluster/roletemplatebinding/zz_controller.go +++ b/internal/controller/cluster/roletemplatebinding/zz_controller.go @@ -21,37 +21,41 @@ package roletemplatebinding import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles RoleTemplateBinding managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RoleTemplateBinding_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.RoleTemplateBinding_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_role_template_binding"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_role_template_binding"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.RoleTemplateBinding{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/sync/zz_controller.go b/internal/controller/cluster/sync/zz_controller.go index 3bab054..1fbc835 100755 --- a/internal/controller/cluster/sync/zz_controller.go +++ b/internal/controller/cluster/sync/zz_controller.go @@ -21,37 +21,41 @@ package sync import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles Sync managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Sync_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Sync_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_sync"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_sync"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Sync{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/template/zz_controller.go b/internal/controller/cluster/template/zz_controller.go index 2cb6732..fd15bc7 100755 --- a/internal/controller/cluster/template/zz_controller.go +++ b/internal/controller/cluster/template/zz_controller.go @@ -21,37 +21,41 @@ package template import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles Template managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Template_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Template_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_template"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_template"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Template{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/cluster/v2/zz_controller.go b/internal/controller/cluster/v2/zz_controller.go index 6409343..8b70fa5 100755 --- a/internal/controller/cluster/v2/zz_controller.go +++ b/internal/controller/cluster/v2/zz_controller.go @@ -21,37 +21,41 @@ package v2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/cluster/v1alpha1" ) // Setup adds a controller that reconciles V2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.V2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.V2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.V2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/config/mapv2/zz_controller.go b/internal/controller/config/mapv2/zz_controller.go index f285a15..a80aaad 100755 --- a/internal/controller/config/mapv2/zz_controller.go +++ b/internal/controller/config/mapv2/zz_controller.go @@ -21,37 +21,41 @@ package mapv2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/config/v1alpha1" ) // Setup adds a controller that reconciles MapV2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.MapV2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.MapV2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_config_map_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_config_map_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.MapV2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/etcd/backup/zz_controller.go b/internal/controller/etcd/backup/zz_controller.go index 721067c..192e68f 100755 --- a/internal/controller/etcd/backup/zz_controller.go +++ b/internal/controller/etcd/backup/zz_controller.go @@ -21,37 +21,41 @@ package backup import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/etcd/v1alpha1" ) // Setup adds a controller that reconciles Backup managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Backup_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Backup_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_etcd_backup"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_etcd_backup"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Backup{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/global/dns/zz_controller.go b/internal/controller/global/dns/zz_controller.go index 737560a..1c2c054 100755 --- a/internal/controller/global/dns/zz_controller.go +++ b/internal/controller/global/dns/zz_controller.go @@ -21,37 +21,41 @@ package dns import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/global/v1alpha1" ) // Setup adds a controller that reconciles DNS managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DNS_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.DNS_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_global_dns"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_global_dns"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.DNS{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/global/dnsprovider/zz_controller.go b/internal/controller/global/dnsprovider/zz_controller.go index 87a34f8..2acd098 100755 --- a/internal/controller/global/dnsprovider/zz_controller.go +++ b/internal/controller/global/dnsprovider/zz_controller.go @@ -21,37 +21,41 @@ package dnsprovider import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/global/v1alpha1" ) // Setup adds a controller that reconciles DNSProvider managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.DNSProvider_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.DNSProvider_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_global_dns_provider"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_global_dns_provider"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.DNSProvider{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/global/role/zz_controller.go b/internal/controller/global/role/zz_controller.go index cdb9067..66e98b0 100755 --- a/internal/controller/global/role/zz_controller.go +++ b/internal/controller/global/role/zz_controller.go @@ -21,37 +21,41 @@ package role import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/global/v1alpha1" ) // Setup adds a controller that reconciles Role managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Role_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Role_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_global_role"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_global_role"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Role{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/global/rolebinding/zz_controller.go b/internal/controller/global/rolebinding/zz_controller.go index f1df321..e8d25ea 100755 --- a/internal/controller/global/rolebinding/zz_controller.go +++ b/internal/controller/global/rolebinding/zz_controller.go @@ -21,37 +21,41 @@ package rolebinding import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/global/v1alpha1" ) // Setup adds a controller that reconciles RoleBinding managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RoleBinding_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.RoleBinding_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_global_role_binding"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_global_role_binding"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.RoleBinding{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/machine/configv2/zz_controller.go b/internal/controller/machine/configv2/zz_controller.go index 0937129..ac37ed2 100755 --- a/internal/controller/machine/configv2/zz_controller.go +++ b/internal/controller/machine/configv2/zz_controller.go @@ -21,37 +21,41 @@ package configv2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/machine/v1alpha1" ) // Setup adds a controller that reconciles ConfigV2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ConfigV2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ConfigV2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_machine_config_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_machine_config_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ConfigV2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/multi/clusterapp/zz_controller.go b/internal/controller/multi/clusterapp/zz_controller.go index 3e033e3..4342b83 100755 --- a/internal/controller/multi/clusterapp/zz_controller.go +++ b/internal/controller/multi/clusterapp/zz_controller.go @@ -21,37 +21,41 @@ package clusterapp import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/multi/v1alpha1" ) // Setup adds a controller that reconciles ClusterApp managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClusterApp_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ClusterApp_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_multi_cluster_app"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_multi_cluster_app"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ClusterApp{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/node/driver/zz_controller.go b/internal/controller/node/driver/zz_controller.go index b589f69..9053b52 100755 --- a/internal/controller/node/driver/zz_controller.go +++ b/internal/controller/node/driver/zz_controller.go @@ -21,37 +21,41 @@ package driver import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/node/v1alpha1" ) // Setup adds a controller that reconciles Driver managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Driver_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Driver_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_node_driver"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_node_driver"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Driver{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/node/pool/zz_controller.go b/internal/controller/node/pool/zz_controller.go index e40fc08..0bd2776 100755 --- a/internal/controller/node/pool/zz_controller.go +++ b/internal/controller/node/pool/zz_controller.go @@ -21,37 +21,41 @@ package pool import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/node/v1alpha1" ) // Setup adds a controller that reconciles Pool managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Pool_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Pool_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_node_pool"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_node_pool"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Pool{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/node/template/zz_controller.go b/internal/controller/node/template/zz_controller.go index 6541c41..e99c1a9 100755 --- a/internal/controller/node/template/zz_controller.go +++ b/internal/controller/node/template/zz_controller.go @@ -21,37 +21,41 @@ package template import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/node/v1alpha1" ) // Setup adds a controller that reconciles Template managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Template_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Template_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_node_template"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_node_template"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Template{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/pod/securitypolicytemplate/zz_controller.go b/internal/controller/pod/securitypolicytemplate/zz_controller.go index 3dd4e30..f057554 100755 --- a/internal/controller/pod/securitypolicytemplate/zz_controller.go +++ b/internal/controller/pod/securitypolicytemplate/zz_controller.go @@ -21,37 +21,41 @@ package securitypolicytemplate import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/pod/v1alpha1" ) // Setup adds a controller that reconciles SecurityPolicyTemplate managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.SecurityPolicyTemplate_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.SecurityPolicyTemplate_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_pod_security_policy_template"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_pod_security_policy_template"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.SecurityPolicyTemplate{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/project/alertgroup/zz_controller.go b/internal/controller/project/alertgroup/zz_controller.go index f2a425e..2731047 100755 --- a/internal/controller/project/alertgroup/zz_controller.go +++ b/internal/controller/project/alertgroup/zz_controller.go @@ -21,37 +21,41 @@ package alertgroup import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/project/v1alpha1" ) // Setup adds a controller that reconciles AlertGroup managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertGroup_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.AlertGroup_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_project_alert_group"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_project_alert_group"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.AlertGroup{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/project/alertrule/zz_controller.go b/internal/controller/project/alertrule/zz_controller.go index c5b0744..f2ad240 100755 --- a/internal/controller/project/alertrule/zz_controller.go +++ b/internal/controller/project/alertrule/zz_controller.go @@ -21,37 +21,41 @@ package alertrule import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/project/v1alpha1" ) // Setup adds a controller that reconciles AlertRule managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.AlertRule_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.AlertRule_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_project_alert_rule"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_project_alert_rule"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.AlertRule{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/project/logging/zz_controller.go b/internal/controller/project/logging/zz_controller.go index bd58fe4..1a4b1c7 100755 --- a/internal/controller/project/logging/zz_controller.go +++ b/internal/controller/project/logging/zz_controller.go @@ -21,37 +21,41 @@ package logging import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/project/v1alpha1" ) // Setup adds a controller that reconciles Logging managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Logging_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Logging_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_project_logging"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_project_logging"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Logging{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/project/roletemplatebinding/zz_controller.go b/internal/controller/project/roletemplatebinding/zz_controller.go index f3abb1b..1098087 100755 --- a/internal/controller/project/roletemplatebinding/zz_controller.go +++ b/internal/controller/project/roletemplatebinding/zz_controller.go @@ -21,37 +21,41 @@ package roletemplatebinding import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/project/v1alpha1" ) // Setup adds a controller that reconciles RoleTemplateBinding managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.RoleTemplateBinding_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.RoleTemplateBinding_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_project_role_template_binding"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_project_role_template_binding"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.RoleTemplateBinding{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/providerconfig/config.go b/internal/controller/providerconfig/config.go index 4e7d5e9..dfca691 100644 --- a/internal/controller/providerconfig/config.go +++ b/internal/controller/providerconfig/config.go @@ -17,32 +17,22 @@ limitations under the License. package providerconfig import ( - "github.com/crossplane/terrajet/pkg/config" - "github.com/crossplane/terrajet/pkg/terraform" - "k8s.io/client-go/util/workqueue" ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/source" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" - "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/providerconfig" "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane-contrib/provider-jet-rancher/apis/v1alpha1" ) // Setup adds a controller that reconciles ProviderConfigs by accounting for // their current usage. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, _ terraform.SetupFn, _ *terraform.WorkspaceStore, _ *config.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o controller.Options) error { name := providerconfig.ControllerName(v1alpha1.ProviderConfigGroupKind) - o := controller.Options{ - RateLimiter: ratelimiter.NewController(rl), - MaxConcurrentReconciles: concurrency, - } - of := resource.ProviderConfigKinds{ Config: v1alpha1.ProviderConfigGroupVersionKind, UsageList: v1alpha1.ProviderConfigUsageListGroupVersionKind, @@ -50,10 +40,10 @@ func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, _ terra return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(o). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ProviderConfig{}). Watches(&source.Kind{Type: &v1alpha1.ProviderConfigUsage{}}, &resource.EnqueueRequestForProviderConfig{}). Complete(providerconfig.NewReconciler(mgr, of, - providerconfig.WithLogger(l.WithValues("controller", name)), + providerconfig.WithLogger(o.Logger.WithValues("controller", name)), providerconfig.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))))) } diff --git a/internal/controller/rancher2/app/zz_controller.go b/internal/controller/rancher2/app/zz_controller.go index 98b66a1..84818d6 100755 --- a/internal/controller/rancher2/app/zz_controller.go +++ b/internal/controller/rancher2/app/zz_controller.go @@ -21,37 +21,41 @@ package app import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles App managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.App_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.App_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_app"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_app"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.App{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/bootstrap/zz_controller.go b/internal/controller/rancher2/bootstrap/zz_controller.go index f5264ae..546a6a3 100755 --- a/internal/controller/rancher2/bootstrap/zz_controller.go +++ b/internal/controller/rancher2/bootstrap/zz_controller.go @@ -21,37 +21,41 @@ package bootstrap import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Bootstrap managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Bootstrap_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Bootstrap_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_bootstrap"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_bootstrap"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Bootstrap{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/catalog/zz_controller.go b/internal/controller/rancher2/catalog/zz_controller.go index 9400e56..36e9bc5 100755 --- a/internal/controller/rancher2/catalog/zz_controller.go +++ b/internal/controller/rancher2/catalog/zz_controller.go @@ -21,37 +21,41 @@ package catalog import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Catalog managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Catalog_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Catalog_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_catalog"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_catalog"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Catalog{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/certificate/zz_controller.go b/internal/controller/rancher2/certificate/zz_controller.go index a6f2f5d..533a0cf 100755 --- a/internal/controller/rancher2/certificate/zz_controller.go +++ b/internal/controller/rancher2/certificate/zz_controller.go @@ -21,37 +21,41 @@ package certificate import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Certificate managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_certificate"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_certificate"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Certificate{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/cluster/zz_controller.go b/internal/controller/rancher2/cluster/zz_controller.go index bc74343..6bda8a3 100755 --- a/internal/controller/rancher2/cluster/zz_controller.go +++ b/internal/controller/rancher2/cluster/zz_controller.go @@ -21,37 +21,41 @@ package cluster import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Cluster managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_cluster"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_cluster"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Cluster{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/feature/zz_controller.go b/internal/controller/rancher2/feature/zz_controller.go index e9904db..38dedab 100755 --- a/internal/controller/rancher2/feature/zz_controller.go +++ b/internal/controller/rancher2/feature/zz_controller.go @@ -21,37 +21,41 @@ package feature import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Feature managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Feature_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Feature_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_feature"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_feature"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Feature{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/namespace/zz_controller.go b/internal/controller/rancher2/namespace/zz_controller.go index d970f5d..7fcd172 100755 --- a/internal/controller/rancher2/namespace/zz_controller.go +++ b/internal/controller/rancher2/namespace/zz_controller.go @@ -21,37 +21,41 @@ package namespace import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Namespace managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Namespace_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Namespace_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_namespace"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_namespace"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Namespace{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/notifier/zz_controller.go b/internal/controller/rancher2/notifier/zz_controller.go index 7c7bb07..c7b5ddc 100755 --- a/internal/controller/rancher2/notifier/zz_controller.go +++ b/internal/controller/rancher2/notifier/zz_controller.go @@ -21,37 +21,41 @@ package notifier import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Notifier managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Notifier_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Notifier_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_notifier"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_notifier"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Notifier{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/project/zz_controller.go b/internal/controller/rancher2/project/zz_controller.go index 6780256..9dff0ea 100755 --- a/internal/controller/rancher2/project/zz_controller.go +++ b/internal/controller/rancher2/project/zz_controller.go @@ -21,37 +21,41 @@ package project import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Project managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Project_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Project_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_project"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_project"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Project{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/registry/zz_controller.go b/internal/controller/rancher2/registry/zz_controller.go index 851b89d..a9d48c2 100755 --- a/internal/controller/rancher2/registry/zz_controller.go +++ b/internal/controller/rancher2/registry/zz_controller.go @@ -21,37 +21,41 @@ package registry import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Registry managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Registry_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Registry_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_registry"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_registry"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Registry{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/setting/zz_controller.go b/internal/controller/rancher2/setting/zz_controller.go index 58a0560..860ba23 100755 --- a/internal/controller/rancher2/setting/zz_controller.go +++ b/internal/controller/rancher2/setting/zz_controller.go @@ -21,37 +21,41 @@ package setting import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Setting managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Setting_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Setting_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_setting"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_setting"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Setting{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/token/zz_controller.go b/internal/controller/rancher2/token/zz_controller.go index cb4163c..f8737b1 100755 --- a/internal/controller/rancher2/token/zz_controller.go +++ b/internal/controller/rancher2/token/zz_controller.go @@ -21,37 +21,41 @@ package token import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles Token managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Token_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Token_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_token"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_token"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Token{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rancher2/user/zz_controller.go b/internal/controller/rancher2/user/zz_controller.go index d331257..5be807a 100755 --- a/internal/controller/rancher2/user/zz_controller.go +++ b/internal/controller/rancher2/user/zz_controller.go @@ -21,37 +21,41 @@ package user import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/rancher2/v1alpha1" ) // Setup adds a controller that reconciles User managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.User_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.User_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_user"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_user"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.User{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/role/template/zz_controller.go b/internal/controller/role/template/zz_controller.go index 9842f17..693be67 100755 --- a/internal/controller/role/template/zz_controller.go +++ b/internal/controller/role/template/zz_controller.go @@ -21,37 +21,41 @@ package template import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/role/v1alpha1" ) // Setup adds a controller that reconciles Template managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.Template_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Template_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_role_template"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_role_template"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.Template{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/storage/classv2/zz_controller.go b/internal/controller/storage/classv2/zz_controller.go index 3523423..95075f0 100755 --- a/internal/controller/storage/classv2/zz_controller.go +++ b/internal/controller/storage/classv2/zz_controller.go @@ -21,37 +21,41 @@ package classv2 import ( "time" - "k8s.io/client-go/util/workqueue" - ctrl "sigs.k8s.io/controller-runtime" - + "github.com/crossplane/crossplane-runtime/pkg/connection" "github.com/crossplane/crossplane-runtime/pkg/event" - "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" - "sigs.k8s.io/controller-runtime/pkg/controller" - - tjconfig "github.com/crossplane/terrajet/pkg/config" tjcontroller "github.com/crossplane/terrajet/pkg/controller" "github.com/crossplane/terrajet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" v1alpha1 "github.com/crossplane-contrib/provider-jet-rancher/apis/storage/v1alpha1" ) // Setup adds a controller that reconciles ClassV2 managed resources. -func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { name := managed.ControllerName(v1alpha1.ClassV2_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ClassV2_GroupVersionKind), - managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["rancher2_storage_class_v2"])), - managed.WithLogger(l.WithValues("controller", name)), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["rancher2_storage_class_v2"])), + managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), - managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), ) return ctrl.NewControllerManagedBy(mgr). Named(name). - WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + WithOptions(o.ForControllerRuntime()). For(&v1alpha1.ClassV2{}). - Complete(r) + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index 06afc88..9e1aebc 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -17,13 +17,9 @@ limitations under the License. package controller import ( - zz_workqueue "k8s.io/client-go/util/workqueue" - zz_ctrl "sigs.k8s.io/controller-runtime" + ctrl "sigs.k8s.io/controller-runtime" - zz_xplogging "github.com/crossplane/crossplane-runtime/pkg/logging" - - zz_tjconfig "github.com/crossplane/terrajet/pkg/config" - zz_tjterraform "github.com/crossplane/terrajet/pkg/terraform" + "github.com/crossplane/terrajet/pkg/controller" v2 "github.com/crossplane-contrib/provider-jet-rancher/internal/controller/app/v2" configactivedirectory "github.com/crossplane-contrib/provider-jet-rancher/internal/controller/auth/configactivedirectory" @@ -81,8 +77,8 @@ import ( // Setup creates all controllers with the supplied logger and adds them to // the supplied manager. -func Setup(mgr zz_ctrl.Manager, l zz_xplogging.Logger, wl zz_workqueue.RateLimiter, ps zz_tjterraform.SetupFn, ws *zz_tjterraform.WorkspaceStore, cfg *zz_tjconfig.Provider, concurrency int) error { - for _, setup := range []func(zz_ctrl.Manager, zz_xplogging.Logger, zz_workqueue.RateLimiter, zz_tjterraform.SetupFn, *zz_tjterraform.WorkspaceStore, *zz_tjconfig.Provider, int) error{ +func Setup(mgr ctrl.Manager, o controller.Options) error { + for _, setup := range []func(ctrl.Manager, controller.Options) error{ v2.Setup, configactivedirectory.Setup, configadfs.Setup, @@ -136,7 +132,7 @@ func Setup(mgr zz_ctrl.Manager, l zz_xplogging.Logger, wl zz_workqueue.RateLimit templaterole.Setup, classv2.Setup, } { - if err := setup(mgr, l, wl, ps, ws, cfg, concurrency); err != nil { + if err := setup(mgr, o); err != nil { return err } } diff --git a/internal/features/features.go b/internal/features/features.go new file mode 100644 index 0000000..dd2d609 --- /dev/null +++ b/internal/features/features.go @@ -0,0 +1,24 @@ +/* + Copyright 2022 The Crossplane Authors. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package features + +import "github.com/crossplane/crossplane-runtime/pkg/feature" + +// Feature flags. +const ( + // EnableAlphaExternalSecretStores enables alpha support for + // External Secret Stores. See the below design for more details. + // https://github.com/crossplane/crossplane/blob/390ddd/design/design-doc-external-secret-stores.md + EnableAlphaExternalSecretStores feature.Flag = "EnableAlphaExternalSecretStores" +) diff --git a/package/crds/app.rancher.jet.crossplane.io_v2s.yaml b/package/crds/app.rancher.jet.crossplane.io_v2s.yaml index cacad62..c0af24b 100644 --- a/package/crds/app.rancher.jet.crossplane.io_v2s.yaml +++ b/package/crds/app.rancher.jet.crossplane.io_v2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: v2s.app.rancher.jet.crossplane.io spec: @@ -137,12 +138,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configactivedirectories.yaml b/package/crds/auth.rancher.jet.crossplane.io_configactivedirectories.yaml index b78f0bd..890f7d5 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configactivedirectories.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configactivedirectories.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configactivedirectories.auth.rancher.jet.crossplane.io spec: @@ -93,8 +94,7 @@ spec: - namespace type: object connectionTimeout: - format: int64 - type: integer + type: number defaultLoginDomain: type: string enabled: @@ -123,8 +123,7 @@ spec: nestedGroupMembershipEnabled: type: boolean port: - format: int64 - type: integer + type: number servers: items: type: string @@ -190,8 +189,7 @@ spec: tls: type: boolean userDisabledBitMask: - format: int64 - type: integer + type: number userEnabledAttribute: type: string userLoginAttribute: @@ -238,12 +236,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configadfs.yaml b/package/crds/auth.rancher.jet.crossplane.io_configadfs.yaml index 858e549..bab75cd 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configadfs.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configadfs.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configadfs.auth.rancher.jet.crossplane.io spec: @@ -178,12 +179,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configazureads.yaml b/package/crds/auth.rancher.jet.crossplane.io_configazureads.yaml index 6b2dcc0..cfe4529 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configazureads.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configazureads.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configazureads.auth.rancher.jet.crossplane.io spec: @@ -161,12 +162,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configfreeipas.yaml b/package/crds/auth.rancher.jet.crossplane.io_configfreeipas.yaml index 4d07268..67a3fc9 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configfreeipas.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configfreeipas.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configfreeipas.auth.rancher.jet.crossplane.io spec: @@ -92,8 +93,7 @@ spec: - namespace type: object connectionTimeout: - format: int64 - type: integer + type: number enabled: type: boolean groupDnAttribute: @@ -118,8 +118,7 @@ spec: nestedGroupMembershipEnabled: type: boolean port: - format: int64 - type: integer + type: number servers: items: type: string @@ -183,8 +182,7 @@ spec: tls: type: boolean userDisabledBitMask: - format: int64 - type: integer + type: number userEnabledAttribute: type: string userLoginAttribute: @@ -231,12 +229,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configgithubs.yaml b/package/crds/auth.rancher.jet.crossplane.io_configgithubs.yaml index ec4c8d1..0e2654f 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configgithubs.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configgithubs.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configgithubs.auth.rancher.jet.crossplane.io spec: @@ -148,12 +149,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configkeycloaks.yaml b/package/crds/auth.rancher.jet.crossplane.io_configkeycloaks.yaml index 3a01f03..a02d481 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configkeycloaks.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configkeycloaks.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configkeycloaks.auth.rancher.jet.crossplane.io spec: @@ -180,12 +181,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configokta.yaml b/package/crds/auth.rancher.jet.crossplane.io_configokta.yaml index 66ecd15..7afdf8c 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configokta.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configokta.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configokta.auth.rancher.jet.crossplane.io spec: @@ -178,12 +179,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configopenldaps.yaml b/package/crds/auth.rancher.jet.crossplane.io_configopenldaps.yaml index 3663b72..7803403 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configopenldaps.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configopenldaps.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configopenldaps.auth.rancher.jet.crossplane.io spec: @@ -92,8 +93,7 @@ spec: - namespace type: object connectionTimeout: - format: int64 - type: integer + type: number enabled: type: boolean groupDnAttribute: @@ -118,8 +118,7 @@ spec: nestedGroupMembershipEnabled: type: boolean port: - format: int64 - type: integer + type: number servers: items: type: string @@ -183,8 +182,7 @@ spec: tls: type: boolean userDisabledBitMask: - format: int64 - type: integer + type: number userEnabledAttribute: type: string userLoginAttribute: @@ -231,12 +229,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/auth.rancher.jet.crossplane.io_configpings.yaml b/package/crds/auth.rancher.jet.crossplane.io_configpings.yaml index f666490..548e4c1 100644 --- a/package/crds/auth.rancher.jet.crossplane.io_configpings.yaml +++ b/package/crds/auth.rancher.jet.crossplane.io_configpings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configpings.auth.rancher.jet.crossplane.io spec: @@ -178,12 +179,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/catalog.rancher.jet.crossplane.io_v2s.yaml b/package/crds/catalog.rancher.jet.crossplane.io_v2s.yaml index 4016843..19bc3d5 100644 --- a/package/crds/catalog.rancher.jet.crossplane.io_v2s.yaml +++ b/package/crds/catalog.rancher.jet.crossplane.io_v2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: v2s.catalog.rancher.jet.crossplane.io spec: @@ -135,12 +136,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cloud.rancher.jet.crossplane.io_credentials.yaml b/package/crds/cloud.rancher.jet.crossplane.io_credentials.yaml index b6883b5..85f1e04 100644 --- a/package/crds/cloud.rancher.jet.crossplane.io_credentials.yaml +++ b/package/crds/cloud.rancher.jet.crossplane.io_credentials.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: credentials.cloud.rancher.jet.crossplane.io spec: @@ -228,6 +229,38 @@ spec: - authEncodedJsonSecretRef type: object type: array + harvesterCredentialConfig: + items: + properties: + clusterId: + description: The cluster id of imported Harvester cluster + type: string + clusterType: + description: Harvester cluster type. must be imported or + external + type: string + kubeconfigContentSecretRef: + description: Harvester cluster kubeconfig content + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + required: + - clusterType + - kubeconfigContentSecretRef + type: object + type: array labels: additionalProperties: type: string @@ -415,12 +448,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_alertgroups.yaml b/package/crds/cluster.rancher.jet.crossplane.io_alertgroups.yaml index bd65c1b..fbccd01 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_alertgroups.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_alertgroups.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: alertgroups.cluster.rancher.jet.crossplane.io spec: @@ -75,12 +76,10 @@ spec: type: string groupIntervalSeconds: description: Alert group interval seconds - format: int64 - type: integer + type: number groupWaitSeconds: description: Alert group wait seconds - format: int64 - type: integer + type: number labels: additionalProperties: type: string @@ -105,8 +104,7 @@ spec: type: array repeatIntervalSeconds: description: Alert group repeat interval seconds - format: int64 - type: integer + type: number required: - clusterId type: object @@ -134,12 +132,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_alertrules.yaml b/package/crds/cluster.rancher.jet.crossplane.io_alertrules.yaml index d295eb2..e60a1a2 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_alertrules.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_alertrules.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: alertrules.cluster.rancher.jet.crossplane.io spec: @@ -89,12 +90,10 @@ spec: type: string groupIntervalSeconds: description: Alert rule interval seconds - format: int64 - type: integer + type: number groupWaitSeconds: description: Alert rule wait seconds - format: int64 - type: integer + type: number inherited: description: Alert rule inherited type: boolean @@ -137,12 +136,10 @@ spec: type: string cpuThreshold: description: Node rule cpu threshold - format: int64 - type: integer + type: number memThreshold: description: Node rule mem threshold - format: int64 - type: integer + type: number nodeId: description: Node ID type: string @@ -155,8 +152,7 @@ spec: type: array repeatIntervalSeconds: description: Alert rule repeat interval seconds - format: int64 - type: integer + type: number severity: description: Alert rule severity type: string @@ -197,12 +193,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_drivers.yaml b/package/crds/cluster.rancher.jet.crossplane.io_drivers.yaml index e382af8..feb2074 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_drivers.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_drivers.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: drivers.cluster.rancher.jet.crossplane.io spec: @@ -117,12 +118,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_loggings.yaml b/package/crds/cluster.rancher.jet.crossplane.io_loggings.yaml index 1fa7681..44b9a57 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_loggings.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_loggings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: loggings.cluster.rancher.jet.crossplane.io spec: @@ -349,8 +350,7 @@ spec: - namespace type: object weight: - format: int64 - type: integer + type: number required: - endpoint type: object @@ -438,8 +438,7 @@ spec: namespaceId: type: string outputFlushInterval: - format: int64 - type: integer + type: number outputTags: additionalProperties: type: string @@ -669,12 +668,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_roletemplatebindings.yaml b/package/crds/cluster.rancher.jet.crossplane.io_roletemplatebindings.yaml index e2cee15..d802a8c 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_roletemplatebindings.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_roletemplatebindings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: roletemplatebindings.cluster.rancher.jet.crossplane.io spec: @@ -113,12 +114,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_syncs.yaml b/package/crds/cluster.rancher.jet.crossplane.io_syncs.yaml index 49fc81d..c51327c 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_syncs.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_syncs.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: syncs.cluster.rancher.jet.crossplane.io spec: @@ -73,8 +74,7 @@ spec: stateConfirm: description: Wait until active status is confirmed a number of times (wait interval of 5s) - format: int64 - type: integer + type: number synced: type: boolean waitAlerting: @@ -113,12 +113,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. @@ -145,6 +197,10 @@ spec: nodes: items: properties: + annotations: + additionalProperties: + type: string + type: object capacity: additionalProperties: type: string @@ -159,6 +215,10 @@ spec: type: string ipAddress: type: string + labels: + additionalProperties: + type: string + type: object name: type: string nodePoolId: @@ -173,6 +233,8 @@ spec: items: type: string type: array + sshUser: + type: string systemInfo: additionalProperties: type: string diff --git a/package/crds/cluster.rancher.jet.crossplane.io_templates.yaml b/package/crds/cluster.rancher.jet.crossplane.io_templates.yaml index 0df283e..fc9e9aa 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_templates.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_templates.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: templates.cluster.rancher.jet.crossplane.io spec: @@ -147,8 +148,7 @@ spec: addonJobTimeout: description: Optional duration in seconds of addon job. - format: int64 - type: integer + type: number addons: description: Optional addons descripton to deploy on rke cluster. @@ -343,25 +343,19 @@ spec: cloudProviderBackoff: type: boolean cloudProviderBackoffDuration: - format: int64 - type: integer + type: number cloudProviderBackoffExponent: - format: int64 - type: integer + type: number cloudProviderBackoffJitter: - format: int64 - type: integer + type: number cloudProviderBackoffRetries: - format: int64 - type: integer + type: number cloudProviderRateLimit: type: boolean cloudProviderRateLimitBucket: - format: int64 - type: integer + type: number cloudProviderRateLimitQps: - format: int64 - type: integer + type: number loadBalancerSku: description: Load balancer type (basic | standard). Must be standard @@ -370,8 +364,7 @@ spec: location: type: string maximumLoadBalancerRuleCount: - format: int64 - type: integer + type: number primaryAvailabilitySetName: type: string primaryScaleSetName: @@ -606,8 +599,7 @@ spec: monitorDelay: type: string monitorMaxRetries: - format: int64 - type: integer + type: number monitorTimeout: type: string subnetId: @@ -620,8 +612,7 @@ spec: items: properties: requestTimeout: - format: int64 - type: integer + type: number searchOrder: type: string type: object @@ -679,8 +670,7 @@ spec: port: type: string soapRoundtripCount: - format: int64 - type: integer + type: number userSecretRef: description: A SecretKeySelector is a reference to a secret @@ -744,8 +734,7 @@ spec: port: type: string soapRoundtripCount: - format: int64 - type: integer + type: number userSecretRef: description: A SecretKeySelector is a reference to a secret @@ -811,11 +800,9 @@ spec: coresPerReplica: type: number max: - format: int64 - type: integer + type: number min: - format: int64 - type: integer + type: number nodesPerReplica: type: number preventSinglePointFailure: @@ -860,8 +847,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -880,13 +866,11 @@ spec: maxSurge: description: Rolling update max surge - format: int64 - type: integer + type: number maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -920,11 +904,9 @@ spec: type: string type: object httpPort: - format: int64 - type: integer + type: number httpsPort: - format: int64 - type: integer + type: number networkMode: type: string nodeSelector: @@ -948,8 +930,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -968,8 +949,7 @@ spec: maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -998,8 +978,7 @@ spec: provider: type: string replicas: - format: int64 - type: integer + type: number tolerations: description: Monitoring add-on tolerations items: @@ -1011,8 +990,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -1031,13 +1009,11 @@ spec: maxSurge: description: Rolling update max surge - format: int64 - type: integer + type: number maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -1073,8 +1049,7 @@ spec: type: object type: array mtu: - format: int64 - type: integer + type: number options: additionalProperties: type: string @@ -1092,8 +1067,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -1299,11 +1273,9 @@ spec: enabled: type: boolean intervalHours: - format: int64 - type: integer + type: number retention: - format: int64 - type: integer + type: number s3BackupConfig: items: properties: @@ -1371,8 +1343,7 @@ spec: safeTimestamp: type: boolean timeout: - format: int64 - type: integer + type: number type: object type: array caCert: @@ -1416,8 +1387,7 @@ spec: type: string type: array gid: - format: int64 - type: integer + type: number image: type: string keySecretRef: @@ -1447,8 +1417,7 @@ spec: snapshot: type: boolean uid: - format: int64 - type: integer + type: number type: object type: array kubeApi: @@ -1469,14 +1438,11 @@ spec: format: type: string maxAge: - format: int64 - type: integer + type: number maxBackup: - format: int64 - type: integer + type: number maxSize: - format: int64 - type: integer + type: number path: type: string policy: @@ -1644,13 +1610,11 @@ spec: force: type: boolean gracePeriod: - format: int64 - type: integer + type: number ignoreDaemonSets: type: boolean timeout: - format: int64 - type: integer + type: number type: object type: array maxUnavailableControlplane: @@ -1710,8 +1674,7 @@ spec: type: string retention: description: Cluster scan retention - format: int64 - type: integer + type: number required: - cronSchedule type: object @@ -1793,12 +1756,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/cluster.rancher.jet.crossplane.io_v2s.yaml b/package/crds/cluster.rancher.jet.crossplane.io_v2s.yaml index ef89b3a..3802d88 100644 --- a/package/crds/cluster.rancher.jet.crossplane.io_v2s.yaml +++ b/package/crds/cluster.rancher.jet.crossplane.io_v2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: v2s.cluster.rancher.jet.crossplane.io spec: @@ -165,14 +166,43 @@ spec: type: array snapshotRetention: description: ETCD snapshot retention - format: int64 - type: integer + type: number snapshotScheduleCron: description: ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) type: string type: object type: array + etcdSnapshotCreate: + description: Cluster V2 etcd snapshot create + items: + properties: + generation: + description: ETCD generation to initiate a snapshot + type: number + required: + - generation + type: object + type: array + etcdSnapshotRestore: + description: Cluster V2 etcd snapshot restore + items: + properties: + generation: + description: ETCD snapshot desired generation + type: number + name: + description: ETCD snapshot name to restore + type: string + restoreRkeConfig: + description: ETCD restore RKE config (set to none, + all, or kubernetesVersion) + type: string + required: + - generation + - name + type: object + type: array localAuthEndpoint: description: Cluster V2 local auth endpoint items: @@ -204,6 +234,9 @@ spec: controlPlaneRole: description: Machine pool control plane role type: boolean + drainBeforeDelete: + description: Machine pool drain before delete + type: boolean etcdRole: description: Machine pool etcd role type: boolean @@ -227,16 +260,27 @@ spec: - name type: object type: array + maxUnhealthy: + description: max unhealthy nodes for automated replacement + to be allowed + type: string name: description: Machine pool name type: string + nodeDrainTimeout: + description: seconds to wait for machine pool drain + to complete before machine deletion + type: number + nodeStartupTimeoutSeconds: + description: seconds a new node has to become active + before it is replaced + type: number paused: description: Machine pool paused type: boolean quantity: description: Machine pool quantity - format: int64 - type: integer + type: number rollingUpdate: description: Machine pool rolling update items: @@ -264,6 +308,14 @@ spec: - value type: object type: array + unhealthyNodeTimeoutSeconds: + description: seconds an unhealthy node has to become + active before it is replaced + type: number + unhealthyRange: + description: range of unhealthy nodes for automated + replacement to be allowed + type: string workerRole: description: Machine pool worker role type: boolean @@ -365,6 +417,23 @@ spec: type: array type: object type: array + rotateCertificates: + description: Cluster V2 certificate rotation + items: + properties: + generation: + description: Desired certificate rotation generation. + type: number + services: + description: Service certificates to rotate with this + generation. + items: + type: string + type: array + required: + - generation + type: object + type: array upgradeStrategy: description: Cluster V2 upgrade strategy items: @@ -393,8 +462,7 @@ spec: type: boolean gracePeriod: description: Drain options grace period - format: int64 - type: integer + type: number ignoreDaemonSets: description: Drain options ignore daemon sets type: boolean @@ -404,12 +472,10 @@ spec: skipWaitForDeleteTimeoutSeconds: description: Drain options skip wait for delete timeout seconds - format: int64 - type: integer + type: number timeout: description: Drain options timeout - format: int64 - type: integer + type: number type: object type: array workerConcurrency: @@ -435,8 +501,7 @@ spec: type: boolean gracePeriod: description: Drain options grace period - format: int64 - type: integer + type: number ignoreDaemonSets: description: Drain options ignore daemon sets type: boolean @@ -446,12 +511,10 @@ spec: skipWaitForDeleteTimeoutSeconds: description: Drain options skip wait for delete timeout seconds - format: int64 - type: integer + type: number timeout: description: Drain options timeout - format: int64 - type: integer + type: number type: object type: array type: object @@ -485,12 +548,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/config.rancher.jet.crossplane.io_mapv2s.yaml b/package/crds/config.rancher.jet.crossplane.io_mapv2s.yaml index e7da394..8d01cab 100644 --- a/package/crds/config.rancher.jet.crossplane.io_mapv2s.yaml +++ b/package/crds/config.rancher.jet.crossplane.io_mapv2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: mapv2s.config.rancher.jet.crossplane.io spec: @@ -115,12 +116,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/etcd.rancher.jet.crossplane.io_backups.yaml b/package/crds/etcd.rancher.jet.crossplane.io_backups.yaml index 0c741a3..2b0d6ea 100644 --- a/package/crds/etcd.rancher.jet.crossplane.io_backups.yaml +++ b/package/crds/etcd.rancher.jet.crossplane.io_backups.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: backups.etcd.rancher.jet.crossplane.io spec: @@ -73,11 +74,9 @@ spec: enabled: type: boolean intervalHours: - format: int64 - type: integer + type: number retention: - format: int64 - type: integer + type: number s3BackupConfig: items: properties: @@ -135,8 +134,7 @@ spec: safeTimestamp: type: boolean timeout: - format: int64 - type: integer + type: number type: object type: array clusterId: @@ -179,12 +177,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/global.rancher.jet.crossplane.io_dns.yaml b/package/crds/global.rancher.jet.crossplane.io_dns.yaml index 6493a24..664433b 100644 --- a/package/crds/global.rancher.jet.crossplane.io_dns.yaml +++ b/package/crds/global.rancher.jet.crossplane.io_dns.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: dns.global.rancher.jet.crossplane.io spec: @@ -83,8 +84,7 @@ spec: providerId: type: string ttl: - format: int64 - type: integer + type: number required: - fqdn - providerId @@ -113,12 +113,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/global.rancher.jet.crossplane.io_dnsproviders.yaml b/package/crds/global.rancher.jet.crossplane.io_dnsproviders.yaml index 36b3107..bc13cf9 100644 --- a/package/crds/global.rancher.jet.crossplane.io_dnsproviders.yaml +++ b/package/crds/global.rancher.jet.crossplane.io_dnsproviders.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: dnsproviders.global.rancher.jet.crossplane.io spec: @@ -147,12 +148,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/global.rancher.jet.crossplane.io_rolebindings.yaml b/package/crds/global.rancher.jet.crossplane.io_rolebindings.yaml index 4c567a1..42eb497 100644 --- a/package/crds/global.rancher.jet.crossplane.io_rolebindings.yaml +++ b/package/crds/global.rancher.jet.crossplane.io_rolebindings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: rolebindings.global.rancher.jet.crossplane.io spec: @@ -105,12 +106,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/global.rancher.jet.crossplane.io_roles.yaml b/package/crds/global.rancher.jet.crossplane.io_roles.yaml index 9f70c52..3f6f213 100644 --- a/package/crds/global.rancher.jet.crossplane.io_roles.yaml +++ b/package/crds/global.rancher.jet.crossplane.io_roles.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: roles.global.rancher.jet.crossplane.io spec: @@ -134,12 +135,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/machine.rancher.jet.crossplane.io_configv2s.yaml b/package/crds/machine.rancher.jet.crossplane.io_configv2s.yaml index f2074b0..925dc14 100644 --- a/package/crds/machine.rancher.jet.crossplane.io_configv2s.yaml +++ b/package/crds/machine.rancher.jet.crossplane.io_configv2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: configv2s.machine.rancher.jet.crossplane.io spec: @@ -509,6 +510,67 @@ spec: machine config name. e.g generate_name="prod-pool1" will generate "nc-prod-pool1-?????" names type: string + harvesterConfig: + items: + properties: + cpuCount: + description: CPU count + type: string + diskBus: + description: Disk bus + type: string + diskSize: + description: Disk size (in GiB) + type: string + imageName: + description: Image name + type: string + memorySize: + description: Memory size (in GiB) + type: string + networkData: + description: NetworkData content of cloud-init, base64 is + supported + type: string + networkModel: + description: Network model + type: string + networkName: + description: Network name + type: string + sshPasswordSecretRef: + description: SSH password + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + sshUser: + description: SSH username + type: string + userData: + description: UserData content of cloud-init, base64 is supported + type: string + vmNamespace: + description: Virtual machine namespace + type: string + required: + - imageName + - networkName + - sshUser + - vmNamespace + type: object + type: array labels: additionalProperties: type: string @@ -927,12 +989,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/multi.rancher.jet.crossplane.io_clusterapps.yaml b/package/crds/multi.rancher.jet.crossplane.io_clusterapps.yaml index 91ba6c9..eb6766f 100644 --- a/package/crds/multi.rancher.jet.crossplane.io_clusterapps.yaml +++ b/package/crds/multi.rancher.jet.crossplane.io_clusterapps.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: clusterapps.multi.rancher.jet.crossplane.io spec: @@ -109,8 +110,7 @@ spec: type: array revisionHistoryLimit: description: Multi cluster app revision history limit - format: int64 - type: integer + type: number revisionId: description: Multi cluster app revision name type: string @@ -146,12 +146,10 @@ spec: properties: batchSize: description: Rolling update batch size - format: int64 - type: integer + type: number interval: description: Rolling update interval - format: int64 - type: integer + type: number type: object type: array type: object @@ -189,12 +187,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/node.rancher.jet.crossplane.io_drivers.yaml b/package/crds/node.rancher.jet.crossplane.io_drivers.yaml index f3b2dbb..ed25e71 100644 --- a/package/crds/node.rancher.jet.crossplane.io_drivers.yaml +++ b/package/crds/node.rancher.jet.crossplane.io_drivers.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: drivers.node.rancher.jet.crossplane.io spec: @@ -119,12 +120,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/node.rancher.jet.crossplane.io_pools.yaml b/package/crds/node.rancher.jet.crossplane.io_pools.yaml index b21292e..45763a6 100644 --- a/package/crds/node.rancher.jet.crossplane.io_pools.yaml +++ b/package/crds/node.rancher.jet.crossplane.io_pools.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: pools.node.rancher.jet.crossplane.io spec: @@ -72,8 +73,7 @@ spec: controlPlane: type: boolean deleteNotReadyAfterSecs: - format: int64 - type: integer + type: number drainBeforeDelete: type: boolean etcd: @@ -104,8 +104,7 @@ spec: nodeTemplateId: type: string quantity: - format: int64 - type: integer + type: number worker: type: boolean required: @@ -137,12 +136,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/node.rancher.jet.crossplane.io_templates.yaml b/package/crds/node.rancher.jet.crossplane.io_templates.yaml index 4f6f631..8a7dc82 100644 --- a/package/crds/node.rancher.jet.crossplane.io_templates.yaml +++ b/package/crds/node.rancher.jet.crossplane.io_templates.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: templates.node.rancher.jet.crossplane.io spec: @@ -519,6 +520,67 @@ spec: type: array engineStorageDriver: type: string + harvesterConfig: + items: + properties: + cpuCount: + description: CPU count + type: string + diskBus: + description: Disk bus + type: string + diskSize: + description: Disk size (in GiB) + type: string + imageName: + description: Image name + type: string + memorySize: + description: Memory size (in GiB) + type: string + networkData: + description: NetworkData content of cloud-init, base64 is + supported + type: string + networkModel: + description: Network model + type: string + networkName: + description: Network name + type: string + sshPasswordSecretRef: + description: SSH password + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + sshUser: + description: SSH username + type: string + userData: + description: UserData content of cloud-init, base64 is supported + type: string + vmNamespace: + description: Virtual machine namespace + type: string + required: + - imageName + - networkName + - sshUser + - vmNamespace + type: object + type: array hetznerConfig: items: properties: @@ -547,6 +609,12 @@ spec: which should be attached to the server private network interface type: string + serverLabels: + additionalProperties: + type: string + description: Map of the labels which will be assigned to + the server + type: object serverLocation: description: Hetzner Cloud datacenter type: string @@ -1056,12 +1124,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/pod.rancher.jet.crossplane.io_securitypolicytemplates.yaml b/package/crds/pod.rancher.jet.crossplane.io_securitypolicytemplates.yaml index cdd047c..7e069e7 100644 --- a/package/crds/pod.rancher.jet.crossplane.io_securitypolicytemplates.yaml +++ b/package/crds/pod.rancher.jet.crossplane.io_securitypolicytemplates.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: securitypolicytemplates.pod.rancher.jet.crossplane.io spec: @@ -188,12 +189,10 @@ spec: properties: max: description: max is the end of the range, inclusive. - format: int64 - type: integer + type: number min: description: min is the start of the range, inclusive. - format: int64 - type: integer + type: number required: - max - min @@ -224,12 +223,10 @@ spec: properties: max: description: max is the end of the range, inclusive. - format: int64 - type: integer + type: number min: description: min is the start of the range, inclusive. - format: int64 - type: integer + type: number required: - max - min @@ -275,12 +272,10 @@ spec: properties: max: description: max is the end of the range, inclusive. - format: int64 - type: integer + type: number min: description: min is the start of the range, inclusive. - format: int64 - type: integer + type: number required: - max - min @@ -308,12 +303,10 @@ spec: properties: max: description: max is the end of the range, inclusive. - format: int64 - type: integer + type: number min: description: min is the start of the range, inclusive. - format: int64 - type: integer + type: number required: - max - min @@ -404,12 +397,10 @@ spec: properties: max: description: max is the end of the range, inclusive. - format: int64 - type: integer + type: number min: description: min is the start of the range, inclusive. - format: int64 - type: integer + type: number required: - max - min @@ -453,12 +444,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/project.rancher.jet.crossplane.io_alertgroups.yaml b/package/crds/project.rancher.jet.crossplane.io_alertgroups.yaml index d597df4..8774c36 100644 --- a/package/crds/project.rancher.jet.crossplane.io_alertgroups.yaml +++ b/package/crds/project.rancher.jet.crossplane.io_alertgroups.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: alertgroups.project.rancher.jet.crossplane.io spec: @@ -72,12 +73,10 @@ spec: type: string groupIntervalSeconds: description: Alert group interval seconds - format: int64 - type: integer + type: number groupWaitSeconds: description: Alert group wait seconds - format: int64 - type: integer + type: number labels: additionalProperties: type: string @@ -105,8 +104,7 @@ spec: type: array repeatIntervalSeconds: description: Alert group repeat interval seconds - format: int64 - type: integer + type: number required: - projectId type: object @@ -134,12 +132,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/project.rancher.jet.crossplane.io_alertrules.yaml b/package/crds/project.rancher.jet.crossplane.io_alertrules.yaml index 7aa4a54..770d95a 100644 --- a/package/crds/project.rancher.jet.crossplane.io_alertrules.yaml +++ b/package/crds/project.rancher.jet.crossplane.io_alertrules.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: alertrules.project.rancher.jet.crossplane.io spec: @@ -72,12 +73,10 @@ spec: type: string groupIntervalSeconds: description: Alert rule interval seconds - format: int64 - type: integer + type: number groupWaitSeconds: description: Alert rule wait seconds - format: int64 - type: integer + type: number inherited: description: Alert rule inherited type: boolean @@ -123,12 +122,10 @@ spec: type: string restartIntervalSeconds: description: Pod rule restart interval seconds - format: int64 - type: integer + type: number restartTimes: description: Pod rule restart times - format: int64 - type: integer + type: number required: - podId type: object @@ -138,8 +135,7 @@ spec: type: string repeatIntervalSeconds: description: Alert rule repeat interval seconds - format: int64 - type: integer + type: number severity: description: Alert rule severity type: string @@ -149,8 +145,7 @@ spec: properties: availablePercentage: description: Workload rule available percentage - format: int64 - type: integer + type: number selector: additionalProperties: type: string @@ -189,12 +184,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/project.rancher.jet.crossplane.io_loggings.yaml b/package/crds/project.rancher.jet.crossplane.io_loggings.yaml index 113231f..95bf7bb 100644 --- a/package/crds/project.rancher.jet.crossplane.io_loggings.yaml +++ b/package/crds/project.rancher.jet.crossplane.io_loggings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: loggings.project.rancher.jet.crossplane.io spec: @@ -347,8 +348,7 @@ spec: - namespace type: object weight: - format: int64 - type: integer + type: number required: - endpoint type: object @@ -436,8 +436,7 @@ spec: namespaceId: type: string outputFlushInterval: - format: int64 - type: integer + type: number outputTags: additionalProperties: type: string @@ -669,12 +668,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/project.rancher.jet.crossplane.io_roletemplatebindings.yaml b/package/crds/project.rancher.jet.crossplane.io_roletemplatebindings.yaml index c03fa13..a7e5f69 100644 --- a/package/crds/project.rancher.jet.crossplane.io_roletemplatebindings.yaml +++ b/package/crds/project.rancher.jet.crossplane.io_roletemplatebindings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: roletemplatebindings.project.rancher.jet.crossplane.io spec: @@ -113,12 +114,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher.jet.crossplane.io_providerconfigs.yaml b/package/crds/rancher.jet.crossplane.io_providerconfigs.yaml index adf3a35..76f4298 100644 --- a/package/crds/rancher.jet.crossplane.io_providerconfigs.yaml +++ b/package/crds/rancher.jet.crossplane.io_providerconfigs.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: providerconfigs.rancher.jet.crossplane.io spec: diff --git a/package/crds/rancher.jet.crossplane.io_providerconfigusages.yaml b/package/crds/rancher.jet.crossplane.io_providerconfigusages.yaml index f4be0ad..8fc2bcd 100644 --- a/package/crds/rancher.jet.crossplane.io_providerconfigusages.yaml +++ b/package/crds/rancher.jet.crossplane.io_providerconfigusages.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: providerconfigusages.rancher.jet.crossplane.io spec: diff --git a/package/crds/rancher.jet.crossplane.io_storeconfigs.yaml b/package/crds/rancher.jet.crossplane.io_storeconfigs.yaml new file mode 100644 index 0000000..31eccfc --- /dev/null +++ b/package/crds/rancher.jet.crossplane.io_storeconfigs.yaml @@ -0,0 +1,318 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: storeconfigs.rancher.jet.crossplane.io +spec: + group: rancher.jet.crossplane.io + names: + categories: + - crossplane + - store + - gcp + kind: StoreConfig + listKind: StoreConfigList + plural: storeconfigs + singular: storeconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.type + name: TYPE + type: string + - jsonPath: .spec.defaultScope + name: DEFAULT-SCOPE + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: A StoreConfig configures how GCP controller should store connection + details. + 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: + description: A StoreConfigSpec defines the desired state of a ProviderConfig. + properties: + defaultScope: + description: DefaultScope used for scoping secrets for "cluster-scoped" + resources. If store type is "Kubernetes", this would mean the default + namespace to store connection secrets for cluster scoped resources. + In case of "Vault", this would be used as the default parent path. + Typically, should be set as Crossplane installation namespace. + type: string + kubernetes: + description: Kubernetes configures a Kubernetes secret store. If the + "type" is "Kubernetes" but no config provided, in cluster config + will be used. + properties: + auth: + description: Credentials used to connect to the Kubernetes API. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - auth + type: object + type: + default: Kubernetes + description: Type configures which secret store to be used. Only the + configuration block for this store will be used and others will + be ignored if provided. Default is Kubernetes. + type: string + vault: + description: Vault configures a Vault secret store. + properties: + auth: + description: Auth configures an authentication method for Vault. + properties: + method: + description: Method configures which auth method will be used. + type: string + token: + description: Token configures Token Auth for Vault. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect + to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location + that contains credentials that must be used to connect + to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key + that contains the credentials that must be used to connect + to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - method + type: object + caBundle: + description: CABundle configures CA bundle for Vault Server. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + mountPath: + description: MountPath is the mount path of the KV secrets engine. + type: string + server: + description: Server is the url of the Vault server, e.g. "https://vault.acme.org" + type: string + version: + default: v2 + description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv + type: string + required: + - auth + - mountPath + - server + type: object + required: + - defaultScope + type: object + status: + description: A StoreConfigStatus represents the status of a StoreConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_apps.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_apps.yaml index 490c254..57b1d58 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_apps.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_apps.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: apps.rancher2.rancher.jet.crossplane.io spec: @@ -136,12 +137,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_bootstraps.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_bootstraps.yaml index 793a265..5b54baf 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_bootstraps.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_bootstraps.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: bootstraps.rancher2.rancher.jet.crossplane.io spec: @@ -101,8 +102,7 @@ spec: telemetry: type: boolean tokenTtl: - format: int64 - type: integer + type: number tokenUpdate: type: boolean uiDefaultLanding: @@ -132,12 +132,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_catalogs.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_catalogs.yaml index d576f0f..647c07c 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_catalogs.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_catalogs.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: catalogs.rancher2.rancher.jet.crossplane.io spec: @@ -153,12 +154,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_certificates.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_certificates.yaml index 412b578..25f4fd9 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_certificates.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_certificates.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: certificates.rancher2.rancher.jet.crossplane.io spec: @@ -130,12 +131,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_clusters.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_clusters.yaml index 775efbe..254170d 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_clusters.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_clusters.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: clusters.rancher2.rancher.jet.crossplane.io spec: @@ -164,8 +165,7 @@ spec: every machine in the agent pool. If you specify 0, it will apply the default according to the "agent vm size" specified - format: int64 - type: integer + type: number agentPoolName: description: Name for the agent pool, upto 12 alphanumeric characters @@ -222,8 +222,7 @@ spec: count: description: Number of machines (VMs) in the agent pool. Allowed values must be in the range of 1 to 100 (inclusive) - format: int64 - type: integer + type: number dnsServiceIp: description: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes Service address @@ -271,8 +270,7 @@ spec: type: string maxPods: description: Maximum number of pods that can run on a node - format: int64 - type: integer + type: number networkPlugin: description: Network plugin used for building Kubernetes network. Chooses from [azure kubenet] @@ -422,23 +420,19 @@ spec: type: array count: description: The AKS node pool count - format: int64 - type: integer + type: number enableAutoScaling: description: Is AKS node pool auto scaling enabled? type: boolean maxCount: description: The AKS node pool max count - format: int64 - type: integer + type: number maxPods: description: The AKS node pool max pods - format: int64 - type: integer + type: number minCount: description: The AKS node pool min count - format: int64 - type: integer + type: number mode: description: The AKS node pool mode type: string @@ -450,8 +444,7 @@ spec: type: string osDiskSizeGb: description: The AKS node pool os disk size gb - format: int64 - type: integer + type: number osDiskType: description: The AKS node pool os disk type type: string @@ -610,8 +603,7 @@ spec: type: boolean desiredNodes: description: The desired number of worker nodes - format: int64 - type: integer + type: number ebsEncryption: description: Enables EBS encryption of worker nodes type: boolean @@ -626,16 +618,13 @@ spec: type: string maximumNodes: description: The maximum number of worker nodes - format: int64 - type: integer + type: number minimumNodes: description: The minimum number of worker nodes - format: int64 - type: integer + type: number nodeVolumeSize: description: The volume size for each node - format: int64 - type: integer + type: number region: description: The AWS Region to create the EKS cluster in type: string @@ -731,12 +720,10 @@ spec: properties: desiredSize: description: The EKS node group desired size - format: int64 - type: integer + type: number diskSize: description: The EKS node group disk size - format: int64 - type: integer + type: number ec2SshKey: description: The EKS node group ssh key type: string @@ -769,20 +756,17 @@ spec: version: description: The EKS node group launch template version - format: int64 - type: integer + type: number required: - id type: object type: array maxSize: description: The EKS node group maximum size - format: int64 - type: integer + type: number minSize: description: The EKS node group minimum size - format: int64 - type: integer + type: number name: description: The EKS node group name type: string @@ -894,8 +878,7 @@ spec: type: string diskSizeGb: description: Size of the disk attached to each node - format: int64 - type: integer + type: number diskType: description: Type of the disk attached to each node type: string @@ -990,8 +973,7 @@ spec: localSsdCount: description: The number of local SSD disks to be attached to the node - format: int64 - type: integer + type: number locations: description: Locations to use for the cluster items: @@ -1021,20 +1003,17 @@ spec: description: Maximum number of nodes in the NodePool. Must be >= minNodeCount. There has to enough quota to scale up the cluster - format: int64 - type: integer + type: number minNodeCount: description: Minimmum number of nodes in the NodePool. Must be >= 1 and <= maxNodeCount - format: int64 - type: integer + type: number network: description: The network to use for the cluster type: string nodeCount: description: The number of nodes to create in this cluster - format: int64 - type: integer + type: number nodePool: description: The ID of the cluster node pool type: string @@ -1267,13 +1246,11 @@ spec: maxNodeCount: description: The GKE node pool config max node count - format: int64 - type: integer + type: number minNodeCount: description: The GKE node pool config min node count - format: int64 - type: integer + type: number type: object type: array config: @@ -1282,8 +1259,7 @@ spec: properties: diskSizeGb: description: The GKE node config disk size (Gb) - format: int64 - type: integer + type: number diskType: description: The GKE node config disk type type: string @@ -1297,8 +1273,7 @@ spec: type: object localSsdCount: description: The GKE node config local ssd count - format: int64 - type: integer + type: number machineType: description: The GKE node config machine type type: string @@ -1336,8 +1311,7 @@ spec: initialNodeCount: description: The GKE node pool config initial node count - format: int64 - type: integer + type: number management: description: The GKE node pool config management items: @@ -1354,8 +1328,7 @@ spec: type: array maxPodsConstraint: description: The GKE node pool config max pods constraint - format: int64 - type: integer + type: number name: description: The GKE node pool config name type: string @@ -1421,12 +1394,10 @@ spec: type: boolean serverConcurrency: description: Server concurrency - format: int64 - type: integer + type: number workerConcurrency: description: Worker concurrency - format: int64 - type: integer + type: number type: object type: array version: @@ -1449,8 +1420,7 @@ spec: customBootVolumeSize: description: An optional custom boot volume size (in GB) for the nodes - format: int64 - type: integer + type: number description: description: An optional description of this cluster type: string @@ -1472,8 +1442,7 @@ spec: flexOcpus: description: Optional number of OCPUs for nodes (requires flexible node_shape) - format: int64 - type: integer + type: number kmsKeyIdSecretRef: description: Optional specify the OCID of the KMS Vault master key @@ -1499,8 +1468,7 @@ spec: limitNodeCount: description: Optional limit on the total number of nodes in the pool - format: int64 - type: integer + type: number loadBalancerSubnetName1: description: The name of the first existing subnet to use for Kubernetes services / LB @@ -1569,13 +1537,11 @@ spec: quantityOfNodeSubnets: description: Number of node subnets (defaults to creating 1 regional subnet) - format: int64 - type: integer + type: number quantityPerSubnet: description: Number of worker nodes in each subnet / availability domain - format: int64 - type: integer + type: number region: description: The availability domain within the region to host the OKE cluster @@ -1638,12 +1604,10 @@ spec: type: boolean serverConcurrency: description: Server concurrency - format: int64 - type: integer + type: number workerConcurrency: description: Worker concurrency - format: int64 - type: integer + type: number type: object type: array version: @@ -1656,8 +1620,7 @@ spec: properties: addonJobTimeout: description: Optional duration in seconds of addon job. - format: int64 - type: integer + type: number addons: description: Optional addons descripton to deploy on rke cluster. @@ -1845,25 +1808,19 @@ spec: cloudProviderBackoff: type: boolean cloudProviderBackoffDuration: - format: int64 - type: integer + type: number cloudProviderBackoffExponent: - format: int64 - type: integer + type: number cloudProviderBackoffJitter: - format: int64 - type: integer + type: number cloudProviderBackoffRetries: - format: int64 - type: integer + type: number cloudProviderRateLimit: type: boolean cloudProviderRateLimitBucket: - format: int64 - type: integer + type: number cloudProviderRateLimitQps: - format: int64 - type: integer + type: number loadBalancerSku: description: Load balancer type (basic | standard). Must be standard for auto-scaling @@ -1871,8 +1828,7 @@ spec: location: type: string maximumLoadBalancerRuleCount: - format: int64 - type: integer + type: number primaryAvailabilitySetName: type: string primaryScaleSetName: @@ -2088,8 +2044,7 @@ spec: monitorDelay: type: string monitorMaxRetries: - format: int64 - type: integer + type: number monitorTimeout: type: string subnetId: @@ -2102,8 +2057,7 @@ spec: items: properties: requestTimeout: - format: int64 - type: integer + type: number searchOrder: type: string type: object @@ -2158,8 +2112,7 @@ spec: port: type: string soapRoundtripCount: - format: int64 - type: integer + type: number userSecretRef: description: A SecretKeySelector is a reference to a secret key in an arbitrary @@ -2217,8 +2170,7 @@ spec: port: type: string soapRoundtripCount: - format: int64 - type: integer + type: number userSecretRef: description: A SecretKeySelector is a reference to a secret key in an arbitrary @@ -2281,11 +2233,9 @@ spec: coresPerReplica: type: number max: - format: int64 - type: integer + type: number min: - format: int64 - type: integer + type: number nodesPerReplica: type: number preventSinglePointFailure: @@ -2330,8 +2280,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -2348,12 +2297,10 @@ spec: properties: maxSurge: description: Rolling update max surge - format: int64 - type: integer + type: number maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -2386,11 +2333,9 @@ spec: type: string type: object httpPort: - format: int64 - type: integer + type: number httpsPort: - format: int64 - type: integer + type: number networkMode: type: string nodeSelector: @@ -2414,8 +2359,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -2432,8 +2376,7 @@ spec: properties: maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -2461,8 +2404,7 @@ spec: provider: type: string replicas: - format: int64 - type: integer + type: number tolerations: description: Monitoring add-on tolerations items: @@ -2474,8 +2416,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -2492,12 +2433,10 @@ spec: properties: maxSurge: description: Rolling update max surge - format: int64 - type: integer + type: number maxUnavailable: description: Rolling update max unavailable - format: int64 - type: integer + type: number type: object type: array strategy: @@ -2533,8 +2472,7 @@ spec: type: object type: array mtu: - format: int64 - type: integer + type: number options: additionalProperties: type: string @@ -2552,8 +2490,7 @@ spec: operator: type: string seconds: - format: int64 - type: integer + type: number value: type: string required: @@ -2749,11 +2686,9 @@ spec: enabled: type: boolean intervalHours: - format: int64 - type: integer + type: number retention: - format: int64 - type: integer + type: number s3BackupConfig: items: properties: @@ -2815,8 +2750,7 @@ spec: safeTimestamp: type: boolean timeout: - format: int64 - type: integer + type: number type: object type: array caCert: @@ -2858,8 +2792,7 @@ spec: type: string type: array gid: - format: int64 - type: integer + type: number image: type: string keySecretRef: @@ -2887,8 +2820,7 @@ spec: snapshot: type: boolean uid: - format: int64 - type: integer + type: number type: object type: array kubeApi: @@ -2909,14 +2841,11 @@ spec: format: type: string maxAge: - format: int64 - type: integer + type: number maxBackup: - format: int64 - type: integer + type: number maxSize: - format: int64 - type: integer + type: number path: type: string policy: @@ -3082,13 +3011,11 @@ spec: force: type: boolean gracePeriod: - format: int64 - type: integer + type: number ignoreDaemonSets: type: boolean timeout: - format: int64 - type: integer + type: number type: object type: array maxUnavailableControlplane: @@ -3147,8 +3074,7 @@ spec: type: string retention: description: Cluster scan retention - format: int64 - type: integer + type: number required: - cronSchedule type: object @@ -3186,12 +3112,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. @@ -3214,6 +3192,10 @@ spec: clusterRegistrationToken: items: properties: + annotations: + additionalProperties: + type: string + type: object clusterId: type: string command: @@ -3226,12 +3208,18 @@ spec: type: string insecureWindowsNodeCommand: type: string + labels: + additionalProperties: + type: string + type: object manifestUrl: type: string name: type: string nodeCommand: type: string + token: + type: string windowsNodeCommand: type: string type: object diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_features.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_features.yaml index b577446..f7e1477 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_features.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_features.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: features.rancher2.rancher.jet.crossplane.io spec: @@ -99,12 +100,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_namespaces.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_namespaces.yaml index 1336786..b8365ee 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_namespaces.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_namespaces.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: namespaces.rancher2.rancher.jet.crossplane.io spec: @@ -160,12 +161,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_notifiers.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_notifiers.yaml index 4edeb72..a153619 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_notifiers.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_notifiers.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: notifiers.rancher2.rancher.jet.crossplane.io spec: @@ -182,8 +183,7 @@ spec: type: object port: description: SMTP port - format: int64 - type: integer + type: number sender: description: SMTP sender type: string @@ -282,12 +282,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_projects.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_projects.yaml index 0c882a9..58a708b 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_projects.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_projects.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: projects.rancher2.rancher.jet.crossplane.io spec: @@ -208,12 +209,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_registries.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_registries.yaml index 7ce91a3..5aeaf70 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_registries.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_registries.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: registries.rancher2.rancher.jet.crossplane.io spec: @@ -138,12 +139,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_settings.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_settings.yaml index 280a26a..dc1c41c 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_settings.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_settings.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: settings.rancher2.rancher.jet.crossplane.io spec: @@ -101,12 +102,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_tokens.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_tokens.yaml index cf7e0a9..a32cfa4 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_tokens.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_tokens.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: tokens.rancher2.rancher.jet.crossplane.io spec: @@ -83,8 +84,7 @@ spec: type: boolean ttl: description: Token time to live in seconds - format: int64 - type: integer + type: number type: object providerConfigRef: default: @@ -110,12 +110,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/rancher2.rancher.jet.crossplane.io_users.yaml b/package/crds/rancher2.rancher.jet.crossplane.io_users.yaml index 57e47c5..5b520af 100644 --- a/package/crds/rancher2.rancher.jet.crossplane.io_users.yaml +++ b/package/crds/rancher2.rancher.jet.crossplane.io_users.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: users.rancher2.rancher.jet.crossplane.io spec: @@ -122,12 +123,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/role.rancher.jet.crossplane.io_templates.yaml b/package/crds/role.rancher.jet.crossplane.io_templates.yaml index fdc08e5..73726a4 100644 --- a/package/crds/role.rancher.jet.crossplane.io_templates.yaml +++ b/package/crds/role.rancher.jet.crossplane.io_templates.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: templates.role.rancher.jet.crossplane.io spec: @@ -155,12 +156,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret. diff --git a/package/crds/storage.rancher.jet.crossplane.io_classv2s.yaml b/package/crds/storage.rancher.jet.crossplane.io_classv2s.yaml index 541caf9..b321e4e 100644 --- a/package/crds/storage.rancher.jet.crossplane.io_classv2s.yaml +++ b/package/crds/storage.rancher.jet.crossplane.io_classv2s.yaml @@ -1,8 +1,9 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null name: classv2s.storage.rancher.jet.crossplane.io spec: @@ -125,12 +126,64 @@ spec: required: - name type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object writeConnectionSecretToRef: description: WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the - managed resource. + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. properties: name: description: Name of the secret.