From 0809ced8e24fbdc19670b044f25925d168a356fe Mon Sep 17 00:00:00 2001 From: MyzaTaras Date: Mon, 16 Jan 2023 17:33:54 +0200 Subject: [PATCH] Moving datacatalog (8) resources to v1beta1 version - google_data_catalog_entry_group_iam_policy - google_data_catalog_tag - google_data_catalog_tag_template - google_data_catalog_tag_template_iam_policy out of test: - google_data_catalog_entry_group_iam_binding - google_data_catalog_entry_group_iam_member - google_data_catalog_tag_template_iam_binding - google_data_catalog_tag_template_iam_member --- .../v1beta1/zz_entrygroupiambinding_types.go | 117 + .../v1beta1/zz_entrygroupiammember_types.go | 117 + .../v1beta1/zz_entrygroupiampolicy_types.go | 113 + .../v1beta1/zz_generated.deepcopy.go | 2165 +++++++++++++++-- .../v1beta1/zz_generated.managed.go | 528 ++++ .../v1beta1/zz_generated.managedlist.go | 72 + .../v1beta1/zz_generated.resolvers.go | 94 + .../v1beta1/zz_generated_terraformed.go | 592 +++++ apis/datacatalog/v1beta1/zz_tag_types.go | 182 ++ .../v1beta1/zz_tagtemplate_types.go | 193 ++ .../v1beta1/zz_tagtemplateiambinding_types.go | 117 + .../v1beta1/zz_tagtemplateiammember_types.go | 117 + .../v1beta1/zz_tagtemplateiampolicy_types.go | 113 + config/externalname.go | 16 + config/externalnamenottested.go | 19 - .../datacatalog/entrygroupiampolicy.yaml | 17 + examples-generated/datacatalog/tag.yaml | 89 + .../datacatalog/tagtemplate.yaml | 34 + .../datacatalog/tagtemplateiampolicy.yaml | 17 + examples/datacatalog/entrygroupiampolicy.yaml | 40 + examples/datacatalog/tag.yaml | 87 + examples/datacatalog/tagtemplate.yaml | 31 + .../datacatalog/tagtemplateiampolicy.yaml | 58 + .../entrygroupiambinding/zz_controller.go | 63 + .../entrygroupiammember/zz_controller.go | 63 + .../entrygroupiampolicy/zz_controller.go | 63 + .../datacatalog/tag/zz_controller.go | 63 + .../datacatalog/tagtemplate/zz_controller.go | 64 + .../tagtemplateiambinding/zz_controller.go | 63 + .../tagtemplateiammember/zz_controller.go | 63 + .../tagtemplateiampolicy/zz_controller.go | 63 + internal/controller/zz_setup.go | 16 + ....gcp.upbound.io_entrygroupiambindings.yaml | 326 +++ ...g.gcp.upbound.io_entrygroupiammembers.yaml | 323 +++ ....gcp.upbound.io_entrygroupiampolicies.yaml | 390 +++ .../crds/datacatalog.gcp.upbound.io_tags.yaml | 525 ++++ ...gcp.upbound.io_tagtemplateiambindings.yaml | 326 +++ ....gcp.upbound.io_tagtemplateiammembers.yaml | 324 +++ ...gcp.upbound.io_tagtemplateiampolicies.yaml | 391 +++ ...tacatalog.gcp.upbound.io_tagtemplates.yaml | 403 +++ 40 files changed, 8247 insertions(+), 210 deletions(-) create mode 100755 apis/datacatalog/v1beta1/zz_entrygroupiambinding_types.go create mode 100755 apis/datacatalog/v1beta1/zz_entrygroupiammember_types.go create mode 100755 apis/datacatalog/v1beta1/zz_entrygroupiampolicy_types.go create mode 100755 apis/datacatalog/v1beta1/zz_tag_types.go create mode 100755 apis/datacatalog/v1beta1/zz_tagtemplate_types.go create mode 100755 apis/datacatalog/v1beta1/zz_tagtemplateiambinding_types.go create mode 100755 apis/datacatalog/v1beta1/zz_tagtemplateiammember_types.go create mode 100755 apis/datacatalog/v1beta1/zz_tagtemplateiampolicy_types.go create mode 100644 examples-generated/datacatalog/entrygroupiampolicy.yaml create mode 100644 examples-generated/datacatalog/tag.yaml create mode 100644 examples-generated/datacatalog/tagtemplate.yaml create mode 100644 examples-generated/datacatalog/tagtemplateiampolicy.yaml create mode 100644 examples/datacatalog/entrygroupiampolicy.yaml create mode 100644 examples/datacatalog/tag.yaml create mode 100644 examples/datacatalog/tagtemplate.yaml create mode 100644 examples/datacatalog/tagtemplateiampolicy.yaml create mode 100755 internal/controller/datacatalog/entrygroupiambinding/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroupiammember/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go create mode 100755 internal/controller/datacatalog/tag/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplate/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiammember/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go create mode 100644 package/crds/datacatalog.gcp.upbound.io_entrygroupiambindings.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_entrygroupiammembers.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_entrygroupiampolicies.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_tags.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_tagtemplateiambindings.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_tagtemplateiammembers.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_tagtemplateiampolicies.yaml create mode 100644 package/crds/datacatalog.gcp.upbound.io_tagtemplates.yaml diff --git a/apis/datacatalog/v1beta1/zz_entrygroupiambinding_types.go b/apis/datacatalog/v1beta1/zz_entrygroupiambinding_types.go new file mode 100755 index 000000000..27d6be211 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_entrygroupiambinding_types.go @@ -0,0 +1,117 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type EntryGroupIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// EntryGroupIAMBindingSpec defines the desired state of EntryGroupIAMBinding +type EntryGroupIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMBindingParameters `json:"forProvider"` +} + +// EntryGroupIAMBindingStatus defines the observed state of EntryGroupIAMBinding. +type EntryGroupIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMBinding is the Schema for the EntryGroupIAMBindings API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type EntryGroupIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMBindingSpec `json:"spec"` + Status EntryGroupIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMBindingList contains a list of EntryGroupIAMBindings +type EntryGroupIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMBinding_Kind = "EntryGroupIAMBinding" + EntryGroupIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMBinding_Kind}.String() + EntryGroupIAMBinding_KindAPIVersion = EntryGroupIAMBinding_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMBinding{}, &EntryGroupIAMBindingList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_entrygroupiammember_types.go b/apis/datacatalog/v1beta1/zz_entrygroupiammember_types.go new file mode 100755 index 000000000..e451bef79 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_entrygroupiammember_types.go @@ -0,0 +1,117 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type EntryGroupIAMMemberConditionObservation struct { +} + +type EntryGroupIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type EntryGroupIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []EntryGroupIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// EntryGroupIAMMemberSpec defines the desired state of EntryGroupIAMMember +type EntryGroupIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMMemberParameters `json:"forProvider"` +} + +// EntryGroupIAMMemberStatus defines the observed state of EntryGroupIAMMember. +type EntryGroupIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMMember is the Schema for the EntryGroupIAMMembers API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type EntryGroupIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMMemberSpec `json:"spec"` + Status EntryGroupIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMMemberList contains a list of EntryGroupIAMMembers +type EntryGroupIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMMember_Kind = "EntryGroupIAMMember" + EntryGroupIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMMember_Kind}.String() + EntryGroupIAMMember_KindAPIVersion = EntryGroupIAMMember_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMMember{}, &EntryGroupIAMMemberList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_entrygroupiampolicy_types.go b/apis/datacatalog/v1beta1/zz_entrygroupiampolicy_types.go new file mode 100755 index 000000000..5d23bfbc5 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_entrygroupiampolicy_types.go @@ -0,0 +1,113 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type EntryGroupIAMPolicyObservation struct { + + // (Computed) The etag of the IAM policy. + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMPolicyParameters struct { + + // Used to find the parent resource to bind the IAM policy to + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datacatalog/v1beta1.EntryGroup + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",true) + // +kubebuilder:validation:Optional + EntryGroup *string `json:"entryGroup,omitempty" tf:"entry_group,omitempty"` + + // Reference to a EntryGroup in datacatalog to populate entryGroup. + // +kubebuilder:validation:Optional + EntryGroupRef *v1.Reference `json:"entryGroupRef,omitempty" tf:"-"` + + // Selector for a EntryGroup in datacatalog to populate entryGroup. + // +kubebuilder:validation:Optional + EntryGroupSelector *v1.Selector `json:"entryGroupSelector,omitempty" tf:"-"` + + // The policy data generated by + // a google_iam_policy data source. + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // The ID of the project in which the resource belongs. + // If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// EntryGroupIAMPolicySpec defines the desired state of EntryGroupIAMPolicy +type EntryGroupIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMPolicyParameters `json:"forProvider"` +} + +// EntryGroupIAMPolicyStatus defines the observed state of EntryGroupIAMPolicy. +type EntryGroupIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMPolicy is the Schema for the EntryGroupIAMPolicys API. Collection of resources to manage IAM policy for Data catalog EntryGroup +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type EntryGroupIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMPolicySpec `json:"spec"` + Status EntryGroupIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMPolicyList contains a list of EntryGroupIAMPolicys +type EntryGroupIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMPolicy_Kind = "EntryGroupIAMPolicy" + EntryGroupIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMPolicy_Kind}.String() + EntryGroupIAMPolicy_KindAPIVersion = EntryGroupIAMPolicy_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMPolicy{}, &EntryGroupIAMPolicyList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_generated.deepcopy.go b/apis/datacatalog/v1beta1/zz_generated.deepcopy.go index 2d78a87f3..8db182eb4 100644 --- a/apis/datacatalog/v1beta1/zz_generated.deepcopy.go +++ b/apis/datacatalog/v1beta1/zz_generated.deepcopy.go @@ -26,6 +26,41 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedValuesObservation) DeepCopyInto(out *AllowedValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedValuesObservation. +func (in *AllowedValuesObservation) DeepCopy() *AllowedValuesObservation { + if in == nil { + return nil + } + out := new(AllowedValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedValuesParameters) DeepCopyInto(out *AllowedValuesParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedValuesParameters. +func (in *AllowedValuesParameters) DeepCopy() *AllowedValuesParameters { + if in == nil { + return nil + } + out := new(AllowedValuesParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BigqueryDateShardedSpecObservation) DeepCopyInto(out *BigqueryDateShardedSpecObservation) { *out = *in @@ -120,6 +155,51 @@ func (in *BigqueryTableSpecParameters) DeepCopy() *BigqueryTableSpecParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Entry) DeepCopyInto(out *Entry) { *out = *in @@ -175,31 +255,58 @@ func (in *EntryGroup) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryGroupList) DeepCopyInto(out *EntryGroupList) { +func (in *EntryGroupIAMBinding) DeepCopyInto(out *EntryGroupIAMBinding) { + *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 EntryGroupIAMBinding. +func (in *EntryGroupIAMBinding) DeepCopy() *EntryGroupIAMBinding { + if in == nil { + return nil + } + out := new(EntryGroupIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMBinding) 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 *EntryGroupIAMBindingList) DeepCopyInto(out *EntryGroupIAMBindingList) { *out = *in out.TypeMeta = in.TypeMeta in.ListMeta.DeepCopyInto(&out.ListMeta) if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]EntryGroup, len(*in)) + *out = make([]EntryGroupIAMBinding, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupList. -func (in *EntryGroupList) DeepCopy() *EntryGroupList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingList. +func (in *EntryGroupIAMBindingList) DeepCopy() *EntryGroupIAMBindingList { if in == nil { return nil } - out := new(EntryGroupList) + out := new(EntryGroupIAMBindingList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *EntryGroupList) DeepCopyObject() runtime.Object { +func (in *EntryGroupIAMBindingList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -207,47 +314,55 @@ func (in *EntryGroupList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryGroupObservation) DeepCopyInto(out *EntryGroupObservation) { +func (in *EntryGroupIAMBindingObservation) DeepCopyInto(out *EntryGroupIAMBindingObservation) { *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID + if in.Etag != nil { + in, out := &in.Etag, &out.Etag *out = new(string) **out = **in } - if in.Name != nil { - in, out := &in.Name, &out.Name + if in.ID != nil { + in, out := &in.ID, &out.ID *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupObservation. -func (in *EntryGroupObservation) DeepCopy() *EntryGroupObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingObservation. +func (in *EntryGroupIAMBindingObservation) DeepCopy() *EntryGroupIAMBindingObservation { if in == nil { return nil } - out := new(EntryGroupObservation) + out := new(EntryGroupIAMBindingObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryGroupParameters) DeepCopyInto(out *EntryGroupParameters) { +func (in *EntryGroupIAMBindingParameters) DeepCopyInto(out *EntryGroupIAMBindingParameters) { *out = *in - if in.Description != nil { - in, out := &in.Description, &out.Description - *out = new(string) - **out = **in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } - if in.DisplayName != nil { - in, out := &in.DisplayName, &out.DisplayName + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup *out = new(string) **out = **in } - if in.EntryGroupID != nil { - in, out := &in.EntryGroupID, &out.EntryGroupID - *out = new(string) - **out = **in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } if in.Project != nil { in, out := &in.Project, &out.Project @@ -259,78 +374,78 @@ func (in *EntryGroupParameters) DeepCopyInto(out *EntryGroupParameters) { *out = new(string) **out = **in } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupParameters. -func (in *EntryGroupParameters) DeepCopy() *EntryGroupParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingParameters. +func (in *EntryGroupIAMBindingParameters) DeepCopy() *EntryGroupIAMBindingParameters { if in == nil { return nil } - out := new(EntryGroupParameters) + out := new(EntryGroupIAMBindingParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryGroupSpec) DeepCopyInto(out *EntryGroupSpec) { +func (in *EntryGroupIAMBindingSpec) DeepCopyInto(out *EntryGroupIAMBindingSpec) { *out = *in in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupSpec. -func (in *EntryGroupSpec) DeepCopy() *EntryGroupSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingSpec. +func (in *EntryGroupIAMBindingSpec) DeepCopy() *EntryGroupIAMBindingSpec { if in == nil { return nil } - out := new(EntryGroupSpec) + out := new(EntryGroupIAMBindingSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryGroupStatus) DeepCopyInto(out *EntryGroupStatus) { +func (in *EntryGroupIAMBindingStatus) DeepCopyInto(out *EntryGroupIAMBindingStatus) { *out = *in in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupStatus. -func (in *EntryGroupStatus) DeepCopy() *EntryGroupStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingStatus. +func (in *EntryGroupIAMBindingStatus) DeepCopy() *EntryGroupIAMBindingStatus { if in == nil { return nil } - out := new(EntryGroupStatus) + out := new(EntryGroupIAMBindingStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryList) DeepCopyInto(out *EntryList) { +func (in *EntryGroupIAMMember) DeepCopyInto(out *EntryGroupIAMMember) { *out = *in out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]Entry, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } + 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 EntryList. -func (in *EntryList) DeepCopy() *EntryList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMember. +func (in *EntryGroupIAMMember) DeepCopy() *EntryGroupIAMMember { if in == nil { return nil } - out := new(EntryList) + out := new(EntryGroupIAMMember) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *EntryList) DeepCopyObject() runtime.Object { +func (in *EntryGroupIAMMember) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -338,286 +453,1954 @@ func (in *EntryList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryObservation) DeepCopyInto(out *EntryObservation) { +func (in *EntryGroupIAMMemberConditionObservation) DeepCopyInto(out *EntryGroupIAMMemberConditionObservation) { *out = *in - if in.BigqueryDateShardedSpec != nil { - in, out := &in.BigqueryDateShardedSpec, &out.BigqueryDateShardedSpec - *out = make([]BigqueryDateShardedSpecObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.BigqueryTableSpec != nil { - in, out := &in.BigqueryTableSpec, &out.BigqueryTableSpec - *out = make([]BigqueryTableSpecObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.GcsFilesetSpec != nil { - in, out := &in.GcsFilesetSpec, &out.GcsFilesetSpec - *out = make([]GcsFilesetSpecObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.IntegratedSystem != nil { - in, out := &in.IntegratedSystem, &out.IntegratedSystem - *out = new(string) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryObservation. -func (in *EntryObservation) DeepCopy() *EntryObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberConditionObservation. +func (in *EntryGroupIAMMemberConditionObservation) DeepCopy() *EntryGroupIAMMemberConditionObservation { if in == nil { return nil } - out := new(EntryObservation) + out := new(EntryGroupIAMMemberConditionObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryParameters) DeepCopyInto(out *EntryParameters) { +func (in *EntryGroupIAMMemberConditionParameters) DeepCopyInto(out *EntryGroupIAMMemberConditionParameters) { *out = *in if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) **out = **in } - if in.DisplayName != nil { - in, out := &in.DisplayName, &out.DisplayName + if in.Expression != nil { + in, out := &in.Expression, &out.Expression *out = new(string) **out = **in } - if in.EntryGroup != nil { - in, out := &in.EntryGroup, &out.EntryGroup + if in.Title != nil { + in, out := &in.Title, &out.Title *out = new(string) **out = **in } - if in.EntryGroupRef != nil { - in, out := &in.EntryGroupRef, &out.EntryGroupRef - *out = new(v1.Reference) - (*in).DeepCopyInto(*out) - } - if in.EntryGroupSelector != nil { - in, out := &in.EntryGroupSelector, &out.EntryGroupSelector - *out = new(v1.Selector) - (*in).DeepCopyInto(*out) - } - if in.EntryID != nil { - in, out := &in.EntryID, &out.EntryID - *out = new(string) - **out = **in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberConditionParameters. +func (in *EntryGroupIAMMemberConditionParameters) DeepCopy() *EntryGroupIAMMemberConditionParameters { + if in == nil { + return nil } - if in.GcsFilesetSpec != nil { - in, out := &in.GcsFilesetSpec, &out.GcsFilesetSpec - *out = make([]GcsFilesetSpecParameters, len(*in)) + out := new(EntryGroupIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberList) DeepCopyInto(out *EntryGroupIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroupIAMMember, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.LinkedResource != nil { - in, out := &in.LinkedResource, &out.LinkedResource - *out = new(string) - **out = **in - } - if in.Schema != nil { - in, out := &in.Schema, &out.Schema - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } - if in.UserSpecifiedSystem != nil { - in, out := &in.UserSpecifiedSystem, &out.UserSpecifiedSystem - *out = new(string) - **out = **in - } - if in.UserSpecifiedType != nil { - in, out := &in.UserSpecifiedType, &out.UserSpecifiedType - *out = new(string) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryParameters. -func (in *EntryParameters) DeepCopy() *EntryParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberList. +func (in *EntryGroupIAMMemberList) DeepCopy() *EntryGroupIAMMemberList { if in == nil { return nil } - out := new(EntryParameters) + out := new(EntryGroupIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMMemberList) 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 *EntryGroupIAMMemberObservation) DeepCopyInto(out *EntryGroupIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberObservation. +func (in *EntryGroupIAMMemberObservation) DeepCopy() *EntryGroupIAMMemberObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberParameters) DeepCopyInto(out *EntryGroupIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]EntryGroupIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberParameters. +func (in *EntryGroupIAMMemberParameters) DeepCopy() *EntryGroupIAMMemberParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberSpec) DeepCopyInto(out *EntryGroupIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberSpec. +func (in *EntryGroupIAMMemberSpec) DeepCopy() *EntryGroupIAMMemberSpec { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberStatus) DeepCopyInto(out *EntryGroupIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberStatus. +func (in *EntryGroupIAMMemberStatus) DeepCopy() *EntryGroupIAMMemberStatus { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicy) DeepCopyInto(out *EntryGroupIAMPolicy) { + *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 EntryGroupIAMPolicy. +func (in *EntryGroupIAMPolicy) DeepCopy() *EntryGroupIAMPolicy { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMPolicy) 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 *EntryGroupIAMPolicyList) DeepCopyInto(out *EntryGroupIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroupIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyList. +func (in *EntryGroupIAMPolicyList) DeepCopy() *EntryGroupIAMPolicyList { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMPolicyList) 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 *EntryGroupIAMPolicyObservation) DeepCopyInto(out *EntryGroupIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyObservation. +func (in *EntryGroupIAMPolicyObservation) DeepCopy() *EntryGroupIAMPolicyObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicyParameters) DeepCopyInto(out *EntryGroupIAMPolicyParameters) { + *out = *in + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.EntryGroupRef != nil { + in, out := &in.EntryGroupRef, &out.EntryGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EntryGroupSelector != nil { + in, out := &in.EntryGroupSelector, &out.EntryGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyParameters. +func (in *EntryGroupIAMPolicyParameters) DeepCopy() *EntryGroupIAMPolicyParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicySpec) DeepCopyInto(out *EntryGroupIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicySpec. +func (in *EntryGroupIAMPolicySpec) DeepCopy() *EntryGroupIAMPolicySpec { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicyStatus) DeepCopyInto(out *EntryGroupIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyStatus. +func (in *EntryGroupIAMPolicyStatus) DeepCopy() *EntryGroupIAMPolicyStatus { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupList) DeepCopyInto(out *EntryGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupList. +func (in *EntryGroupList) DeepCopy() *EntryGroupList { + if in == nil { + return nil + } + out := new(EntryGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupList) 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 *EntryGroupObservation) DeepCopyInto(out *EntryGroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupObservation. +func (in *EntryGroupObservation) DeepCopy() *EntryGroupObservation { + if in == nil { + return nil + } + out := new(EntryGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupParameters) DeepCopyInto(out *EntryGroupParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntryGroupID != nil { + in, out := &in.EntryGroupID, &out.EntryGroupID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupParameters. +func (in *EntryGroupParameters) DeepCopy() *EntryGroupParameters { + if in == nil { + return nil + } + out := new(EntryGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupSpec) DeepCopyInto(out *EntryGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupSpec. +func (in *EntryGroupSpec) DeepCopy() *EntryGroupSpec { + if in == nil { + return nil + } + out := new(EntryGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupStatus) DeepCopyInto(out *EntryGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupStatus. +func (in *EntryGroupStatus) DeepCopy() *EntryGroupStatus { + if in == nil { + return nil + } + out := new(EntryGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryList) DeepCopyInto(out *EntryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Entry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryList. +func (in *EntryList) DeepCopy() *EntryList { + if in == nil { + return nil + } + out := new(EntryList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryList) 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 *EntryObservation) DeepCopyInto(out *EntryObservation) { + *out = *in + if in.BigqueryDateShardedSpec != nil { + in, out := &in.BigqueryDateShardedSpec, &out.BigqueryDateShardedSpec + *out = make([]BigqueryDateShardedSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BigqueryTableSpec != nil { + in, out := &in.BigqueryTableSpec, &out.BigqueryTableSpec + *out = make([]BigqueryTableSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GcsFilesetSpec != nil { + in, out := &in.GcsFilesetSpec, &out.GcsFilesetSpec + *out = make([]GcsFilesetSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IntegratedSystem != nil { + in, out := &in.IntegratedSystem, &out.IntegratedSystem + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryObservation. +func (in *EntryObservation) DeepCopy() *EntryObservation { + if in == nil { + return nil + } + out := new(EntryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryParameters) DeepCopyInto(out *EntryParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.EntryGroupRef != nil { + in, out := &in.EntryGroupRef, &out.EntryGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EntryGroupSelector != nil { + in, out := &in.EntryGroupSelector, &out.EntryGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.EntryID != nil { + in, out := &in.EntryID, &out.EntryID + *out = new(string) + **out = **in + } + if in.GcsFilesetSpec != nil { + in, out := &in.GcsFilesetSpec, &out.GcsFilesetSpec + *out = make([]GcsFilesetSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LinkedResource != nil { + in, out := &in.LinkedResource, &out.LinkedResource + *out = new(string) + **out = **in + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserSpecifiedSystem != nil { + in, out := &in.UserSpecifiedSystem, &out.UserSpecifiedSystem + *out = new(string) + **out = **in + } + if in.UserSpecifiedType != nil { + in, out := &in.UserSpecifiedType, &out.UserSpecifiedType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryParameters. +func (in *EntryParameters) DeepCopy() *EntryParameters { + if in == nil { + return nil + } + out := new(EntryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntrySpec) DeepCopyInto(out *EntrySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrySpec. +func (in *EntrySpec) DeepCopy() *EntrySpec { + if in == nil { + return nil + } + out := new(EntrySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryStatus) DeepCopyInto(out *EntryStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryStatus. +func (in *EntryStatus) DeepCopy() *EntryStatus { + if in == nil { + return nil + } + out := new(EntryStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnumTypeObservation) DeepCopyInto(out *EnumTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnumTypeObservation. +func (in *EnumTypeObservation) DeepCopy() *EnumTypeObservation { + if in == nil { + return nil + } + out := new(EnumTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnumTypeParameters) DeepCopyInto(out *EnumTypeParameters) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *out = make([]AllowedValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnumTypeParameters. +func (in *EnumTypeParameters) DeepCopy() *EnumTypeParameters { + if in == nil { + return nil + } + out := new(EnumTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsObservation) DeepCopyInto(out *FieldsObservation) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsObservation. +func (in *FieldsObservation) DeepCopy() *FieldsObservation { + if in == nil { + return nil + } + out := new(FieldsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsParameters) DeepCopyInto(out *FieldsParameters) { + *out = *in + if in.BoolValue != nil { + in, out := &in.BoolValue, &out.BoolValue + *out = new(bool) + **out = **in + } + if in.DoubleValue != nil { + in, out := &in.DoubleValue, &out.DoubleValue + *out = new(float64) + **out = **in + } + if in.EnumValue != nil { + in, out := &in.EnumValue, &out.EnumValue + *out = new(string) + **out = **in + } + if in.FieldName != nil { + in, out := &in.FieldName, &out.FieldName + *out = new(string) + **out = **in + } + if in.StringValue != nil { + in, out := &in.StringValue, &out.StringValue + *out = new(string) + **out = **in + } + if in.TimestampValue != nil { + in, out := &in.TimestampValue, &out.TimestampValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsParameters. +func (in *FieldsParameters) DeepCopy() *FieldsParameters { + if in == nil { + return nil + } + out := new(FieldsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsFilesetSpecObservation) DeepCopyInto(out *GcsFilesetSpecObservation) { + *out = *in + if in.SampleGcsFileSpecs != nil { + in, out := &in.SampleGcsFileSpecs, &out.SampleGcsFileSpecs + *out = make([]SampleGcsFileSpecsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsFilesetSpecObservation. +func (in *GcsFilesetSpecObservation) DeepCopy() *GcsFilesetSpecObservation { + if in == nil { + return nil + } + out := new(GcsFilesetSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsFilesetSpecParameters) DeepCopyInto(out *GcsFilesetSpecParameters) { + *out = *in + if in.FilePatterns != nil { + in, out := &in.FilePatterns, &out.FilePatterns + *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 GcsFilesetSpecParameters. +func (in *GcsFilesetSpecParameters) DeepCopy() *GcsFilesetSpecParameters { + if in == nil { + return nil + } + out := new(GcsFilesetSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SampleGcsFileSpecsObservation) DeepCopyInto(out *SampleGcsFileSpecsObservation) { + *out = *in + if in.FilePath != nil { + in, out := &in.FilePath, &out.FilePath + *out = new(string) + **out = **in + } + if in.SizeBytes != nil { + in, out := &in.SizeBytes, &out.SizeBytes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsObservation. +func (in *SampleGcsFileSpecsObservation) DeepCopy() *SampleGcsFileSpecsObservation { + if in == nil { + return nil + } + out := new(SampleGcsFileSpecsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SampleGcsFileSpecsParameters) DeepCopyInto(out *SampleGcsFileSpecsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsParameters. +func (in *SampleGcsFileSpecsParameters) DeepCopy() *SampleGcsFileSpecsParameters { + if in == nil { + return nil + } + out := new(SampleGcsFileSpecsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpecObservation) DeepCopyInto(out *TableSpecObservation) { + *out = *in + if in.GroupedEntry != nil { + in, out := &in.GroupedEntry, &out.GroupedEntry + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecObservation. +func (in *TableSpecObservation) DeepCopy() *TableSpecObservation { + if in == nil { + return nil + } + out := new(TableSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpecParameters) DeepCopyInto(out *TableSpecParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecParameters. +func (in *TableSpecParameters) DeepCopy() *TableSpecParameters { + if in == nil { + return nil + } + out := new(TableSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Tag) DeepCopyInto(out *Tag) { + *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 Tag. +func (in *Tag) DeepCopy() *Tag { + if in == nil { + return nil + } + out := new(Tag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Tag) 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 *TagList) DeepCopyInto(out *TagList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Tag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagList. +func (in *TagList) DeepCopy() *TagList { + if in == nil { + return nil + } + out := new(TagList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagList) 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 *TagObservation) DeepCopyInto(out *TagObservation) { + *out = *in + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]FieldsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.TemplateDisplayname != nil { + in, out := &in.TemplateDisplayname, &out.TemplateDisplayname + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagObservation. +func (in *TagObservation) DeepCopy() *TagObservation { + if in == nil { + return nil + } + out := new(TagObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagParameters) DeepCopyInto(out *TagParameters) { + *out = *in + if in.Column != nil { + in, out := &in.Column, &out.Column + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]FieldsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.ParentRef != nil { + in, out := &in.ParentRef, &out.ParentRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ParentSelector != nil { + in, out := &in.ParentSelector, &out.ParentSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Template != nil { + in, out := &in.Template, &out.Template + *out = new(string) + **out = **in + } + if in.TemplateRef != nil { + in, out := &in.TemplateRef, &out.TemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TemplateSelector != nil { + in, out := &in.TemplateSelector, &out.TemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagParameters. +func (in *TagParameters) DeepCopy() *TagParameters { + if in == nil { + return nil + } + out := new(TagParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagSpec) DeepCopyInto(out *TagSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpec. +func (in *TagSpec) DeepCopy() *TagSpec { + if in == nil { + return nil + } + out := new(TagSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagStatus) DeepCopyInto(out *TagStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagStatus. +func (in *TagStatus) DeepCopy() *TagStatus { + if in == nil { + return nil + } + out := new(TagStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplate) DeepCopyInto(out *TagTemplate) { + *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 TagTemplate. +func (in *TagTemplate) DeepCopy() *TagTemplate { + if in == nil { + return nil + } + out := new(TagTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplate) 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 *TagTemplateFieldsObservation) DeepCopyInto(out *TagTemplateFieldsObservation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateFieldsObservation. +func (in *TagTemplateFieldsObservation) DeepCopy() *TagTemplateFieldsObservation { + if in == nil { + return nil + } + out := new(TagTemplateFieldsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateFieldsParameters) DeepCopyInto(out *TagTemplateFieldsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.FieldID != nil { + in, out := &in.FieldID, &out.FieldID + *out = new(string) + **out = **in + } + if in.IsRequired != nil { + in, out := &in.IsRequired, &out.IsRequired + *out = new(bool) + **out = **in + } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = new(float64) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = make([]TypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateFieldsParameters. +func (in *TagTemplateFieldsParameters) DeepCopy() *TagTemplateFieldsParameters { + if in == nil { + return nil + } + out := new(TagTemplateFieldsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBinding) DeepCopyInto(out *TagTemplateIAMBinding) { + *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 TagTemplateIAMBinding. +func (in *TagTemplateIAMBinding) DeepCopy() *TagTemplateIAMBinding { + if in == nil { + return nil + } + out := new(TagTemplateIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMBinding) 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 *TagTemplateIAMBindingConditionObservation) DeepCopyInto(out *TagTemplateIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingConditionObservation. +func (in *TagTemplateIAMBindingConditionObservation) DeepCopy() *TagTemplateIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingConditionParameters) DeepCopyInto(out *TagTemplateIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingConditionParameters. +func (in *TagTemplateIAMBindingConditionParameters) DeepCopy() *TagTemplateIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingList) DeepCopyInto(out *TagTemplateIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingList. +func (in *TagTemplateIAMBindingList) DeepCopy() *TagTemplateIAMBindingList { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMBindingList) 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 *TagTemplateIAMBindingObservation) DeepCopyInto(out *TagTemplateIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingObservation. +func (in *TagTemplateIAMBindingObservation) DeepCopy() *TagTemplateIAMBindingObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingParameters) DeepCopyInto(out *TagTemplateIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagTemplateIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingParameters. +func (in *TagTemplateIAMBindingParameters) DeepCopy() *TagTemplateIAMBindingParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingSpec) DeepCopyInto(out *TagTemplateIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingSpec. +func (in *TagTemplateIAMBindingSpec) DeepCopy() *TagTemplateIAMBindingSpec { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingStatus) DeepCopyInto(out *TagTemplateIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingStatus. +func (in *TagTemplateIAMBindingStatus) DeepCopy() *TagTemplateIAMBindingStatus { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMember) DeepCopyInto(out *TagTemplateIAMMember) { + *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 TagTemplateIAMMember. +func (in *TagTemplateIAMMember) DeepCopy() *TagTemplateIAMMember { + if in == nil { + return nil + } + out := new(TagTemplateIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMMember) 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 *TagTemplateIAMMemberConditionObservation) DeepCopyInto(out *TagTemplateIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberConditionObservation. +func (in *TagTemplateIAMMemberConditionObservation) DeepCopy() *TagTemplateIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberConditionParameters) DeepCopyInto(out *TagTemplateIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberConditionParameters. +func (in *TagTemplateIAMMemberConditionParameters) DeepCopy() *TagTemplateIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberList) DeepCopyInto(out *TagTemplateIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberList. +func (in *TagTemplateIAMMemberList) DeepCopy() *TagTemplateIAMMemberList { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMMemberList) 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 *TagTemplateIAMMemberObservation) DeepCopyInto(out *TagTemplateIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberObservation. +func (in *TagTemplateIAMMemberObservation) DeepCopy() *TagTemplateIAMMemberObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberParameters) DeepCopyInto(out *TagTemplateIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagTemplateIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberParameters. +func (in *TagTemplateIAMMemberParameters) DeepCopy() *TagTemplateIAMMemberParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntrySpec) DeepCopyInto(out *EntrySpec) { +func (in *TagTemplateIAMMemberSpec) DeepCopyInto(out *TagTemplateIAMMemberSpec) { *out = *in in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrySpec. -func (in *EntrySpec) DeepCopy() *EntrySpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberSpec. +func (in *TagTemplateIAMMemberSpec) DeepCopy() *TagTemplateIAMMemberSpec { if in == nil { return nil } - out := new(EntrySpec) + out := new(TagTemplateIAMMemberSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EntryStatus) DeepCopyInto(out *EntryStatus) { +func (in *TagTemplateIAMMemberStatus) DeepCopyInto(out *TagTemplateIAMMemberStatus) { *out = *in in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryStatus. -func (in *EntryStatus) DeepCopy() *EntryStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberStatus. +func (in *TagTemplateIAMMemberStatus) DeepCopy() *TagTemplateIAMMemberStatus { if in == nil { return nil } - out := new(EntryStatus) + out := new(TagTemplateIAMMemberStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GcsFilesetSpecObservation) DeepCopyInto(out *GcsFilesetSpecObservation) { +func (in *TagTemplateIAMPolicy) DeepCopyInto(out *TagTemplateIAMPolicy) { *out = *in - if in.SampleGcsFileSpecs != nil { - in, out := &in.SampleGcsFileSpecs, &out.SampleGcsFileSpecs - *out = make([]SampleGcsFileSpecsObservation, len(*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 TagTemplateIAMPolicy. +func (in *TagTemplateIAMPolicy) DeepCopy() *TagTemplateIAMPolicy { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMPolicy) 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 *TagTemplateIAMPolicyList) DeepCopyInto(out *TagTemplateIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMPolicy, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsFilesetSpecObservation. -func (in *GcsFilesetSpecObservation) DeepCopy() *GcsFilesetSpecObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyList. +func (in *TagTemplateIAMPolicyList) DeepCopy() *TagTemplateIAMPolicyList { if in == nil { return nil } - out := new(GcsFilesetSpecObservation) + out := new(TagTemplateIAMPolicyList) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMPolicyList) 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 *GcsFilesetSpecParameters) DeepCopyInto(out *GcsFilesetSpecParameters) { +func (in *TagTemplateIAMPolicyObservation) DeepCopyInto(out *TagTemplateIAMPolicyObservation) { *out = *in - if in.FilePatterns != nil { - in, out := &in.FilePatterns, &out.FilePatterns - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsFilesetSpecParameters. -func (in *GcsFilesetSpecParameters) DeepCopy() *GcsFilesetSpecParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyObservation. +func (in *TagTemplateIAMPolicyObservation) DeepCopy() *TagTemplateIAMPolicyObservation { if in == nil { return nil } - out := new(GcsFilesetSpecParameters) + out := new(TagTemplateIAMPolicyObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SampleGcsFileSpecsObservation) DeepCopyInto(out *SampleGcsFileSpecsObservation) { +func (in *TagTemplateIAMPolicyParameters) DeepCopyInto(out *TagTemplateIAMPolicyParameters) { *out = *in - if in.FilePath != nil { - in, out := &in.FilePath, &out.FilePath + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData *out = new(string) **out = **in } - if in.SizeBytes != nil { - in, out := &in.SizeBytes, &out.SizeBytes - *out = new(float64) + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) **out = **in } + if in.TagTemplateRef != nil { + in, out := &in.TagTemplateRef, &out.TagTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TagTemplateSelector != nil { + in, out := &in.TagTemplateSelector, &out.TagTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsObservation. -func (in *SampleGcsFileSpecsObservation) DeepCopy() *SampleGcsFileSpecsObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyParameters. +func (in *TagTemplateIAMPolicyParameters) DeepCopy() *TagTemplateIAMPolicyParameters { if in == nil { return nil } - out := new(SampleGcsFileSpecsObservation) + out := new(TagTemplateIAMPolicyParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SampleGcsFileSpecsParameters) DeepCopyInto(out *SampleGcsFileSpecsParameters) { +func (in *TagTemplateIAMPolicySpec) DeepCopyInto(out *TagTemplateIAMPolicySpec) { *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsParameters. -func (in *SampleGcsFileSpecsParameters) DeepCopy() *SampleGcsFileSpecsParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicySpec. +func (in *TagTemplateIAMPolicySpec) DeepCopy() *TagTemplateIAMPolicySpec { if in == nil { return nil } - out := new(SampleGcsFileSpecsParameters) + out := new(TagTemplateIAMPolicySpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TableSpecObservation) DeepCopyInto(out *TableSpecObservation) { +func (in *TagTemplateIAMPolicyStatus) DeepCopyInto(out *TagTemplateIAMPolicyStatus) { *out = *in - if in.GroupedEntry != nil { - in, out := &in.GroupedEntry, &out.GroupedEntry + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyStatus. +func (in *TagTemplateIAMPolicyStatus) DeepCopy() *TagTemplateIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateList) DeepCopyInto(out *TagTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateList. +func (in *TagTemplateList) DeepCopy() *TagTemplateList { + if in == nil { + return nil + } + out := new(TagTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateList) 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 *TagTemplateObservation) DeepCopyInto(out *TagTemplateObservation) { + *out = *in + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]TagTemplateFieldsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecObservation. -func (in *TableSpecObservation) DeepCopy() *TableSpecObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateObservation. +func (in *TagTemplateObservation) DeepCopy() *TagTemplateObservation { if in == nil { return nil } - out := new(TableSpecObservation) + out := new(TagTemplateObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TableSpecParameters) DeepCopyInto(out *TableSpecParameters) { +func (in *TagTemplateParameters) DeepCopyInto(out *TagTemplateParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]TagTemplateFieldsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateParameters. +func (in *TagTemplateParameters) DeepCopy() *TagTemplateParameters { + if in == nil { + return nil + } + out := new(TagTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateSpec) DeepCopyInto(out *TagTemplateSpec) { *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecParameters. -func (in *TableSpecParameters) DeepCopy() *TableSpecParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateSpec. +func (in *TagTemplateSpec) DeepCopy() *TagTemplateSpec { if in == nil { return nil } - out := new(TableSpecParameters) + out := new(TagTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateStatus) DeepCopyInto(out *TagTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateStatus. +func (in *TagTemplateStatus) DeepCopy() *TagTemplateStatus { + if in == nil { + return nil + } + out := new(TagTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypeObservation) DeepCopyInto(out *TypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeObservation. +func (in *TypeObservation) DeepCopy() *TypeObservation { + if in == nil { + return nil + } + out := new(TypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypeParameters) DeepCopyInto(out *TypeParameters) { + *out = *in + if in.EnumType != nil { + in, out := &in.EnumType, &out.EnumType + *out = make([]EnumTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrimitiveType != nil { + in, out := &in.PrimitiveType, &out.PrimitiveType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeParameters. +func (in *TypeParameters) DeepCopy() *TypeParameters { + if in == nil { + return nil + } + out := new(TypeParameters) in.DeepCopyInto(out) return out } diff --git a/apis/datacatalog/v1beta1/zz_generated.managed.go b/apis/datacatalog/v1beta1/zz_generated.managed.go index 6c8557140..682fc9ea1 100644 --- a/apis/datacatalog/v1beta1/zz_generated.managed.go +++ b/apis/datacatalog/v1beta1/zz_generated.managed.go @@ -150,3 +150,531 @@ func (mg *EntryGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDet func (mg *EntryGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } + +// GetCondition of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Tag. +func (mg *Tag) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Tag. +func (mg *Tag) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Tag. +func (mg *Tag) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Tag. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Tag) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this Tag. +func (mg *Tag) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Tag. +func (mg *Tag) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Tag. +func (mg *Tag) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Tag. +func (mg *Tag) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Tag. +func (mg *Tag) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Tag. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Tag) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this Tag. +func (mg *Tag) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Tag. +func (mg *Tag) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplate. +func (mg *TagTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplate. +func (mg *TagTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplate. +func (mg *TagTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this TagTemplate. +func (mg *TagTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this TagTemplate. +func (mg *TagTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplate. +func (mg *TagTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplate. +func (mg *TagTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplate. +func (mg *TagTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this TagTemplate. +func (mg *TagTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this TagTemplate. +func (mg *TagTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/datacatalog/v1beta1/zz_generated.managedlist.go b/apis/datacatalog/v1beta1/zz_generated.managedlist.go index 50ce425d8..f1da6764c 100644 --- a/apis/datacatalog/v1beta1/zz_generated.managedlist.go +++ b/apis/datacatalog/v1beta1/zz_generated.managedlist.go @@ -19,6 +19,33 @@ package v1beta1 import resource "github.com/crossplane/crossplane-runtime/pkg/resource" +// GetItems of this EntryGroupIAMBindingList. +func (l *EntryGroupIAMBindingList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this EntryGroupIAMMemberList. +func (l *EntryGroupIAMMemberList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this EntryGroupIAMPolicyList. +func (l *EntryGroupIAMPolicyList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this EntryGroupList. func (l *EntryGroupList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) @@ -36,3 +63,48 @@ func (l *EntryList) GetItems() []resource.Managed { } return items } + +// GetItems of this TagList. +func (l *TagList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this TagTemplateIAMBindingList. +func (l *TagTemplateIAMBindingList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this TagTemplateIAMMemberList. +func (l *TagTemplateIAMMemberList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this TagTemplateIAMPolicyList. +func (l *TagTemplateIAMPolicyList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this TagTemplateList. +func (l *TagTemplateList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/datacatalog/v1beta1/zz_generated.resolvers.go b/apis/datacatalog/v1beta1/zz_generated.resolvers.go index 3cba3ea5a..b6b70c793 100644 --- a/apis/datacatalog/v1beta1/zz_generated.resolvers.go +++ b/apis/datacatalog/v1beta1/zz_generated.resolvers.go @@ -50,3 +50,97 @@ func (mg *Entry) ResolveReferences(ctx context.Context, c client.Reader) error { return nil } + +// ResolveReferences of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.EntryGroup), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.ForProvider.EntryGroupRef, + Selector: mg.Spec.ForProvider.EntryGroupSelector, + To: reference.To{ + List: &EntryGroupList{}, + Managed: &EntryGroup{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.EntryGroup") + } + mg.Spec.ForProvider.EntryGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.EntryGroupRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this Tag. +func (mg *Tag) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.ParentRef, + Selector: mg.Spec.ForProvider.ParentSelector, + To: reference.To{ + List: &EntryList{}, + Managed: &Entry{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Parent") + } + mg.Spec.ForProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ParentRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Template), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.TemplateRef, + Selector: mg.Spec.ForProvider.TemplateSelector, + To: reference.To{ + List: &TagTemplateList{}, + Managed: &TagTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Template") + } + mg.Spec.ForProvider.Template = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.TemplateRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.TagTemplate), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.ForProvider.TagTemplateRef, + Selector: mg.Spec.ForProvider.TagTemplateSelector, + To: reference.To{ + List: &TagTemplateList{}, + Managed: &TagTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.TagTemplate") + } + mg.Spec.ForProvider.TagTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.TagTemplateRef = rsp.ResolvedReference + + return nil +} diff --git a/apis/datacatalog/v1beta1/zz_generated_terraformed.go b/apis/datacatalog/v1beta1/zz_generated_terraformed.go index 51ed92040..216d939c1 100755 --- a/apis/datacatalog/v1beta1/zz_generated_terraformed.go +++ b/apis/datacatalog/v1beta1/zz_generated_terraformed.go @@ -172,3 +172,595 @@ func (tr *EntryGroup) LateInitialize(attrs []byte) (bool, error) { func (tr *EntryGroup) GetTerraformSchemaVersion() int { return 0 } + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMBinding +func (mg *EntryGroupIAMBinding) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_binding" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) SetObservation(obs map[string]any) 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 EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMBindingParameters{} + 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 *EntryGroupIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMMember +func (mg *EntryGroupIAMMember) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_member" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) SetObservation(obs map[string]any) 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 EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMMemberParameters{} + 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 *EntryGroupIAMMember) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMPolicy +func (mg *EntryGroupIAMPolicy) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_policy" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) SetObservation(obs map[string]any) 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 EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMPolicyParameters{} + 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 *EntryGroupIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Tag +func (mg *Tag) GetTerraformResourceType() string { + return "google_data_catalog_tag" +} + +// GetConnectionDetailsMapping for this Tag +func (tr *Tag) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Tag +func (tr *Tag) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Tag +func (tr *Tag) SetObservation(obs map[string]any) 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 Tag +func (tr *Tag) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Tag +func (tr *Tag) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Tag +func (tr *Tag) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Tag using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Tag) LateInitialize(attrs []byte) (bool, error) { + params := &TagParameters{} + 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 *Tag) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this TagTemplate +func (mg *TagTemplate) GetTerraformResourceType() string { + return "google_data_catalog_tag_template" +} + +// GetConnectionDetailsMapping for this TagTemplate +func (tr *TagTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplate +func (tr *TagTemplate) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplate +func (tr *TagTemplate) SetObservation(obs map[string]any) 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 TagTemplate +func (tr *TagTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplate +func (tr *TagTemplate) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplate +func (tr *TagTemplate) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateParameters{} + 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 *TagTemplate) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMBinding +func (mg *TagTemplateIAMBinding) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_binding" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) SetObservation(obs map[string]any) 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 TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMBindingParameters{} + 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 *TagTemplateIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMMember +func (mg *TagTemplateIAMMember) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_member" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) SetObservation(obs map[string]any) 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 TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMMemberParameters{} + 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 *TagTemplateIAMMember) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMPolicy +func (mg *TagTemplateIAMPolicy) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_policy" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) SetObservation(obs map[string]any) 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 TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMPolicyParameters{} + 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 *TagTemplateIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1beta1/zz_tag_types.go b/apis/datacatalog/v1beta1/zz_tag_types.go new file mode 100755 index 000000000..2e3659609 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_tag_types.go @@ -0,0 +1,182 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type FieldsObservation struct { + + // The display name of this field + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The order of this field with respect to other fields in this tag. For example, a higher value can indicate + // a more important field. The value can be negative. Multiple fields can have the same order, and field orders + // within a tag do not have to be sequential. + Order *float64 `json:"order,omitempty" tf:"order,omitempty"` +} + +type FieldsParameters struct { + + // Holds the value for a tag field with boolean type. + // +kubebuilder:validation:Optional + BoolValue *bool `json:"boolValue,omitempty" tf:"bool_value,omitempty"` + + // Holds the value for a tag field with double type. + // +kubebuilder:validation:Optional + DoubleValue *float64 `json:"doubleValue,omitempty" tf:"double_value,omitempty"` + + // Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum. + // Structure is documented below. + // +kubebuilder:validation:Optional + EnumValue *string `json:"enumValue,omitempty" tf:"enum_value,omitempty"` + + // The identifier for this object. Format specified above. + // +kubebuilder:validation:Required + FieldName *string `json:"fieldName" tf:"field_name,omitempty"` + + // Holds the value for a tag field with string type. + // +kubebuilder:validation:Optional + StringValue *string `json:"stringValue,omitempty" tf:"string_value,omitempty"` + + // Holds the value for a tag field with timestamp type. + // +kubebuilder:validation:Optional + TimestampValue *string `json:"timestampValue,omitempty" tf:"timestamp_value,omitempty"` +} + +type TagObservation struct { + + // This maps the ID of a tag field to the value of and additional information about that field. + // Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. + // Structure is documented below. + // +kubebuilder:validation:Required + Fields []FieldsObservation `json:"fields,omitempty" tf:"fields,omitempty"` + + // an identifier for the resource with format {{name}} + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The resource name of the tag in URL format. Example: + // projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or + // projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} + // where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The display name of the tag template. + TemplateDisplayname *string `json:"templateDisplayname,omitempty" tf:"template_displayname,omitempty"` +} + +type TagParameters struct { + + // Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an + // individual column based on that schema. + // For attaching a tag to a nested column, use . to separate the column names. Example: + // outer_column.inner_column + // +kubebuilder:validation:Optional + Column *string `json:"column,omitempty" tf:"column,omitempty"` + + // This maps the ID of a tag field to the value of and additional information about that field. + // Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. + // Structure is documented below. + // +kubebuilder:validation:Required + Fields []FieldsParameters `json:"fields" tf:"fields,omitempty"` + + // The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to + // all entries in that group. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datacatalog/v1beta1.Entry + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Entry in datacatalog to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Entry in datacatalog to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + + // The resource name of the tag template that this tag uses. Example: + // projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + // This field cannot be modified after creation. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datacatalog/v1beta1.TagTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + Template *string `json:"template,omitempty" tf:"template,omitempty"` + + // Reference to a TagTemplate in datacatalog to populate template. + // +kubebuilder:validation:Optional + TemplateRef *v1.Reference `json:"templateRef,omitempty" tf:"-"` + + // Selector for a TagTemplate in datacatalog to populate template. + // +kubebuilder:validation:Optional + TemplateSelector *v1.Selector `json:"templateSelector,omitempty" tf:"-"` +} + +// TagSpec defines the desired state of Tag +type TagSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagParameters `json:"forProvider"` +} + +// TagStatus defines the observed state of Tag. +type TagStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Tag is the Schema for the Tags API. Tags are used to attach custom metadata to Data Catalog resources. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type Tag struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagSpec `json:"spec"` + Status TagStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagList contains a list of Tags +type TagList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Tag `json:"items"` +} + +// Repository type metadata. +var ( + Tag_Kind = "Tag" + Tag_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Tag_Kind}.String() + Tag_KindAPIVersion = Tag_Kind + "." + CRDGroupVersion.String() + Tag_GroupVersionKind = CRDGroupVersion.WithKind(Tag_Kind) +) + +func init() { + SchemeBuilder.Register(&Tag{}, &TagList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_tagtemplate_types.go b/apis/datacatalog/v1beta1/zz_tagtemplate_types.go new file mode 100755 index 000000000..dca7e58d3 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_tagtemplate_types.go @@ -0,0 +1,193 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type AllowedValuesObservation struct { +} + +type AllowedValuesParameters struct { + + // The display name for this field. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` +} + +type EnumTypeObservation struct { +} + +type EnumTypeParameters struct { + + // The set of allowed values for this enum. The display names of the + // values must be case-insensitively unique within this set. Currently, + // enum values can only be added to the list of allowed values. Deletion + // and renaming of enum values are not supported. + // Can have up to 500 allowed values. + // Structure is documented below. + // +kubebuilder:validation:Required + AllowedValues []AllowedValuesParameters `json:"allowedValues" tf:"allowed_values,omitempty"` +} + +type TagTemplateFieldsObservation struct { + + // The resource name of the tag template field in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}/fields/{field} + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TagTemplateFieldsParameters struct { + + // A description for this field. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The display name for this field. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The identifier for this object. Format specified above. + // +kubebuilder:validation:Required + FieldID *string `json:"fieldId" tf:"field_id,omitempty"` + + // Whether this is a required field. Defaults to false. + // +kubebuilder:validation:Optional + IsRequired *bool `json:"isRequired,omitempty" tf:"is_required,omitempty"` + + // The order of this field with respect to other fields in this tag template. + // A higher value indicates a more important field. The value can be negative. + // Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + // +kubebuilder:validation:Optional + Order *float64 `json:"order,omitempty" tf:"order,omitempty"` + + // The type of value this tag field can contain. + // Structure is documented below. + // +kubebuilder:validation:Required + Type []TypeParameters `json:"type" tf:"type,omitempty"` +} + +type TagTemplateObservation struct { + + // Set of tag template field IDs and the settings for the field. This set is an exhaustive list of the allowed fields. This set must contain at least one field and at most 500 fields. + // Structure is documented below. + // +kubebuilder:validation:Required + Fields []TagTemplateFieldsObservation `json:"fields,omitempty" tf:"fields,omitempty"` + + // an identifier for the resource with format {{name}} + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The resource name of the tag template in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TagTemplateParameters struct { + + // The display name for this field. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Set of tag template field IDs and the settings for the field. This set is an exhaustive list of the allowed fields. This set must contain at least one field and at most 500 fields. + // Structure is documented below. + // +kubebuilder:validation:Required + Fields []TagTemplateFieldsParameters `json:"fields" tf:"fields,omitempty"` + + // This confirms the deletion of any possible tags using this template. Must be set to true in order to delete the tag template. + // +kubebuilder:validation:Optional + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // The ID of the project in which the resource belongs. + // If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Template location region. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +type TypeObservation struct { +} + +type TypeParameters struct { + + // Represents an enum type. + // Exactly one of primitive_type or enum_type must be set + // Structure is documented below. + // +kubebuilder:validation:Optional + EnumType []EnumTypeParameters `json:"enumType,omitempty" tf:"enum_type,omitempty"` + + // Represents primitive types - string, bool etc. + // Exactly one of primitive_type or enum_type must be set + // Possible values are DOUBLE, STRING, BOOL, and TIMESTAMP. + // +kubebuilder:validation:Optional + PrimitiveType *string `json:"primitiveType,omitempty" tf:"primitive_type,omitempty"` +} + +// TagTemplateSpec defines the desired state of TagTemplate +type TagTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateParameters `json:"forProvider"` +} + +// TagTemplateStatus defines the observed state of TagTemplate. +type TagTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplate is the Schema for the TagTemplates API. A tag template defines a tag, which can have one or more typed fields. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type TagTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateSpec `json:"spec"` + Status TagTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateList contains a list of TagTemplates +type TagTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplate `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplate_Kind = "TagTemplate" + TagTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplate_Kind}.String() + TagTemplate_KindAPIVersion = TagTemplate_Kind + "." + CRDGroupVersion.String() + TagTemplate_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplate{}, &TagTemplateList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_tagtemplateiambinding_types.go b/apis/datacatalog/v1beta1/zz_tagtemplateiambinding_types.go new file mode 100755 index 000000000..0b9ab980f --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_tagtemplateiambinding_types.go @@ -0,0 +1,117 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type TagTemplateIAMBindingConditionObservation struct { +} + +type TagTemplateIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagTemplateIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagTemplateIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagTemplate *string `json:"tagTemplate" tf:"tag_template,omitempty"` +} + +// TagTemplateIAMBindingSpec defines the desired state of TagTemplateIAMBinding +type TagTemplateIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMBindingParameters `json:"forProvider"` +} + +// TagTemplateIAMBindingStatus defines the observed state of TagTemplateIAMBinding. +type TagTemplateIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMBinding is the Schema for the TagTemplateIAMBindings API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type TagTemplateIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMBindingSpec `json:"spec"` + Status TagTemplateIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMBindingList contains a list of TagTemplateIAMBindings +type TagTemplateIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMBinding_Kind = "TagTemplateIAMBinding" + TagTemplateIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMBinding_Kind}.String() + TagTemplateIAMBinding_KindAPIVersion = TagTemplateIAMBinding_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMBinding{}, &TagTemplateIAMBindingList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_tagtemplateiammember_types.go b/apis/datacatalog/v1beta1/zz_tagtemplateiammember_types.go new file mode 100755 index 000000000..d1dda7f92 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_tagtemplateiammember_types.go @@ -0,0 +1,117 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type TagTemplateIAMMemberConditionObservation struct { +} + +type TagTemplateIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagTemplateIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagTemplateIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagTemplate *string `json:"tagTemplate" tf:"tag_template,omitempty"` +} + +// TagTemplateIAMMemberSpec defines the desired state of TagTemplateIAMMember +type TagTemplateIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMMemberParameters `json:"forProvider"` +} + +// TagTemplateIAMMemberStatus defines the observed state of TagTemplateIAMMember. +type TagTemplateIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMMember is the Schema for the TagTemplateIAMMembers API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type TagTemplateIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMMemberSpec `json:"spec"` + Status TagTemplateIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMMemberList contains a list of TagTemplateIAMMembers +type TagTemplateIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMMember_Kind = "TagTemplateIAMMember" + TagTemplateIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMMember_Kind}.String() + TagTemplateIAMMember_KindAPIVersion = TagTemplateIAMMember_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMMember{}, &TagTemplateIAMMemberList{}) +} diff --git a/apis/datacatalog/v1beta1/zz_tagtemplateiampolicy_types.go b/apis/datacatalog/v1beta1/zz_tagtemplateiampolicy_types.go new file mode 100755 index 000000000..457d624e0 --- /dev/null +++ b/apis/datacatalog/v1beta1/zz_tagtemplateiampolicy_types.go @@ -0,0 +1,113 @@ +/* +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 upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type TagTemplateIAMPolicyObservation struct { + + // (Computed) The etag of the IAM policy. + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMPolicyParameters struct { + + // The policy data generated by + // a google_iam_policy data source. + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // The ID of the project in which the resource belongs. + // If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Used to find the parent resource to bind the IAM policy to + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datacatalog/v1beta1.TagTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",true) + // +kubebuilder:validation:Optional + TagTemplate *string `json:"tagTemplate,omitempty" tf:"tag_template,omitempty"` + + // Reference to a TagTemplate in datacatalog to populate tagTemplate. + // +kubebuilder:validation:Optional + TagTemplateRef *v1.Reference `json:"tagTemplateRef,omitempty" tf:"-"` + + // Selector for a TagTemplate in datacatalog to populate tagTemplate. + // +kubebuilder:validation:Optional + TagTemplateSelector *v1.Selector `json:"tagTemplateSelector,omitempty" tf:"-"` +} + +// TagTemplateIAMPolicySpec defines the desired state of TagTemplateIAMPolicy +type TagTemplateIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMPolicyParameters `json:"forProvider"` +} + +// TagTemplateIAMPolicyStatus defines the observed state of TagTemplateIAMPolicy. +type TagTemplateIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMPolicy is the Schema for the TagTemplateIAMPolicys API. Collection of resources to manage IAM policy for Data catalog TagTemplate +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp} +type TagTemplateIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMPolicySpec `json:"spec"` + Status TagTemplateIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMPolicyList contains a list of TagTemplateIAMPolicys +type TagTemplateIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMPolicy_Kind = "TagTemplateIAMPolicy" + TagTemplateIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMPolicy_Kind}.String() + TagTemplateIAMPolicy_KindAPIVersion = TagTemplateIAMPolicy_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMPolicy{}, &TagTemplateIAMPolicyList{}) +} diff --git a/config/externalname.go b/config/externalname.go index 7a72bc189..7f7a0c185 100644 --- a/config/externalname.go +++ b/config/externalname.go @@ -295,6 +295,22 @@ var externalNameConfigs = map[string]config.ExternalName{ "google_data_catalog_entry": config.IdentifierFromProvider, // Imported by using the following format: {{name}} "google_data_catalog_entry_group": config.IdentifierFromProvider, + // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} roles/viewer + "google_data_catalog_entry_group_iam_binding": config.IdentifierFromProvider, + // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} roles/viewer user:jane@example.com + "google_data_catalog_entry_group_iam_member": config.IdentifierFromProvider, + // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} + "google_data_catalog_entry_group_iam_policy": config.IdentifierFromProvider, + // {{name}}: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier + "google_data_catalog_tag": config.IdentifierFromProvider, + // {{name}}: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + "google_data_catalog_tag_template": config.TemplatedStringAsIdentifier("tag_template_id", "projects/{{ .setup.configuration.project }}/locations/{{ .parameters.region }}/tagTemplates/{{ .external_name }}"), + // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer + "google_data_catalog_tag_template_iam_binding": config.IdentifierFromProvider, + // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com + "google_data_catalog_tag_template_iam_member": config.IdentifierFromProvider, + // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} + "google_data_catalog_tag_template_iam_policy": config.IdentifierFromProvider, // dialogflow // diff --git a/config/externalnamenottested.go b/config/externalnamenottested.go index 89ea50278..c81e2d9a4 100644 --- a/config/externalnamenottested.go +++ b/config/externalnamenottested.go @@ -105,23 +105,4 @@ var ExternalNameNotTestedConfigs = map[string]config.ExternalName{ "google_cloud_identity_group": config.IdentifierFromProvider, // {{name}} "google_cloud_identity_group_membership": config.IdentifierFromProvider, - - // datacatalog - // - // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} roles/viewer - "google_data_catalog_entry_group_iam_binding": config.IdentifierFromProvider, - // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} roles/viewer user:jane@example.com - "google_data_catalog_entry_group_iam_member": config.IdentifierFromProvider, - // projects/{{project}}/locations/{{region}}/entryGroups/{{entry_group}} - "google_data_catalog_entry_group_iam_policy": config.IdentifierFromProvider, - // {{name}}: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier - "google_data_catalog_tag": config.IdentifierFromProvider, - // {{name}}: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} - "google_data_catalog_tag_template": config.TemplatedStringAsIdentifier("tag_template_id", "projects/{{ .setup.configuration.project }}/locations/{{ .parameters.region }}/tagTemplates/{{ .external_name }}"), - // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer - "google_data_catalog_tag_template_iam_binding": config.IdentifierFromProvider, - // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} roles/viewer user:jane@example.com - "google_data_catalog_tag_template_iam_member": config.IdentifierFromProvider, - // projects/{{project}}/locations/{{region}}/tagTemplates/{{tag_template}} - "google_data_catalog_tag_template_iam_policy": config.IdentifierFromProvider, } diff --git a/examples-generated/datacatalog/entrygroupiampolicy.yaml b/examples-generated/datacatalog/entrygroupiampolicy.yaml new file mode 100644 index 000000000..fbd29a256 --- /dev/null +++ b/examples-generated/datacatalog/entrygroupiampolicy.yaml @@ -0,0 +1,17 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: EntryGroupIAMPolicy +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/entrygroupiampolicy + labels: + testing.upbound.io/example-name: policy + name: policy +spec: + forProvider: + entryGroupSelector: + matchLabels: + testing.upbound.io/example-name: basic_entry_group + policyData: ${data.google_iam_policy.admin.policy_data} + +--- + diff --git a/examples-generated/datacatalog/tag.yaml b/examples-generated/datacatalog/tag.yaml new file mode 100644 index 000000000..432437c7f --- /dev/null +++ b/examples-generated/datacatalog/tag.yaml @@ -0,0 +1,89 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: Tag +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: basic_tag + name: basic-tag +spec: + forProvider: + fields: + - fieldName: source + stringValue: my-string + parentSelector: + matchLabels: + testing.upbound.io/example-name: entry + templateSelector: + matchLabels: + testing.upbound.io/example-name: tag_template + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: Entry +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: entry + name: entry +spec: + forProvider: + entryGroupSelector: + matchLabels: + testing.upbound.io/example-name: entry_group + entryId: my_entry + userSpecifiedSystem: SomethingExternal + userSpecifiedType: my_custom_type + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: EntryGroup +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: entry_group + name: entry-group +spec: + forProvider: + entryGroupId: my_entry_group + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplate +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: tag_template + name: tag-template +spec: + forProvider: + displayName: Demo Tag Template + fields: + - displayName: Source of data asset + fieldId: source + isRequired: true + type: + - primitiveType: STRING + - displayName: Number of rows in the data asset + fieldId: num_rows + type: + - primitiveType: DOUBLE + - displayName: PII type + fieldId: pii_type + type: + - enumType: + - allowedValues: + - displayName: EMAIL + - displayName: SOCIAL SECURITY NUMBER + - displayName: NONE + forceDelete: "false" + region: us-central1 + +--- + diff --git a/examples-generated/datacatalog/tagtemplate.yaml b/examples-generated/datacatalog/tagtemplate.yaml new file mode 100644 index 000000000..049ecad41 --- /dev/null +++ b/examples-generated/datacatalog/tagtemplate.yaml @@ -0,0 +1,34 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplate +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tagtemplate + labels: + testing.upbound.io/example-name: basic_tag_template + name: basic-tag-template +spec: + forProvider: + displayName: Demo Tag Template + fields: + - displayName: Source of data asset + fieldId: source + isRequired: true + type: + - primitiveType: STRING + - displayName: Number of rows in the data asset + fieldId: num_rows + type: + - primitiveType: DOUBLE + - displayName: PII type + fieldId: pii_type + type: + - enumType: + - allowedValues: + - displayName: EMAIL + - displayName: SOCIAL SECURITY NUMBER + - displayName: NONE + forceDelete: "false" + region: us-central1 + +--- + diff --git a/examples-generated/datacatalog/tagtemplateiampolicy.yaml b/examples-generated/datacatalog/tagtemplateiampolicy.yaml new file mode 100644 index 000000000..3890ac315 --- /dev/null +++ b/examples-generated/datacatalog/tagtemplateiampolicy.yaml @@ -0,0 +1,17 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplateIAMPolicy +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tagtemplateiampolicy + labels: + testing.upbound.io/example-name: policy + name: policy +spec: + forProvider: + policyData: ${data.google_iam_policy.admin.policy_data} + tagTemplateSelector: + matchLabels: + testing.upbound.io/example-name: basic_tag_template + +--- + diff --git a/examples/datacatalog/entrygroupiampolicy.yaml b/examples/datacatalog/entrygroupiampolicy.yaml new file mode 100644 index 000000000..00ffa7577 --- /dev/null +++ b/examples/datacatalog/entrygroupiampolicy.yaml @@ -0,0 +1,40 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: EntryGroupIAMPolicy +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/entrygroupiampolicy + upjet.upbound.io/manual-intervention: "Requires a real Account ID" + labels: + testing.upbound.io/example-name: policy + name: policy +spec: + forProvider: + entryGroupSelector: + matchLabels: + testing.upbound.io/example-name: basic_entry_group + policyData: | + { + "bindings":[ + { + "members":[ + "serviceAccount:example" + ], + "role": "roles/datacatalog.admin" + }] + } + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: EntryGroup +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/entrygroupiampolicy + labels: + testing.upbound.io/example-name: basic_entry_group + name: entrygroup +spec: + forProvider: + # Must match regexp "^[A-z_][A-z0-9_]{0,63}$" + entryGroupId: entry_group + region: us-central1 diff --git a/examples/datacatalog/tag.yaml b/examples/datacatalog/tag.yaml new file mode 100644 index 000000000..2089bb04c --- /dev/null +++ b/examples/datacatalog/tag.yaml @@ -0,0 +1,87 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: Tag +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: basic_tag + name: basic-tag +spec: + forProvider: + fields: + - fieldName: "source" + stringValue: "my-string" + parentSelector: + matchLabels: + testing.upbound.io/example-name: entry + templateSelector: + matchLabels: + testing.upbound.io/example-name: basic_tag_template + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: Entry +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: entry + name: entry +spec: + forProvider: + entryGroupSelector: + matchLabels: + testing.upbound.io/example-name: entry_group + entryId: "my_entry" + userSpecifiedSystem: "SomethingExternal" + userSpecifiedType: "my_custom_type" + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: EntryGroup +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: entry_group + name: entry-group +spec: + forProvider: + entryGroupId: "my_entry_group" + region: us-central1 + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplate +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tag + labels: + testing.upbound.io/example-name: basic_tag_template + name: basictagtemplate +spec: + forProvider: + displayName: "Demo Tag Template" + fields: + - displayName: "Source of data asset" + fieldId: "source" + isRequired: true + type: + - primitiveType: "STRING" + - displayName: "Number of rows in the data asset" + fieldId: "num_rows" + type: + - primitiveType: "DOUBLE" + - displayName: "PII type" + fieldId: "pii_type" + type: + - enumType: + - allowedValues: + - displayName: "EMAIL" + - displayName: "SOCIAL SECURITY NUMBER" + - displayName: "NONE" + forceDelete: true + region: us-central1 diff --git a/examples/datacatalog/tagtemplate.yaml b/examples/datacatalog/tagtemplate.yaml new file mode 100644 index 000000000..9ee0578cd --- /dev/null +++ b/examples/datacatalog/tagtemplate.yaml @@ -0,0 +1,31 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplate +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tagtemplate + labels: + testing.upbound.io/example-name: basic_tag_template + name: basictagtemplate +spec: + forProvider: + displayName: "Demo Tag Template" + fields: + - displayName: "Source of data asset" + fieldId: "source" + isRequired: true + type: + - primitiveType: "STRING" + - displayName: "Number of rows in the data asset" + fieldId: "num_rows" + type: + - primitiveType: "DOUBLE" + - displayName: "PII type" + fieldId: "pii_type" + type: + - enumType: + - allowedValues: + - displayName: "EMAIL" + - displayName: "SOCIAL SECURITY NUMBER" + - displayName: "NONE" + forceDelete: true + region: us-central1 diff --git a/examples/datacatalog/tagtemplateiampolicy.yaml b/examples/datacatalog/tagtemplateiampolicy.yaml new file mode 100644 index 000000000..15e169bc9 --- /dev/null +++ b/examples/datacatalog/tagtemplateiampolicy.yaml @@ -0,0 +1,58 @@ +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplateIAMPolicy +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tagtemplateiampolicy + upjet.upbound.io/manual-intervention: "Requires a real Account ID" + labels: + testing.upbound.io/example-name: policy + name: policy +spec: + forProvider: + policyData: | + { + "bindings":[ + { + "members":[ + "serviceAccount:example" + ], + "role": "roles/datacatalog.admin" + }] + } + tagTemplateSelector: + matchLabels: + testing.upbound.io/example-name: basic_tag_template + +--- + +apiVersion: datacatalog.gcp.upbound.io/v1beta1 +kind: TagTemplate +metadata: + annotations: + meta.upbound.io/example-id: datacatalog/v1beta1/tagtemplateiampolicy + labels: + testing.upbound.io/example-name: basic_tag_template + name: basictagtemplate +spec: + forProvider: + displayName: "Demo Tag Template" + fields: + - displayName: "Source of data asset" + fieldId: "source" + isRequired: true + type: + - primitiveType: "STRING" + - displayName: "Number of rows in the data asset" + fieldId: "num_rows" + type: + - primitiveType: "DOUBLE" + - displayName: "PII type" + fieldId: "pii_type" + type: + - enumType: + - allowedValues: + - displayName: "EMAIL" + - displayName: "SOCIAL SECURITY NUMBER" + - displayName: "NONE" + forceDelete: true + region: us-central1 diff --git a/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go b/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go new file mode 100755 index 000000000..aedc51b3b --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package entrygroupiambinding + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles EntryGroupIAMBinding managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.EntryGroupIAMBinding_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.EntryGroupIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_entry_group_iam_binding"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.EntryGroupIAMBinding_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.EntryGroupIAMBinding{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/entrygroupiammember/zz_controller.go b/internal/controller/datacatalog/entrygroupiammember/zz_controller.go new file mode 100755 index 000000000..fa18d6d13 --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiammember/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package entrygroupiammember + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles EntryGroupIAMMember managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.EntryGroupIAMMember_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.EntryGroupIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_entry_group_iam_member"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.EntryGroupIAMMember_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.EntryGroupIAMMember{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go b/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go new file mode 100755 index 000000000..da6e34923 --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package entrygroupiampolicy + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles EntryGroupIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.EntryGroupIAMPolicy_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.EntryGroupIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_entry_group_iam_policy"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.EntryGroupIAMPolicy_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.EntryGroupIAMPolicy{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/tag/zz_controller.go b/internal/controller/datacatalog/tag/zz_controller.go new file mode 100755 index 000000000..fce60bb56 --- /dev/null +++ b/internal/controller/datacatalog/tag/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package tag + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles Tag managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.Tag_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.Tag_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_tag"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Tag_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.Tag{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/tagtemplate/zz_controller.go b/internal/controller/datacatalog/tagtemplate/zz_controller.go new file mode 100755 index 000000000..003e11073 --- /dev/null +++ b/internal/controller/datacatalog/tagtemplate/zz_controller.go @@ -0,0 +1,64 @@ +/* +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 upjet. DO NOT EDIT. + +package tagtemplate + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles TagTemplate managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.TagTemplate_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(v1beta1.TagTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_tag_template"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.TagTemplate_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.TagTemplate{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go b/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go new file mode 100755 index 000000000..99d4083e1 --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package tagtemplateiambinding + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles TagTemplateIAMBinding managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.TagTemplateIAMBinding_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.TagTemplateIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_tag_template_iam_binding"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.TagTemplateIAMBinding_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.TagTemplateIAMBinding{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go b/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go new file mode 100755 index 000000000..06f03625d --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package tagtemplateiammember + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles TagTemplateIAMMember managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.TagTemplateIAMMember_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.TagTemplateIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_tag_template_iam_member"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.TagTemplateIAMMember_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.TagTemplateIAMMember{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go b/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go new file mode 100755 index 000000000..d3d3a2055 --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go @@ -0,0 +1,63 @@ +/* +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 upjet. DO NOT EDIT. + +package tagtemplateiampolicy + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-gcp/apis/datacatalog/v1beta1" +) + +// Setup adds a controller that reconciles TagTemplateIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.TagTemplateIAMPolicy_GroupVersionKind.String()) + var initializers managed.InitializerChain + 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(v1beta1.TagTemplateIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["google_data_catalog_tag_template_iam_policy"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.TagTemplateIAMPolicy_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.TagTemplateIAMPolicy{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index d1c5d2827..dc713f5ee 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -143,6 +143,14 @@ import ( nodepoolcontainerazure "github.com/upbound/provider-gcp/internal/controller/containerazure/nodepool" entry "github.com/upbound/provider-gcp/internal/controller/datacatalog/entry" entrygroup "github.com/upbound/provider-gcp/internal/controller/datacatalog/entrygroup" + entrygroupiambinding "github.com/upbound/provider-gcp/internal/controller/datacatalog/entrygroupiambinding" + entrygroupiammember "github.com/upbound/provider-gcp/internal/controller/datacatalog/entrygroupiammember" + entrygroupiampolicy "github.com/upbound/provider-gcp/internal/controller/datacatalog/entrygroupiampolicy" + tag "github.com/upbound/provider-gcp/internal/controller/datacatalog/tag" + tagtemplate "github.com/upbound/provider-gcp/internal/controller/datacatalog/tagtemplate" + tagtemplateiambinding "github.com/upbound/provider-gcp/internal/controller/datacatalog/tagtemplateiambinding" + tagtemplateiammember "github.com/upbound/provider-gcp/internal/controller/datacatalog/tagtemplateiammember" + tagtemplateiampolicy "github.com/upbound/provider-gcp/internal/controller/datacatalog/tagtemplateiampolicy" jobdataflow "github.com/upbound/provider-gcp/internal/controller/dataflow/job" instancedatafusion "github.com/upbound/provider-gcp/internal/controller/datafusion/instance" agent "github.com/upbound/provider-gcp/internal/controller/dialogflowcx/agent" @@ -369,6 +377,14 @@ func Setup(mgr ctrl.Manager, o controller.Options) error { nodepoolcontainerazure.Setup, entry.Setup, entrygroup.Setup, + entrygroupiambinding.Setup, + entrygroupiammember.Setup, + entrygroupiampolicy.Setup, + tag.Setup, + tagtemplate.Setup, + tagtemplateiambinding.Setup, + tagtemplateiammember.Setup, + tagtemplateiampolicy.Setup, jobdataflow.Setup, instancedatafusion.Setup, agent.Setup, diff --git a/package/crds/datacatalog.gcp.upbound.io_entrygroupiambindings.yaml b/package/crds/datacatalog.gcp.upbound.io_entrygroupiambindings.yaml new file mode 100644 index 000000000..848ce032d --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_entrygroupiambindings.yaml @@ -0,0 +1,326 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: entrygroupiambindings.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: EntryGroupIAMBinding + listKind: EntryGroupIAMBindingList + plural: entrygroupiambindings + singular: entrygroupiambinding + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: EntryGroupIAMBinding is the Schema for the EntryGroupIAMBindings + API. + 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: EntryGroupIAMBindingSpec defines the desired state of EntryGroupIAMBinding + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + entryGroup: + type: string + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + required: + - entryGroup + - members + - role + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: EntryGroupIAMBindingStatus defines the observed state of + EntryGroupIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_entrygroupiammembers.yaml b/package/crds/datacatalog.gcp.upbound.io_entrygroupiammembers.yaml new file mode 100644 index 000000000..f1f3ec34e --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_entrygroupiammembers.yaml @@ -0,0 +1,323 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: entrygroupiammembers.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: EntryGroupIAMMember + listKind: EntryGroupIAMMemberList + plural: entrygroupiammembers + singular: entrygroupiammember + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: EntryGroupIAMMember is the Schema for the EntryGroupIAMMembers + API. + 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: EntryGroupIAMMemberSpec defines the desired state of EntryGroupIAMMember + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + entryGroup: + type: string + member: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - entryGroup + - member + - role + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: EntryGroupIAMMemberStatus defines the observed state of EntryGroupIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_entrygroupiampolicies.yaml b/package/crds/datacatalog.gcp.upbound.io_entrygroupiampolicies.yaml new file mode 100644 index 000000000..b0703b511 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_entrygroupiampolicies.yaml @@ -0,0 +1,390 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: entrygroupiampolicies.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: EntryGroupIAMPolicy + listKind: EntryGroupIAMPolicyList + plural: entrygroupiampolicies + singular: entrygroupiampolicy + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: EntryGroupIAMPolicy is the Schema for the EntryGroupIAMPolicys + API. Collection of resources to manage IAM policy for Data catalog EntryGroup + 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: EntryGroupIAMPolicySpec defines the desired state of EntryGroupIAMPolicy + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + entryGroup: + description: Used to find the parent resource to bind the IAM + policy to + type: string + entryGroupRef: + description: Reference to a EntryGroup in datacatalog to populate + entryGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + entryGroupSelector: + description: Selector for a EntryGroup in datacatalog to populate + entryGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + policyData: + description: The policy data generated by a google_iam_policy + data source. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the project will be parsed from the identifier + of the parent resource. If no project is provided in the parent + identifier and no project is specified, the provider project + is used. + type: string + region: + type: string + required: + - policyData + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: EntryGroupIAMPolicyStatus defines the observed state of EntryGroupIAMPolicy. + properties: + atProvider: + properties: + etag: + description: (Computed) The etag of the IAM policy. + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_tags.yaml b/package/crds/datacatalog.gcp.upbound.io_tags.yaml new file mode 100644 index 000000000..77ea3b800 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_tags.yaml @@ -0,0 +1,525 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: tags.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: Tag + listKind: TagList + plural: tags + singular: tag + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Tag is the Schema for the Tags API. Tags are used to attach custom + metadata to Data Catalog resources. + 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: TagSpec defines the desired state of Tag + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + column: + description: 'Resources like Entry can have schemas associated + with them. This scope allows users to attach tags to an individual + column based on that schema. For attaching a tag to a nested + column, use . to separate the column names. Example: outer_column.inner_column' + type: string + fields: + description: This maps the ID of a tag field to the value of and + additional information about that field. Valid field IDs are + defined by the tag's template. A tag must have at least 1 field + and at most 500 fields. Structure is documented below. + items: + properties: + boolValue: + description: Holds the value for a tag field with boolean + type. + type: boolean + doubleValue: + description: Holds the value for a tag field with double + type. + type: number + enumValue: + description: Holds the value for a tag field with enum type. + This value must be one of the allowed values in the definition + of this enum. Structure is documented below. + type: string + fieldName: + description: The identifier for this object. Format specified + above. + type: string + stringValue: + description: Holds the value for a tag field with string + type. + type: string + timestampValue: + description: Holds the value for a tag field with timestamp + type. + type: string + required: + - fieldName + type: object + type: array + parent: + description: The name of the parent this tag is attached to. This + can be the name of an entry or an entry group. If an entry group, + the tag will be attached to all entries in that group. + type: string + parentRef: + description: Reference to a Entry in datacatalog to populate parent. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + parentSelector: + description: Selector for a Entry in datacatalog to populate parent. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + template: + description: 'The resource name of the tag template that this + tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + This field cannot be modified after creation.' + type: string + templateRef: + description: Reference to a TagTemplate in datacatalog to populate + template. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + templateSelector: + description: Selector for a TagTemplate in datacatalog to populate + template. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - fields + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TagStatus defines the observed state of Tag. + properties: + atProvider: + properties: + fields: + description: This maps the ID of a tag field to the value of and + additional information about that field. Valid field IDs are + defined by the tag's template. A tag must have at least 1 field + and at most 500 fields. Structure is documented below. + items: + properties: + displayName: + description: The display name of this field + type: string + order: + description: The order of this field with respect to other + fields in this tag. For example, a higher value can indicate + a more important field. The value can be negative. Multiple + fields can have the same order, and field orders within + a tag do not have to be sequential. + type: number + type: object + type: array + id: + description: an identifier for the resource with format {{name}} + type: string + name: + description: 'The resource name of the tag in URL format. Example: + projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} + or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} + where tag_id is a system-generated identifier. Note that this + Tag may not actually be stored in the location in this name.' + type: string + templateDisplayname: + description: The display name of the tag template. + type: string + type: object + 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/datacatalog.gcp.upbound.io_tagtemplateiambindings.yaml b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiambindings.yaml new file mode 100644 index 000000000..e32f36569 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiambindings.yaml @@ -0,0 +1,326 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: tagtemplateiambindings.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: TagTemplateIAMBinding + listKind: TagTemplateIAMBindingList + plural: tagtemplateiambindings + singular: tagtemplateiambinding + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: TagTemplateIAMBinding is the Schema for the TagTemplateIAMBindings + API. + 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: TagTemplateIAMBindingSpec defines the desired state of TagTemplateIAMBinding + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + tagTemplate: + type: string + required: + - members + - role + - tagTemplate + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TagTemplateIAMBindingStatus defines the observed state of + TagTemplateIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_tagtemplateiammembers.yaml b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiammembers.yaml new file mode 100644 index 000000000..0e3bf28b5 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiammembers.yaml @@ -0,0 +1,324 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: tagtemplateiammembers.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: TagTemplateIAMMember + listKind: TagTemplateIAMMemberList + plural: tagtemplateiammembers + singular: tagtemplateiammember + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: TagTemplateIAMMember is the Schema for the TagTemplateIAMMembers + API. + 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: TagTemplateIAMMemberSpec defines the desired state of TagTemplateIAMMember + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + region: + type: string + role: + type: string + tagTemplate: + type: string + required: + - member + - role + - tagTemplate + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TagTemplateIAMMemberStatus defines the observed state of + TagTemplateIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_tagtemplateiampolicies.yaml b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiampolicies.yaml new file mode 100644 index 000000000..b2a6c4f95 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_tagtemplateiampolicies.yaml @@ -0,0 +1,391 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: tagtemplateiampolicies.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: TagTemplateIAMPolicy + listKind: TagTemplateIAMPolicyList + plural: tagtemplateiampolicies + singular: tagtemplateiampolicy + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: TagTemplateIAMPolicy is the Schema for the TagTemplateIAMPolicys + API. Collection of resources to manage IAM policy for Data catalog TagTemplate + 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: TagTemplateIAMPolicySpec defines the desired state of TagTemplateIAMPolicy + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + description: The policy data generated by a google_iam_policy + data source. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the project will be parsed from the identifier + of the parent resource. If no project is provided in the parent + identifier and no project is specified, the provider project + is used. + type: string + region: + type: string + tagTemplate: + description: Used to find the parent resource to bind the IAM + policy to + type: string + tagTemplateRef: + description: Reference to a TagTemplate in datacatalog to populate + tagTemplate. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + tagTemplateSelector: + description: Selector for a TagTemplate in datacatalog to populate + tagTemplate. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - policyData + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TagTemplateIAMPolicyStatus defines the observed state of + TagTemplateIAMPolicy. + properties: + atProvider: + properties: + etag: + description: (Computed) The etag of the IAM policy. + type: string + id: + type: string + type: object + 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/datacatalog.gcp.upbound.io_tagtemplates.yaml b/package/crds/datacatalog.gcp.upbound.io_tagtemplates.yaml new file mode 100644 index 000000000..f075fb5f3 --- /dev/null +++ b/package/crds/datacatalog.gcp.upbound.io_tagtemplates.yaml @@ -0,0 +1,403 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: tagtemplates.datacatalog.gcp.upbound.io +spec: + group: datacatalog.gcp.upbound.io + names: + categories: + - crossplane + - managed + - gcp + kind: TagTemplate + listKind: TagTemplateList + plural: tagtemplates + singular: tagtemplate + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: TagTemplate is the Schema for the TagTemplates API. A tag template + defines a tag, which can have one or more typed fields. + 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: TagTemplateSpec defines the desired state of TagTemplate + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The display name for this field. + type: string + fields: + description: Set of tag template field IDs and the settings for + the field. This set is an exhaustive list of the allowed fields. + This set must contain at least one field and at most 500 fields. + Structure is documented below. + items: + properties: + description: + description: A description for this field. + type: string + displayName: + description: The display name for this field. + type: string + fieldId: + description: The identifier for this object. Format specified + above. + type: string + isRequired: + description: Whether this is a required field. Defaults + to false. + type: boolean + order: + description: The order of this field with respect to other + fields in this tag template. A higher value indicates + a more important field. The value can be negative. Multiple + fields can have the same order, and field orders within + a tag do not have to be sequential. + type: number + type: + description: The type of value this tag field can contain. + Structure is documented below. + items: + properties: + enumType: + description: Represents an enum type. Exactly one + of primitive_type or enum_type must be set Structure + is documented below. + items: + properties: + allowedValues: + description: The set of allowed values for this + enum. The display names of the values must + be case-insensitively unique within this set. + Currently, enum values can only be added to + the list of allowed values. Deletion and renaming + of enum values are not supported. Can have + up to 500 allowed values. Structure is documented + below. + items: + properties: + displayName: + description: The display name for this + field. + type: string + required: + - displayName + type: object + type: array + required: + - allowedValues + type: object + type: array + primitiveType: + description: Represents primitive types - string, + bool etc. Exactly one of primitive_type or enum_type + must be set Possible values are DOUBLE, STRING, + BOOL, and TIMESTAMP. + type: string + type: object + type: array + required: + - fieldId + - type + type: object + type: array + forceDelete: + description: This confirms the deletion of any possible tags using + this template. Must be set to true in order to delete the tag + template. + type: boolean + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: Template location region. + type: string + required: + - fields + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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 + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + 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. 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. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TagTemplateStatus defines the observed state of TagTemplate. + properties: + atProvider: + properties: + fields: + description: Set of tag template field IDs and the settings for + the field. This set is an exhaustive list of the allowed fields. + This set must contain at least one field and at most 500 fields. + Structure is documented below. + items: + properties: + name: + description: 'The resource name of the tag template field + in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}/fields/{field}' + type: string + type: object + type: array + id: + description: an identifier for the resource with format {{name}} + type: string + name: + description: 'The resource name of the tag template in URL format. + Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}' + type: string + type: object + 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: []