diff --git a/apis/accesscontextmanager/v1beta1/zz_accesslevelcondition_types.go b/apis/accesscontextmanager/v1beta1/zz_accesslevelcondition_types.go index 06b1397d3..d6f267248 100755 --- a/apis/accesscontextmanager/v1beta1/zz_accesslevelcondition_types.go +++ b/apis/accesscontextmanager/v1beta1/zz_accesslevelcondition_types.go @@ -121,6 +121,19 @@ type AccessLevelConditionDevicePolicyParameters struct { type AccessLevelConditionInitParameters struct { + // The name of the Access Level to add this condition to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"` + + // Reference to a AccessLevel in accesscontextmanager to populate accessLevel. + // +kubebuilder:validation:Optional + AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"` + + // Selector for a AccessLevel in accesscontextmanager to populate accessLevel. + // +kubebuilder:validation:Optional + AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"` + // Device specific restrictions, all restrictions must hold for // the Condition to be true. If not specified, all devices are // allowed. diff --git a/apis/accesscontextmanager/v1beta1/zz_generated.deepcopy.go b/apis/accesscontextmanager/v1beta1/zz_generated.deepcopy.go index 845672b50..31c491e80 100644 --- a/apis/accesscontextmanager/v1beta1/zz_generated.deepcopy.go +++ b/apis/accesscontextmanager/v1beta1/zz_generated.deepcopy.go @@ -259,6 +259,21 @@ func (in *AccessLevelConditionDevicePolicyParameters) DeepCopy() *AccessLevelCon // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AccessLevelConditionInitParameters) DeepCopyInto(out *AccessLevelConditionInitParameters) { *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.AccessLevelRef != nil { + in, out := &in.AccessLevelRef, &out.AccessLevelRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AccessLevelSelector != nil { + in, out := &in.AccessLevelSelector, &out.AccessLevelSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DevicePolicy != nil { in, out := &in.DevicePolicy, &out.DevicePolicy *out = make([]AccessLevelConditionDevicePolicyInitParameters, len(*in)) @@ -2834,6 +2849,21 @@ func (in *IngressFromParameters) DeepCopy() *IngressFromParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IngressFromSourcesInitParameters) DeepCopyInto(out *IngressFromSourcesInitParameters) { *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.AccessLevelRef != nil { + in, out := &in.AccessLevelRef, &out.AccessLevelRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AccessLevelSelector != nil { + in, out := &in.AccessLevelSelector, &out.AccessLevelSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Resource != nil { in, out := &in.Resource, &out.Resource *out = new(string) @@ -4149,6 +4179,21 @@ func (in *ServicePerimeterResource) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServicePerimeterResourceInitParameters) DeepCopyInto(out *ServicePerimeterResourceInitParameters) { *out = *in + if in.PerimeterName != nil { + in, out := &in.PerimeterName, &out.PerimeterName + *out = new(string) + **out = **in + } + if in.PerimeterNameRef != nil { + in, out := &in.PerimeterNameRef, &out.PerimeterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PerimeterNameSelector != nil { + in, out := &in.PerimeterNameSelector, &out.PerimeterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Resource != nil { in, out := &in.Resource, &out.Resource *out = new(string) @@ -4411,6 +4456,29 @@ func (in *SourcesParameters) DeepCopy() *SourcesParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SpecInitParameters) DeepCopyInto(out *SpecInitParameters) { *out = *in + if in.AccessLevels != nil { + in, out := &in.AccessLevels, &out.AccessLevels + *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.AccessLevelsRefs != nil { + in, out := &in.AccessLevelsRefs, &out.AccessLevelsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AccessLevelsSelector != nil { + in, out := &in.AccessLevelsSelector, &out.AccessLevelsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.EgressPolicies != nil { in, out := &in.EgressPolicies, &out.EgressPolicies *out = make([]EgressPoliciesInitParameters, len(*in)) @@ -4793,6 +4861,29 @@ func (in *StatusIngressPoliciesParameters) DeepCopy() *StatusIngressPoliciesPara // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *StatusInitParameters) DeepCopyInto(out *StatusInitParameters) { *out = *in + if in.AccessLevels != nil { + in, out := &in.AccessLevels, &out.AccessLevels + *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.AccessLevelsRefs != nil { + in, out := &in.AccessLevelsRefs, &out.AccessLevelsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AccessLevelsSelector != nil { + in, out := &in.AccessLevelsSelector, &out.AccessLevelsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.EgressPolicies != nil { in, out := &in.EgressPolicies, &out.EgressPolicies *out = make([]StatusEgressPoliciesInitParameters, len(*in)) diff --git a/apis/accesscontextmanager/v1beta1/zz_generated.resolvers.go b/apis/accesscontextmanager/v1beta1/zz_generated.resolvers.go index 1f5a6388f..358f7a23b 100644 --- a/apis/accesscontextmanager/v1beta1/zz_generated.resolvers.go +++ b/apis/accesscontextmanager/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *AccessLevelCondition) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.AccessLevel = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AccessLevelRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AccessLevel), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.AccessLevelRef, + Selector: mg.Spec.InitProvider.AccessLevelSelector, + To: reference.To{ + List: &AccessLevelList{}, + Managed: &AccessLevel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AccessLevel") + } + mg.Spec.InitProvider.AccessLevel = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AccessLevelRef = rsp.ResolvedReference + return nil } @@ -119,6 +135,66 @@ func (mg *ServicePerimeter) ResolveReferences(ctx context.Context, c client.Read } } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Spec); i3++ { + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Spec[i3].AccessLevels), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Spec[i3].AccessLevelsRefs, + Selector: mg.Spec.InitProvider.Spec[i3].AccessLevelsSelector, + To: reference.To{ + List: &AccessLevelList{}, + Managed: &AccessLevel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Spec[i3].AccessLevels") + } + mg.Spec.InitProvider.Spec[i3].AccessLevels = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Spec[i3].AccessLevelsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Status); i3++ { + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Status[i3].AccessLevels), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Status[i3].AccessLevelsRefs, + Selector: mg.Spec.InitProvider.Status[i3].AccessLevelsSelector, + To: reference.To{ + List: &AccessLevelList{}, + Managed: &AccessLevel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Status[i3].AccessLevels") + } + mg.Spec.InitProvider.Status[i3].AccessLevels = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Status[i3].AccessLevelsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Status); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Status[i3].IngressPolicies); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevel), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevelRef, + Selector: mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevelSelector, + To: reference.To{ + List: &AccessLevelList{}, + Managed: &AccessLevel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevel") + } + mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevel = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Status[i3].IngressPolicies[i4].IngressFrom[i5].Sources[i6].AccessLevelRef = rsp.ResolvedReference + + } + } + } + } return nil } @@ -146,5 +222,21 @@ func (mg *ServicePerimeterResource) ResolveReferences(ctx context.Context, c cli mg.Spec.ForProvider.PerimeterName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PerimeterNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PerimeterName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.PerimeterNameRef, + Selector: mg.Spec.InitProvider.PerimeterNameSelector, + To: reference.To{ + List: &ServicePerimeterList{}, + Managed: &ServicePerimeter{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PerimeterName") + } + mg.Spec.InitProvider.PerimeterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PerimeterNameRef = rsp.ResolvedReference + return nil } diff --git a/apis/accesscontextmanager/v1beta1/zz_serviceperimeter_types.go b/apis/accesscontextmanager/v1beta1/zz_serviceperimeter_types.go index 6613e92c4..940ac598f 100755 --- a/apis/accesscontextmanager/v1beta1/zz_serviceperimeter_types.go +++ b/apis/accesscontextmanager/v1beta1/zz_serviceperimeter_types.go @@ -413,6 +413,26 @@ type IngressFromParameters struct { type IngressFromSourcesInitParameters struct { + // An AccessLevel resource name that allow resources within the + // ServicePerimeters to be accessed from the internet. AccessLevels listed + // must be in the same policy as this ServicePerimeter. Referencing a nonexistent + // AccessLevel will cause an error. If no AccessLevel names are listed, + // resources within the perimeter can only be accessed via Google Cloud calls + // with request origins within the perimeter. + // Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL. + // If * is specified, then all IngressSources will be allowed. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"` + + // Reference to a AccessLevel in accesscontextmanager to populate accessLevel. + // +kubebuilder:validation:Optional + AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"` + + // Selector for a AccessLevel in accesscontextmanager to populate accessLevel. + // +kubebuilder:validation:Optional + AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"` + // A Google Cloud resource that is allowed to ingress the perimeter. // Requests from these resources will be allowed to access perimeter data. // Currently only projects are allowed. Format projects/{project_number} @@ -1178,6 +1198,26 @@ type SourcesParameters struct { type SpecInitParameters struct { + // A list of AccessLevel resource names that allow resources within + // the ServicePerimeter to be accessed from the internet. + // AccessLevels listed must be in the same policy as this + // ServicePerimeter. Referencing a nonexistent AccessLevel is a + // syntax error. If no AccessLevel names are listed, resources within + // the perimeter can only be accessed via GCP calls with request + // origins within the perimeter. For Service Perimeter Bridge, must + // be empty. + // Format: accessPolicies/{policy_id}/accessLevels/{access_level_name} + // +crossplane:generate:reference:type=AccessLevel + AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"` + + // References to AccessLevel to populate accessLevels. + // +kubebuilder:validation:Optional + AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"` + + // Selector for a list of AccessLevel to populate accessLevels. + // +kubebuilder:validation:Optional + AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"` + // List of EgressPolicies to apply to the perimeter. A perimeter may // have multiple EgressPolicies, each of which is evaluated separately. // Access is granted if any EgressPolicy grants it. Must be empty for @@ -1396,6 +1436,26 @@ type StatusIngressPoliciesParameters struct { type StatusInitParameters struct { + // A list of AccessLevel resource names that allow resources within + // the ServicePerimeter to be accessed from the internet. + // AccessLevels listed must be in the same policy as this + // ServicePerimeter. Referencing a nonexistent AccessLevel is a + // syntax error. If no AccessLevel names are listed, resources within + // the perimeter can only be accessed via GCP calls with request + // origins within the perimeter. For Service Perimeter Bridge, must + // be empty. + // Format: accessPolicies/{policy_id}/accessLevels/{access_level_name} + // +crossplane:generate:reference:type=AccessLevel + AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"` + + // References to AccessLevel to populate accessLevels. + // +kubebuilder:validation:Optional + AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"` + + // Selector for a list of AccessLevel to populate accessLevels. + // +kubebuilder:validation:Optional + AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"` + // List of EgressPolicies to apply to the perimeter. A perimeter may // have multiple EgressPolicies, each of which is evaluated separately. // Access is granted if any EgressPolicy grants it. Must be empty for diff --git a/apis/accesscontextmanager/v1beta1/zz_serviceperimeterresource_types.go b/apis/accesscontextmanager/v1beta1/zz_serviceperimeterresource_types.go index 45daf4868..e17704623 100755 --- a/apis/accesscontextmanager/v1beta1/zz_serviceperimeterresource_types.go +++ b/apis/accesscontextmanager/v1beta1/zz_serviceperimeterresource_types.go @@ -31,6 +31,19 @@ import ( type ServicePerimeterResourceInitParameters struct { + // The name of the Service Perimeter to add this resource to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.ServicePerimeter + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + PerimeterName *string `json:"perimeterName,omitempty" tf:"perimeter_name,omitempty"` + + // Reference to a ServicePerimeter in accesscontextmanager to populate perimeterName. + // +kubebuilder:validation:Optional + PerimeterNameRef *v1.Reference `json:"perimeterNameRef,omitempty" tf:"-"` + + // Selector for a ServicePerimeter in accesscontextmanager to populate perimeterName. + // +kubebuilder:validation:Optional + PerimeterNameSelector *v1.Selector `json:"perimeterNameSelector,omitempty" tf:"-"` + // A GCP resource that is inside of the service perimeter. // Currently only projects are allowed. // Format: projects/{project_number} diff --git a/apis/alloydb/v1beta1/zz_backup_types.go b/apis/alloydb/v1beta1/zz_backup_types.go index f8b49b171..b05370b4b 100755 --- a/apis/alloydb/v1beta1/zz_backup_types.go +++ b/apis/alloydb/v1beta1/zz_backup_types.go @@ -31,6 +31,19 @@ import ( type BackupInitParameters struct { + // The full resource name of the backup source cluster (e.g., projects/{project}/locations/{location}/clusters/{clusterId}). + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/alloydb/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` + + // Reference to a Cluster in alloydb to populate clusterName. + // +kubebuilder:validation:Optional + ClusterNameRef *v1.Reference `json:"clusterNameRef,omitempty" tf:"-"` + + // Selector for a Cluster in alloydb to populate clusterName. + // +kubebuilder:validation:Optional + ClusterNameSelector *v1.Selector `json:"clusterNameSelector,omitempty" tf:"-"` + // User-provided description of the backup. Description *string `json:"description,omitempty" tf:"description,omitempty"` diff --git a/apis/alloydb/v1beta1/zz_cluster_types.go b/apis/alloydb/v1beta1/zz_cluster_types.go index d91a91ab6..0d64eca12 100755 --- a/apis/alloydb/v1beta1/zz_cluster_types.go +++ b/apis/alloydb/v1beta1/zz_cluster_types.go @@ -229,6 +229,20 @@ type ClusterInitParameters struct { // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + // The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: + // "projects/{projectNumber}/global/networks/{network_id}". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/alloydb/v1beta1/zz_generated.deepcopy.go b/apis/alloydb/v1beta1/zz_generated.deepcopy.go index 6d17e874c..ebca7b70a 100644 --- a/apis/alloydb/v1beta1/zz_generated.deepcopy.go +++ b/apis/alloydb/v1beta1/zz_generated.deepcopy.go @@ -332,6 +332,21 @@ func (in *Backup) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackupInitParameters) DeepCopyInto(out *BackupInitParameters) { *out = *in + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.ClusterNameRef != nil { + in, out := &in.ClusterNameRef, &out.ClusterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ClusterNameSelector != nil { + in, out := &in.ClusterNameSelector, &out.ClusterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -867,6 +882,21 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { (*out)[key] = outVal } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) diff --git a/apis/alloydb/v1beta1/zz_generated.resolvers.go b/apis/alloydb/v1beta1/zz_generated.resolvers.go index 238bde66f..bf6216819 100644 --- a/apis/alloydb/v1beta1/zz_generated.resolvers.go +++ b/apis/alloydb/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *Backup) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ClusterName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ClusterNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ClusterName), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.ClusterNameRef, + Selector: mg.Spec.InitProvider.ClusterNameSelector, + To: reference.To{ + List: &ClusterList{}, + Managed: &Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ClusterName") + } + mg.Spec.InitProvider.ClusterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ClusterNameRef = rsp.ResolvedReference + return nil } @@ -75,6 +91,22 @@ func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } diff --git a/apis/apigee/v1beta1/zz_generated.deepcopy.go b/apis/apigee/v1beta1/zz_generated.deepcopy.go index 6bf2d1558..895307173 100644 --- a/apis/apigee/v1beta1/zz_generated.deepcopy.go +++ b/apis/apigee/v1beta1/zz_generated.deepcopy.go @@ -833,6 +833,21 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(string) **out = **in } + if in.DiskEncryptionKeyName != nil { + in, out := &in.DiskEncryptionKeyName, &out.DiskEncryptionKeyName + *out = new(string) + **out = **in + } + if in.DiskEncryptionKeyNameRef != nil { + in, out := &in.DiskEncryptionKeyNameRef, &out.DiskEncryptionKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskEncryptionKeyNameSelector != nil { + in, out := &in.DiskEncryptionKeyNameSelector, &out.DiskEncryptionKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DisplayName != nil { in, out := &in.DisplayName, &out.DisplayName *out = new(string) @@ -1383,6 +1398,21 @@ func (in *OrganizationInitParameters) DeepCopyInto(out *OrganizationInitParamete *out = new(string) **out = **in } + if in.AuthorizedNetwork != nil { + in, out := &in.AuthorizedNetwork, &out.AuthorizedNetwork + *out = new(string) + **out = **in + } + if in.AuthorizedNetworkRef != nil { + in, out := &in.AuthorizedNetworkRef, &out.AuthorizedNetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AuthorizedNetworkSelector != nil { + in, out := &in.AuthorizedNetworkSelector, &out.AuthorizedNetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.BillingType != nil { in, out := &in.BillingType, &out.BillingType *out = new(string) @@ -1420,6 +1450,21 @@ func (in *OrganizationInitParameters) DeepCopyInto(out *OrganizationInitParamete *out = new(string) **out = **in } + if in.RuntimeDatabaseEncryptionKeyName != nil { + in, out := &in.RuntimeDatabaseEncryptionKeyName, &out.RuntimeDatabaseEncryptionKeyName + *out = new(string) + **out = **in + } + if in.RuntimeDatabaseEncryptionKeyNameRef != nil { + in, out := &in.RuntimeDatabaseEncryptionKeyNameRef, &out.RuntimeDatabaseEncryptionKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RuntimeDatabaseEncryptionKeyNameSelector != nil { + in, out := &in.RuntimeDatabaseEncryptionKeyNameSelector, &out.RuntimeDatabaseEncryptionKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RuntimeType != nil { in, out := &in.RuntimeType, &out.RuntimeType *out = new(string) diff --git a/apis/apigee/v1beta1/zz_generated.resolvers.go b/apis/apigee/v1beta1/zz_generated.resolvers.go index 190efc2c8..50771ac2e 100644 --- a/apis/apigee/v1beta1/zz_generated.resolvers.go +++ b/apis/apigee/v1beta1/zz_generated.resolvers.go @@ -118,6 +118,22 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.OrgID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.OrgIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DiskEncryptionKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DiskEncryptionKeyNameRef, + Selector: mg.Spec.InitProvider.DiskEncryptionKeyNameSelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DiskEncryptionKeyName") + } + mg.Spec.InitProvider.DiskEncryptionKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DiskEncryptionKeyNameRef = rsp.ResolvedReference + return nil } @@ -186,5 +202,37 @@ func (mg *Organization) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.RuntimeDatabaseEncryptionKeyName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RuntimeDatabaseEncryptionKeyNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AuthorizedNetwork), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AuthorizedNetworkRef, + Selector: mg.Spec.InitProvider.AuthorizedNetworkSelector, + To: reference.To{ + List: &v1beta11.NetworkList{}, + Managed: &v1beta11.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AuthorizedNetwork") + } + mg.Spec.InitProvider.AuthorizedNetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AuthorizedNetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyNameRef, + Selector: mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyNameSelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyName") + } + mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RuntimeDatabaseEncryptionKeyNameRef = rsp.ResolvedReference + return nil } diff --git a/apis/apigee/v1beta1/zz_instance_types.go b/apis/apigee/v1beta1/zz_instance_types.go index c0ddbad8a..98389338b 100755 --- a/apis/apigee/v1beta1/zz_instance_types.go +++ b/apis/apigee/v1beta1/zz_instance_types.go @@ -40,6 +40,20 @@ type InstanceInitParameters struct { // Description of the instance. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. + // Use the following format: projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+) + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DiskEncryptionKeyName *string `json:"diskEncryptionKeyName,omitempty" tf:"disk_encryption_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate diskEncryptionKeyName. + // +kubebuilder:validation:Optional + DiskEncryptionKeyNameRef *v1.Reference `json:"diskEncryptionKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate diskEncryptionKeyName. + // +kubebuilder:validation:Optional + DiskEncryptionKeyNameSelector *v1.Selector `json:"diskEncryptionKeyNameSelector,omitempty" tf:"-"` + // Display name of the instance. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` diff --git a/apis/apigee/v1beta1/zz_organization_types.go b/apis/apigee/v1beta1/zz_organization_types.go index 0afbacaf2..1458073f7 100755 --- a/apis/apigee/v1beta1/zz_organization_types.go +++ b/apis/apigee/v1beta1/zz_organization_types.go @@ -34,6 +34,21 @@ type OrganizationInitParameters struct { // Primary GCP region for analytics data storage. For valid values, see Create an Apigee organization. AnalyticsRegion *string `json:"analyticsRegion,omitempty" tf:"analytics_region,omitempty"` + // Compute Engine network used for Service Networking to be peered with Apigee runtime instances. + // See Getting started with the Service Networking API. + // Valid only when RuntimeType is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"` + + // Reference to a Network in compute to populate authorizedNetwork. + // +kubebuilder:validation:Optional + AuthorizedNetworkRef *v1.Reference `json:"authorizedNetworkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate authorizedNetwork. + // +kubebuilder:validation:Optional + AuthorizedNetworkSelector *v1.Selector `json:"authorizedNetworkSelector,omitempty" tf:"-"` + // Billing type of the Apigee organization. See Apigee pricing. BillingType *string `json:"billingType,omitempty" tf:"billing_type,omitempty"` @@ -65,6 +80,22 @@ type OrganizationInitParameters struct { // Possible values are: DELETION_RETENTION_UNSPECIFIED, MINIMUM. Retention *string `json:"retention,omitempty" tf:"retention,omitempty"` + // Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. + // Update is not allowed after the organization is created. + // If not specified, a Google-Managed encryption key will be used. + // Valid only when RuntimeType is CLOUD. For example: projects/foo/locations/us/keyRings/bar/cryptoKeys/baz. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + RuntimeDatabaseEncryptionKeyName *string `json:"runtimeDatabaseEncryptionKeyName,omitempty" tf:"runtime_database_encryption_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName. + // +kubebuilder:validation:Optional + RuntimeDatabaseEncryptionKeyNameRef *v1.Reference `json:"runtimeDatabaseEncryptionKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName. + // +kubebuilder:validation:Optional + RuntimeDatabaseEncryptionKeyNameSelector *v1.Selector `json:"runtimeDatabaseEncryptionKeyNameSelector,omitempty" tf:"-"` + // Runtime type of the Apigee organization based on the Apigee subscription purchased. // Default value is CLOUD. // Possible values are: CLOUD, HYBRID. diff --git a/apis/appengine/v1beta1/zz_application_types.go b/apis/appengine/v1beta1/zz_application_types.go index 4501bfb2b..b2abca781 100755 --- a/apis/appengine/v1beta1/zz_application_types.go +++ b/apis/appengine/v1beta1/zz_application_types.go @@ -52,6 +52,21 @@ type ApplicationInitParameters struct { // to serve the app from. LocationID *string `json:"locationId,omitempty" tf:"location_id,omitempty"` + // The project ID to create the application under. + // ~>NOTE: GCP only accepts project ID, not project number. If you are using number, + // you may get a "Permission denied" error. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false) + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // The serving status of the app. ServingStatus *string `json:"servingStatus,omitempty" tf:"serving_status,omitempty"` } diff --git a/apis/appengine/v1beta1/zz_applicationurldispatchrules_types.go b/apis/appengine/v1beta1/zz_applicationurldispatchrules_types.go index 07bbd49da..d7b1db82a 100755 --- a/apis/appengine/v1beta1/zz_applicationurldispatchrules_types.go +++ b/apis/appengine/v1beta1/zz_applicationurldispatchrules_types.go @@ -76,6 +76,20 @@ type DispatchRulesInitParameters struct { // Pathname within the host. Must start with a "/". A single "*" can be included at the end of the path. // The sum of the lengths of the domain and path may not exceed 100 characters. Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Pathname within the host. Must start with a "/". A single "*" can be included at the end of the path. + // The sum of the lengths of the domain and path may not exceed 100 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/appengine/v1beta1.StandardAppVersion + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("service",false) + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a StandardAppVersion in appengine to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a StandardAppVersion in appengine to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type DispatchRulesObservation struct { diff --git a/apis/appengine/v1beta1/zz_firewallrule_types.go b/apis/appengine/v1beta1/zz_firewallrule_types.go index 862bbe756..c7d8cef6d 100755 --- a/apis/appengine/v1beta1/zz_firewallrule_types.go +++ b/apis/appengine/v1beta1/zz_firewallrule_types.go @@ -45,6 +45,20 @@ type FirewallRuleInitParameters struct { // this rule can be modified by the user. Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + // The ID of the project in which the resource belongs. + // If it is not provided, the provider project is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/appengine/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Application in appengine to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Application in appengine to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // IP address or range, defined using CIDR notation, of requests that this rule applies to. SourceRange *string `json:"sourceRange,omitempty" tf:"source_range,omitempty"` } diff --git a/apis/appengine/v1beta1/zz_generated.deepcopy.go b/apis/appengine/v1beta1/zz_generated.deepcopy.go index 3dfba8860..6e5c2ca14 100644 --- a/apis/appengine/v1beta1/zz_generated.deepcopy.go +++ b/apis/appengine/v1beta1/zz_generated.deepcopy.go @@ -84,6 +84,21 @@ func (in *ApplicationInitParameters) DeepCopyInto(out *ApplicationInitParameters *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ServingStatus != nil { in, out := &in.ServingStatus, &out.ServingStatus *out = new(string) @@ -824,6 +839,21 @@ func (in *DispatchRulesInitParameters) DeepCopyInto(out *DispatchRulesInitParame *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchRulesInitParameters. @@ -1161,6 +1191,21 @@ func (in *FirewallRuleInitParameters) DeepCopyInto(out *FirewallRuleInitParamete *out = new(float64) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceRange != nil { in, out := &in.SourceRange, &out.SourceRange *out = new(string) @@ -1875,6 +1920,21 @@ func (in *ServiceNetworkSettingsInitParameters) DeepCopyInto(out *ServiceNetwork *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsInitParameters. @@ -2174,6 +2234,21 @@ func (in *StandardAppVersionInitParameters) DeepCopyInto(out *StandardAppVersion *out = new(string) **out = **in } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Threadsafe != nil { in, out := &in.Threadsafe, &out.Threadsafe *out = new(bool) diff --git a/apis/appengine/v1beta1/zz_generated.resolvers.go b/apis/appengine/v1beta1/zz_generated.resolvers.go index 017a4ad0b..408c58dba 100644 --- a/apis/appengine/v1beta1/zz_generated.resolvers.go +++ b/apis/appengine/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *Application) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: resource.ExtractParamPath("project_id", false), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &v1beta1.ProjectList{}, + Managed: &v1beta1.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -76,6 +92,24 @@ func (mg *ApplicationURLDispatchRules) ResolveReferences(ctx context.Context, c mg.Spec.ForProvider.DispatchRules[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DispatchRules[i3].ServiceRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.DispatchRules); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DispatchRules[i3].Service), + Extract: resource.ExtractParamPath("service", false), + Reference: mg.Spec.InitProvider.DispatchRules[i3].ServiceRef, + Selector: mg.Spec.InitProvider.DispatchRules[i3].ServiceSelector, + To: reference.To{ + List: &StandardAppVersionList{}, + Managed: &StandardAppVersion{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DispatchRules[i3].Service") + } + mg.Spec.InitProvider.DispatchRules[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DispatchRules[i3].ServiceRef = rsp.ResolvedReference + } return nil @@ -104,6 +138,22 @@ func (mg *FirewallRule) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ApplicationList{}, + Managed: &Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -130,6 +180,22 @@ func (mg *ServiceNetworkSettings) ResolveReferences(ctx context.Context, c clien mg.Spec.ForProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Service), + Extract: resource.ExtractParamPath("service", false), + Reference: mg.Spec.InitProvider.ServiceRef, + Selector: mg.Spec.InitProvider.ServiceSelector, + To: reference.To{ + List: &StandardAppVersionList{}, + Managed: &StandardAppVersion{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Service") + } + mg.Spec.InitProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceRef = rsp.ResolvedReference + return nil } @@ -156,5 +222,21 @@ func (mg *StandardAppVersion) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceAccountRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccount), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.ServiceAccountRef, + Selector: mg.Spec.InitProvider.ServiceAccountSelector, + To: reference.To{ + List: &v1beta1.ServiceAccountList{}, + Managed: &v1beta1.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccount") + } + mg.Spec.InitProvider.ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccountRef = rsp.ResolvedReference + return nil } diff --git a/apis/appengine/v1beta1/zz_servicenetworksettings_types.go b/apis/appengine/v1beta1/zz_servicenetworksettings_types.go index c386f5d46..7d4f578e8 100755 --- a/apis/appengine/v1beta1/zz_servicenetworksettings_types.go +++ b/apis/appengine/v1beta1/zz_servicenetworksettings_types.go @@ -63,6 +63,19 @@ type ServiceNetworkSettingsInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the service these settings apply to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/appengine/v1beta1.StandardAppVersion + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("service",false) + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a StandardAppVersion in appengine to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a StandardAppVersion in appengine to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type ServiceNetworkSettingsObservation struct { diff --git a/apis/appengine/v1beta1/zz_standardappversion_types.go b/apis/appengine/v1beta1/zz_standardappversion_types.go index cb6e29a38..9d22b5504 100755 --- a/apis/appengine/v1beta1/zz_standardappversion_types.go +++ b/apis/appengine/v1beta1/zz_standardappversion_types.go @@ -481,6 +481,19 @@ type StandardAppVersionInitParameters struct { // Substitute with python, java, php, ruby, go or nodejs. RuntimeAPIVersion *string `json:"runtimeApiVersion,omitempty" tf:"runtime_api_version,omitempty"` + // The identity that the deployed version will run as. Admin API will use the App Engine Appspot service account as default if this field is neither provided in app.yaml file nor through CLI flag. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + // Whether multiple requests can be dispatched to this version at once. Threadsafe *bool `json:"threadsafe,omitempty" tf:"threadsafe,omitempty"` diff --git a/apis/artifact/v1beta1/zz_generated.deepcopy.go b/apis/artifact/v1beta1/zz_generated.deepcopy.go index f81fea565..2da81fc2a 100644 --- a/apis/artifact/v1beta1/zz_generated.deepcopy.go +++ b/apis/artifact/v1beta1/zz_generated.deepcopy.go @@ -1268,6 +1268,21 @@ func (in *UpstreamPoliciesInitParameters) DeepCopyInto(out *UpstreamPoliciesInit *out = new(float64) **out = **in } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.RepositoryRef != nil { + in, out := &in.RepositoryRef, &out.RepositoryRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RepositorySelector != nil { + in, out := &in.RepositorySelector, &out.RepositorySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamPoliciesInitParameters. diff --git a/apis/artifact/v1beta1/zz_generated.resolvers.go b/apis/artifact/v1beta1/zz_generated.resolvers.go index 2966499a7..e92d5da2c 100644 --- a/apis/artifact/v1beta1/zz_generated.resolvers.go +++ b/apis/artifact/v1beta1/zz_generated.resolvers.go @@ -52,6 +52,26 @@ func (mg *RegistryRepository) ResolveReferences(ctx context.Context, c client.Re } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.VirtualRepositoryConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].Repository), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].RepositoryRef, + Selector: mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].RepositorySelector, + To: reference.To{ + List: &RegistryRepositoryList{}, + Managed: &RegistryRepository{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].Repository") + } + mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].Repository = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VirtualRepositoryConfig[i3].UpstreamPolicies[i4].RepositoryRef = rsp.ResolvedReference + + } + } return nil } diff --git a/apis/artifact/v1beta1/zz_registryrepository_types.go b/apis/artifact/v1beta1/zz_registryrepository_types.go index 662a5b3cb..3476c620e 100755 --- a/apis/artifact/v1beta1/zz_registryrepository_types.go +++ b/apis/artifact/v1beta1/zz_registryrepository_types.go @@ -453,6 +453,20 @@ type UpstreamPoliciesInitParameters struct { // Entries with a greater priority value take precedence in the pull order. Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // A reference to the repository resource, for example: + // "projects/p1/locations/us-central1/repository/repo1". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/artifact/v1beta1.RegistryRepository + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Repository *string `json:"repository,omitempty" tf:"repository,omitempty"` + + // Reference to a RegistryRepository in artifact to populate repository. + // +kubebuilder:validation:Optional + RepositoryRef *v1.Reference `json:"repositoryRef,omitempty" tf:"-"` + + // Selector for a RegistryRepository in artifact to populate repository. + // +kubebuilder:validation:Optional + RepositorySelector *v1.Selector `json:"repositorySelector,omitempty" tf:"-"` } type UpstreamPoliciesObservation struct { diff --git a/apis/beyondcorp/v1beta1/zz_appconnection_types.go b/apis/beyondcorp/v1beta1/zz_appconnection_types.go index 9af2a8ca3..f5fe3a292 100755 --- a/apis/beyondcorp/v1beta1/zz_appconnection_types.go +++ b/apis/beyondcorp/v1beta1/zz_appconnection_types.go @@ -180,6 +180,19 @@ type ApplicationEndpointParameters struct { type GatewayInitParameters struct { + // AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/beyondcorp/v1beta1.AppGateway + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + AppGateway *string `json:"appGateway,omitempty" tf:"app_gateway,omitempty"` + + // Reference to a AppGateway in beyondcorp to populate appGateway. + // +kubebuilder:validation:Optional + AppGatewayRef *v1.Reference `json:"appGatewayRef,omitempty" tf:"-"` + + // Selector for a AppGateway in beyondcorp to populate appGateway. + // +kubebuilder:validation:Optional + AppGatewaySelector *v1.Selector `json:"appGatewaySelector,omitempty" tf:"-"` + // The type of hosting used by the gateway. Refer to // https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 // for a list of possible values. diff --git a/apis/beyondcorp/v1beta1/zz_appconnector_types.go b/apis/beyondcorp/v1beta1/zz_appconnector_types.go index a40f95ad5..a934a2943 100755 --- a/apis/beyondcorp/v1beta1/zz_appconnector_types.go +++ b/apis/beyondcorp/v1beta1/zz_appconnector_types.go @@ -123,6 +123,19 @@ type PrincipalInfoParameters struct { } type ServiceAccountInitParameters struct { + + // Email address of the service account. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"` } type ServiceAccountObservation struct { diff --git a/apis/beyondcorp/v1beta1/zz_generated.deepcopy.go b/apis/beyondcorp/v1beta1/zz_generated.deepcopy.go index 529c77999..ea83d9625 100644 --- a/apis/beyondcorp/v1beta1/zz_generated.deepcopy.go +++ b/apis/beyondcorp/v1beta1/zz_generated.deepcopy.go @@ -1037,6 +1037,21 @@ func (in *ApplicationEndpointParameters) DeepCopy() *ApplicationEndpointParamete // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GatewayInitParameters) DeepCopyInto(out *GatewayInitParameters) { *out = *in + if in.AppGateway != nil { + in, out := &in.AppGateway, &out.AppGateway + *out = new(string) + **out = **in + } + if in.AppGatewayRef != nil { + in, out := &in.AppGatewayRef, &out.AppGatewayRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AppGatewaySelector != nil { + in, out := &in.AppGatewaySelector, &out.AppGatewaySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -1130,7 +1145,9 @@ func (in *PrincipalInfoInitParameters) DeepCopyInto(out *PrincipalInfoInitParame if in.ServiceAccount != nil { in, out := &in.ServiceAccount, &out.ServiceAccount *out = make([]ServiceAccountInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -1191,6 +1208,21 @@ func (in *PrincipalInfoParameters) DeepCopy() *PrincipalInfoParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServiceAccountInitParameters) DeepCopyInto(out *ServiceAccountInitParameters) { *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.EmailRef != nil { + in, out := &in.EmailRef, &out.EmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EmailSelector != nil { + in, out := &in.EmailSelector, &out.EmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountInitParameters. diff --git a/apis/beyondcorp/v1beta1/zz_generated.resolvers.go b/apis/beyondcorp/v1beta1/zz_generated.resolvers.go index 19a7361fa..8d6505f41 100644 --- a/apis/beyondcorp/v1beta1/zz_generated.resolvers.go +++ b/apis/beyondcorp/v1beta1/zz_generated.resolvers.go @@ -50,6 +50,24 @@ func (mg *AppConnection) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Gateway[i3].AppGateway = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Gateway[i3].AppGatewayRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Gateway); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Gateway[i3].AppGateway), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Gateway[i3].AppGatewayRef, + Selector: mg.Spec.InitProvider.Gateway[i3].AppGatewaySelector, + To: reference.To{ + List: &AppGatewayList{}, + Managed: &AppGateway{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Gateway[i3].AppGateway") + } + mg.Spec.InitProvider.Gateway[i3].AppGateway = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Gateway[i3].AppGatewayRef = rsp.ResolvedReference + } return nil @@ -82,6 +100,26 @@ func (mg *AppConnector) ResolveReferences(ctx context.Context, c client.Reader) } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PrincipalInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].Email), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].EmailRef, + Selector: mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].EmailSelector, + To: reference.To{ + List: &v1beta1.ServiceAccountList{}, + Managed: &v1beta1.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].Email") + } + mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].Email = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PrincipalInfo[i3].ServiceAccount[i4].EmailRef = rsp.ResolvedReference + + } + } return nil } diff --git a/apis/bigquery/v1beta1/zz_analyticshubdataexchangeiammember_types.go b/apis/bigquery/v1beta1/zz_analyticshubdataexchangeiammember_types.go index 5799fb7b5..55f540531 100755 --- a/apis/bigquery/v1beta1/zz_analyticshubdataexchangeiammember_types.go +++ b/apis/bigquery/v1beta1/zz_analyticshubdataexchangeiammember_types.go @@ -32,6 +32,17 @@ import ( type AnalyticsHubDataExchangeIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.AnalyticsHubDataExchange + DataExchangeID *string `json:"dataExchangeId,omitempty" tf:"data_exchange_id,omitempty"` + + // Reference to a AnalyticsHubDataExchange in bigquery to populate dataExchangeId. + // +kubebuilder:validation:Optional + DataExchangeIDRef *v1.Reference `json:"dataExchangeIdRef,omitempty" tf:"-"` + + // Selector for a AnalyticsHubDataExchange in bigquery to populate dataExchangeId. + // +kubebuilder:validation:Optional + DataExchangeIDSelector *v1.Selector `json:"dataExchangeIdSelector,omitempty" tf:"-"` + Location *string `json:"location,omitempty" tf:"location,omitempty"` Member *string `json:"member,omitempty" tf:"member,omitempty"` diff --git a/apis/bigquery/v1beta1/zz_analyticshublisting_types.go b/apis/bigquery/v1beta1/zz_analyticshublisting_types.go index 6b82c7cd0..bd0281063 100755 --- a/apis/bigquery/v1beta1/zz_analyticshublisting_types.go +++ b/apis/bigquery/v1beta1/zz_analyticshublisting_types.go @@ -191,6 +191,19 @@ type AnalyticsHubListingParameters struct { } type BigqueryDatasetInitParameters struct { + + // Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123 + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Dataset *string `json:"dataset,omitempty" tf:"dataset,omitempty"` + + // Reference to a Dataset in bigquery to populate dataset. + // +kubebuilder:validation:Optional + DatasetRef *v1.Reference `json:"datasetRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate dataset. + // +kubebuilder:validation:Optional + DatasetSelector *v1.Selector `json:"datasetSelector,omitempty" tf:"-"` } type BigqueryDatasetObservation struct { diff --git a/apis/bigquery/v1beta1/zz_connection_types.go b/apis/bigquery/v1beta1/zz_connection_types.go index dd7d8d357..c4d55192e 100755 --- a/apis/bigquery/v1beta1/zz_connection_types.go +++ b/apis/bigquery/v1beta1/zz_connection_types.go @@ -142,6 +142,31 @@ type CloudSQLInitParameters struct { // Structure is documented below. Credential []CredentialInitParameters `json:"credential,omitempty" tf:"credential,omitempty"` + // Database name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.Database + Database *string `json:"database,omitempty" tf:"database,omitempty"` + + // Reference to a Database in sql to populate database. + // +kubebuilder:validation:Optional + DatabaseRef *v1.Reference `json:"databaseRef,omitempty" tf:"-"` + + // Selector for a Database in sql to populate database. + // +kubebuilder:validation:Optional + DatabaseSelector *v1.Selector `json:"databaseSelector,omitempty" tf:"-"` + + // Cloud SQL instance ID in the form project:location:instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.DatabaseInstance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("connection_name",true) + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a DatabaseInstance in sql to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a DatabaseInstance in sql to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + // Type of the Cloud SQL database. // Possible values are: DATABASE_TYPE_UNSPECIFIED, POSTGRES, MYSQL. Type *string `json:"type,omitempty" tf:"type,omitempty"` @@ -403,6 +428,18 @@ type ConnectionParameters struct { } type CredentialInitParameters struct { + + // Username for database. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.User + Username *string `json:"username,omitempty" tf:"username,omitempty"` + + // Reference to a User in sql to populate username. + // +kubebuilder:validation:Optional + UsernameRef *v1.Reference `json:"usernameRef,omitempty" tf:"-"` + + // Selector for a User in sql to populate username. + // +kubebuilder:validation:Optional + UsernameSelector *v1.Selector `json:"usernameSelector,omitempty" tf:"-"` } type CredentialObservation struct { diff --git a/apis/bigquery/v1beta1/zz_dataset_types.go b/apis/bigquery/v1beta1/zz_dataset_types.go index 8cb81f445..7a35d9d74 100755 --- a/apis/bigquery/v1beta1/zz_dataset_types.go +++ b/apis/bigquery/v1beta1/zz_dataset_types.go @@ -95,6 +95,20 @@ type AccessInitParameters struct { // A special group to grant access to. Possible values include: SpecialGroup *string `json:"specialGroup,omitempty" tf:"special_group,omitempty"` + // An email address of a user to grant access to. For example: + // fred@example.com + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + UserByEmail *string `json:"userByEmail,omitempty" tf:"user_by_email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate userByEmail. + // +kubebuilder:validation:Optional + UserByEmailRef *v1.Reference `json:"userByEmailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate userByEmail. + // +kubebuilder:validation:Optional + UserByEmailSelector *v1.Selector `json:"userByEmailSelector,omitempty" tf:"-"` + // A view from a different dataset to grant access to. Queries // executed against that view will have read access to tables in // this dataset. The role field is not required when this field is @@ -212,6 +226,18 @@ type AccessParameters struct { type DatasetDatasetInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` } @@ -477,6 +503,21 @@ type DatasetParameters struct { } type DefaultEncryptionConfigurationInitParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination + // BigQuery table. The BigQuery Service Account associated with your project requires + // access to this encryption key. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameRef *v1.Reference `json:"kmsKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameSelector *v1.Selector `json:"kmsKeyNameSelector,omitempty" tf:"-"` } type DefaultEncryptionConfigurationObservation struct { @@ -507,6 +548,46 @@ type DefaultEncryptionConfigurationParameters struct { } type RoutineInitParameters struct { + + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("dataset_id",false) + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Routine in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + + // The ID of the project containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Reference to a Routine in bigquery to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + + // The ID of the routine. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 256 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + RoutineID *string `json:"routineId,omitempty" tf:"routine_id,omitempty"` + + // Reference to a Routine in bigquery to populate routineId. + // +kubebuilder:validation:Optional + RoutineIDRef *v1.Reference `json:"routineIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate routineId. + // +kubebuilder:validation:Optional + RoutineIDSelector *v1.Selector `json:"routineIdSelector,omitempty" tf:"-"` } type RoutineObservation struct { diff --git a/apis/bigquery/v1beta1/zz_datasetaccess_types.go b/apis/bigquery/v1beta1/zz_datasetaccess_types.go index da176c86f..618712f93 100755 --- a/apis/bigquery/v1beta1/zz_datasetaccess_types.go +++ b/apis/bigquery/v1beta1/zz_datasetaccess_types.go @@ -31,6 +31,18 @@ import ( type DatasetAccessDatasetDatasetInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` } @@ -105,6 +117,20 @@ type DatasetAccessInitParameters struct { // Structure is documented below. Dataset []DatasetAccessDatasetInitParameters `json:"dataset,omitempty" tf:"dataset,omitempty"` + // A unique ID for this dataset, without the project name. The ID + // must contain only letters (a-z, A-Z), numbers (0-9), or + // underscores (_). The maximum length is 1,024 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // A domain to grant access to. Any users signed in with the // domain specified will be granted the specified access Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` @@ -139,6 +165,20 @@ type DatasetAccessInitParameters struct { // A special group to grant access to. Possible values include: SpecialGroup *string `json:"specialGroup,omitempty" tf:"special_group,omitempty"` + // An email address of a user to grant access to. For example: + // fred@example.com + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + UserByEmail *string `json:"userByEmail,omitempty" tf:"user_by_email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate userByEmail. + // +kubebuilder:validation:Optional + UserByEmailRef *v1.Reference `json:"userByEmailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate userByEmail. + // +kubebuilder:validation:Optional + UserByEmailSelector *v1.Selector `json:"userByEmailSelector,omitempty" tf:"-"` + // A view from a different dataset to grant access to. Queries // executed against that view will have read access to tables in // this dataset. The role field is not required when this field is @@ -299,6 +339,46 @@ type DatasetAccessParameters struct { } type DatasetAccessRoutineInitParameters struct { + + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("dataset_id",false) + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Routine in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + + // The ID of the project containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Reference to a Routine in bigquery to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` + + // The ID of the routine. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 256 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Routine + RoutineID *string `json:"routineId,omitempty" tf:"routine_id,omitempty"` + + // Reference to a Routine in bigquery to populate routineId. + // +kubebuilder:validation:Optional + RoutineIDRef *v1.Reference `json:"routineIdRef,omitempty" tf:"-"` + + // Selector for a Routine in bigquery to populate routineId. + // +kubebuilder:validation:Optional + RoutineIDSelector *v1.Selector `json:"routineIdSelector,omitempty" tf:"-"` } type DatasetAccessRoutineObservation struct { @@ -363,8 +443,34 @@ type DatasetAccessRoutineParameters struct { type DatasetAccessViewInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The ID of the table. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 1,024 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type DatasetAccessViewObservation struct { diff --git a/apis/bigquery/v1beta1/zz_datatransferconfig_types.go b/apis/bigquery/v1beta1/zz_datatransferconfig_types.go index 4d5d7d860..b546c08d6 100755 --- a/apis/bigquery/v1beta1/zz_datatransferconfig_types.go +++ b/apis/bigquery/v1beta1/zz_datatransferconfig_types.go @@ -41,6 +41,18 @@ type DataTransferConfigInitParameters struct { // The data source id. Cannot be changed once the transfer config is created. DataSourceID *string `json:"dataSourceId,omitempty" tf:"data_source_id,omitempty"` + // The BigQuery target dataset id. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DestinationDatasetID *string `json:"destinationDatasetId,omitempty" tf:"destination_dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate destinationDatasetId. + // +kubebuilder:validation:Optional + DestinationDatasetIDRef *v1.Reference `json:"destinationDatasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate destinationDatasetId. + // +kubebuilder:validation:Optional + DestinationDatasetIDSelector *v1.Selector `json:"destinationDatasetIdSelector,omitempty" tf:"-"` + // When set to true, no runs are scheduled for a given transfer. Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` diff --git a/apis/bigquery/v1beta1/zz_generated.deepcopy.go b/apis/bigquery/v1beta1/zz_generated.deepcopy.go index 61c7befac..5d15d9665 100644 --- a/apis/bigquery/v1beta1/zz_generated.deepcopy.go +++ b/apis/bigquery/v1beta1/zz_generated.deepcopy.go @@ -152,13 +152,30 @@ func (in *AccessInitParameters) DeepCopyInto(out *AccessInitParameters) { if in.Routine != nil { in, out := &in.Routine, &out.Routine *out = make([]RoutineInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.SpecialGroup != nil { in, out := &in.SpecialGroup, &out.SpecialGroup *out = new(string) **out = **in } + if in.UserByEmail != nil { + in, out := &in.UserByEmail, &out.UserByEmail + *out = new(string) + **out = **in + } + if in.UserByEmailRef != nil { + in, out := &in.UserByEmailRef, &out.UserByEmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.UserByEmailSelector != nil { + in, out := &in.UserByEmailSelector, &out.UserByEmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.View != nil { in, out := &in.View, &out.View *out = make([]ViewInitParameters, len(*in)) @@ -439,6 +456,21 @@ func (in *AnalyticsHubDataExchangeIAMMemberInitParameters) DeepCopyInto(out *Ana (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DataExchangeID != nil { + in, out := &in.DataExchangeID, &out.DataExchangeID + *out = new(string) + **out = **in + } + if in.DataExchangeIDRef != nil { + in, out := &in.DataExchangeIDRef, &out.DataExchangeIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DataExchangeIDSelector != nil { + in, out := &in.DataExchangeIDSelector, &out.DataExchangeIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Location != nil { in, out := &in.Location, &out.Location *out = new(string) @@ -932,7 +964,9 @@ func (in *AnalyticsHubListingInitParameters) DeepCopyInto(out *AnalyticsHubListi if in.BigqueryDataset != nil { in, out := &in.BigqueryDataset, &out.BigqueryDataset *out = make([]BigqueryDatasetInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Categories != nil { in, out := &in.Categories, &out.Categories @@ -1676,6 +1710,21 @@ func (in *AzureParameters) DeepCopy() *AzureParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BigqueryDatasetInitParameters) DeepCopyInto(out *BigqueryDatasetInitParameters) { *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.DatasetRef != nil { + in, out := &in.DatasetRef, &out.DatasetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetSelector != nil { + in, out := &in.DatasetSelector, &out.DatasetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryDatasetInitParameters. @@ -1794,7 +1843,39 @@ func (in *CloudSQLInitParameters) DeepCopyInto(out *CloudSQLInitParameters) { if in.Credential != nil { in, out := &in.Credential, &out.Credential *out = make([]CredentialInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.DatabaseRef != nil { + in, out := &in.DatabaseRef, &out.DatabaseRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatabaseSelector != nil { + in, out := &in.DatabaseSelector, &out.DatabaseSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) } if in.Type != nil { in, out := &in.Type, &out.Type @@ -2433,7 +2514,9 @@ func (in *CopyInitParameters) DeepCopyInto(out *CopyInitParameters) { if in.DestinationEncryptionConfiguration != nil { in, out := &in.DestinationEncryptionConfiguration, &out.DestinationEncryptionConfiguration *out = make([]DestinationEncryptionConfigurationInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.DestinationTable != nil { in, out := &in.DestinationTable, &out.DestinationTable @@ -2561,6 +2644,21 @@ func (in *CopyParameters) DeepCopy() *CopyParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CredentialInitParameters) DeepCopyInto(out *CredentialInitParameters) { *out = *in + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } + if in.UsernameRef != nil { + in, out := &in.UsernameRef, &out.UsernameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.UsernameSelector != nil { + in, out := &in.UsernameSelector, &out.UsernameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialInitParameters. @@ -2874,6 +2972,21 @@ func (in *DataTransferConfigInitParameters) DeepCopyInto(out *DataTransferConfig *out = new(string) **out = **in } + if in.DestinationDatasetID != nil { + in, out := &in.DestinationDatasetID, &out.DestinationDatasetID + *out = new(string) + **out = **in + } + if in.DestinationDatasetIDRef != nil { + in, out := &in.DestinationDatasetIDRef, &out.DestinationDatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DestinationDatasetIDSelector != nil { + in, out := &in.DestinationDatasetIDSelector, &out.DestinationDatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -3300,6 +3413,21 @@ func (in *DatasetAccess) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DatasetAccessDatasetDatasetInitParameters) DeepCopyInto(out *DatasetAccessDatasetDatasetInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) @@ -3486,6 +3614,21 @@ func (in *DatasetAccessInitParameters) DeepCopyInto(out *DatasetAccessInitParame (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Domain != nil { in, out := &in.Domain, &out.Domain *out = new(string) @@ -3514,13 +3657,30 @@ func (in *DatasetAccessInitParameters) DeepCopyInto(out *DatasetAccessInitParame if in.Routine != nil { in, out := &in.Routine, &out.Routine *out = make([]DatasetAccessRoutineInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.SpecialGroup != nil { in, out := &in.SpecialGroup, &out.SpecialGroup *out = new(string) **out = **in } + if in.UserByEmail != nil { + in, out := &in.UserByEmail, &out.UserByEmail + *out = new(string) + **out = **in + } + if in.UserByEmailRef != nil { + in, out := &in.UserByEmailRef, &out.UserByEmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.UserByEmailSelector != nil { + in, out := &in.UserByEmailSelector, &out.UserByEmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.View != nil { in, out := &in.View, &out.View *out = make([]DatasetAccessViewInitParameters, len(*in)) @@ -3757,6 +3917,51 @@ func (in *DatasetAccessParameters) DeepCopy() *DatasetAccessParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DatasetAccessRoutineInitParameters) DeepCopyInto(out *DatasetAccessRoutineInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.ProjectIDRef != nil { + in, out := &in.ProjectIDRef, &out.ProjectIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectIDSelector != nil { + in, out := &in.ProjectIDSelector, &out.ProjectIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RoutineID != nil { + in, out := &in.RoutineID, &out.RoutineID + *out = new(string) + **out = **in + } + if in.RoutineIDRef != nil { + in, out := &in.RoutineIDRef, &out.RoutineIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RoutineIDSelector != nil { + in, out := &in.RoutineIDSelector, &out.RoutineIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessRoutineInitParameters. @@ -3897,11 +4102,41 @@ func (in *DatasetAccessStatus) DeepCopy() *DatasetAccessStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DatasetAccessViewInitParameters) DeepCopyInto(out *DatasetAccessViewInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessViewInitParameters. @@ -3997,6 +4232,21 @@ func (in *DatasetAccessViewParameters) DeepCopy() *DatasetAccessViewParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DatasetDatasetInitParameters) DeepCopyInto(out *DatasetDatasetInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) @@ -4944,7 +5194,9 @@ func (in *DatasetInitParameters) DeepCopyInto(out *DatasetInitParameters) { if in.DefaultEncryptionConfiguration != nil { in, out := &in.DefaultEncryptionConfiguration, &out.DefaultEncryptionConfiguration *out = make([]DefaultEncryptionConfigurationInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.DefaultPartitionExpirationMs != nil { in, out := &in.DefaultPartitionExpirationMs, &out.DefaultPartitionExpirationMs @@ -5314,6 +5566,21 @@ func (in *DatasetStatus) DeepCopy() *DatasetStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DefaultDatasetInitParameters) DeepCopyInto(out *DefaultDatasetInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) @@ -5394,6 +5661,21 @@ func (in *DefaultDatasetParameters) DeepCopy() *DefaultDatasetParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DefaultEncryptionConfigurationInitParameters) DeepCopyInto(out *DefaultEncryptionConfigurationInitParameters) { *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.KMSKeyNameRef != nil { + in, out := &in.KMSKeyNameRef, &out.KMSKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyNameSelector != nil { + in, out := &in.KMSKeyNameSelector, &out.KMSKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultEncryptionConfigurationInitParameters. @@ -5459,6 +5741,21 @@ func (in *DefaultEncryptionConfigurationParameters) DeepCopy() *DefaultEncryptio // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DestinationEncryptionConfigurationInitParameters) DeepCopyInto(out *DestinationEncryptionConfigurationInitParameters) { *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.KMSKeyNameRef != nil { + in, out := &in.KMSKeyNameRef, &out.KMSKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyNameSelector != nil { + in, out := &in.KMSKeyNameSelector, &out.KMSKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationEncryptionConfigurationInitParameters. @@ -5529,11 +5826,41 @@ func (in *DestinationEncryptionConfigurationParameters) DeepCopy() *DestinationE // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DestinationTableInitParameters) DeepCopyInto(out *DestinationTableInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationTableInitParameters. @@ -7141,11 +7468,41 @@ func (in *LoadDestinationEncryptionConfigurationParameters) DeepCopy() *LoadDest // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LoadDestinationTableInitParameters) DeepCopyInto(out *LoadDestinationTableInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadDestinationTableInitParameters. @@ -7984,11 +8341,41 @@ func (in *QueryDestinationEncryptionConfigurationParameters) DeepCopy() *QueryDe // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *QueryDestinationTableInitParameters) DeepCopyInto(out *QueryDestinationTableInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryDestinationTableInitParameters. @@ -9124,6 +9511,51 @@ func (in *Routine) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RoutineInitParameters) DeepCopyInto(out *RoutineInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.ProjectIDRef != nil { + in, out := &in.ProjectIDRef, &out.ProjectIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectIDSelector != nil { + in, out := &in.ProjectIDSelector, &out.ProjectIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RoutineID != nil { + in, out := &in.RoutineID, &out.RoutineID + *out = new(string) + **out = **in + } + if in.RoutineIDRef != nil { + in, out := &in.RoutineIDRef, &out.RoutineIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RoutineIDSelector != nil { + in, out := &in.RoutineIDSelector, &out.RoutineIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineInitParameters. @@ -9866,11 +10298,41 @@ func (in *SourceModelParameters) DeepCopy() *SourceModelParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SourceTableInitParameters) DeepCopyInto(out *SourceTableInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceTableInitParameters. @@ -10271,6 +10733,21 @@ func (in *TableIAMBindingInitParameters) DeepCopyInto(out *TableIAMBindingInitPa (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Members != nil { in, out := &in.Members, &out.Members *out = make([]*string, len(*in)) @@ -10292,6 +10769,21 @@ func (in *TableIAMBindingInitParameters) DeepCopyInto(out *TableIAMBindingInitPa *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingInitParameters. @@ -10872,6 +11364,21 @@ func (in *TableIAMPolicy) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TableIAMPolicyInitParameters) DeepCopyInto(out *TableIAMPolicyInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PolicyData != nil { in, out := &in.PolicyData, &out.PolicyData *out = new(string) @@ -10882,6 +11389,21 @@ func (in *TableIAMPolicyInitParameters) DeepCopyInto(out *TableIAMPolicyInitPara *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyInitParameters. diff --git a/apis/bigquery/v1beta1/zz_generated.resolvers.go b/apis/bigquery/v1beta1/zz_generated.resolvers.go index 5f018d0cf..50f720026 100644 --- a/apis/bigquery/v1beta1/zz_generated.resolvers.go +++ b/apis/bigquery/v1beta1/zz_generated.resolvers.go @@ -51,6 +51,22 @@ func (mg *AnalyticsHubDataExchangeIAMMember) ResolveReferences(ctx context.Conte mg.Spec.ForProvider.DataExchangeID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DataExchangeIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DataExchangeID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DataExchangeIDRef, + Selector: mg.Spec.InitProvider.DataExchangeIDSelector, + To: reference.To{ + List: &AnalyticsHubDataExchangeList{}, + Managed: &AnalyticsHubDataExchange{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DataExchangeID") + } + mg.Spec.InitProvider.DataExchangeID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DataExchangeIDRef = rsp.ResolvedReference + return nil } @@ -95,6 +111,25 @@ func (mg *AnalyticsHubListing) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.DataExchangeID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DataExchangeIDRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.BigqueryDataset); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BigqueryDataset[i3].Dataset), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BigqueryDataset[i3].DatasetRef, + Selector: mg.Spec.InitProvider.BigqueryDataset[i3].DatasetSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BigqueryDataset[i3].Dataset") + } + mg.Spec.InitProvider.BigqueryDataset[i3].Dataset = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BigqueryDataset[i3].DatasetRef = rsp.ResolvedReference + + } + return nil } @@ -160,6 +195,62 @@ func (mg *Connection) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.CloudSQL[i3].InstanceID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CloudSQL[i3].InstanceIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CloudSQL); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.CloudSQL[i3].Credential); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].Username), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].UsernameRef, + Selector: mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].UsernameSelector, + To: reference.To{ + List: &v1beta1.UserList{}, + Managed: &v1beta1.User{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].Username") + } + mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].Username = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudSQL[i3].Credential[i4].UsernameRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CloudSQL); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudSQL[i3].Database), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CloudSQL[i3].DatabaseRef, + Selector: mg.Spec.InitProvider.CloudSQL[i3].DatabaseSelector, + To: reference.To{ + List: &v1beta1.DatabaseList{}, + Managed: &v1beta1.Database{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudSQL[i3].Database") + } + mg.Spec.InitProvider.CloudSQL[i3].Database = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudSQL[i3].DatabaseRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CloudSQL); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudSQL[i3].InstanceID), + Extract: resource.ExtractParamPath("connection_name", true), + Reference: mg.Spec.InitProvider.CloudSQL[i3].InstanceIDRef, + Selector: mg.Spec.InitProvider.CloudSQL[i3].InstanceIDSelector, + To: reference.To{ + List: &v1beta1.DatabaseInstanceList{}, + Managed: &v1beta1.DatabaseInstance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudSQL[i3].InstanceID") + } + mg.Spec.InitProvider.CloudSQL[i3].InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudSQL[i3].InstanceIDRef = rsp.ResolvedReference + } return nil @@ -188,6 +279,22 @@ func (mg *DataTransferConfig) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.DestinationDatasetID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DestinationDatasetIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DestinationDatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DestinationDatasetIDRef, + Selector: mg.Spec.InitProvider.DestinationDatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DestinationDatasetID") + } + mg.Spec.InitProvider.DestinationDatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DestinationDatasetIDRef = rsp.ResolvedReference + return nil } @@ -315,6 +422,124 @@ func (mg *Dataset) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.DefaultEncryptionConfiguration[i3].KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DefaultEncryptionConfiguration[i3].KMSKeyNameRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Access); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Access[i3].Dataset); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetIDRef, + Selector: mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetID") + } + mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Access[i3].Dataset[i4].Dataset[i5].DatasetIDRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Access); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Access[i3].Routine); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetID), + Extract: resource.ExtractParamPath("dataset_id", false), + Reference: mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetID") + } + mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Access[i3].Routine[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Access); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Access[i3].Routine); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectID), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectIDRef, + Selector: mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectID") + } + mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Access[i3].Routine[i4].ProjectIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Access); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Access[i3].Routine); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineIDRef, + Selector: mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineID") + } + mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Access[i3].Routine[i4].RoutineIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Access); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Access[i3].UserByEmail), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.Access[i3].UserByEmailRef, + Selector: mg.Spec.InitProvider.Access[i3].UserByEmailSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Access[i3].UserByEmail") + } + mg.Spec.InitProvider.Access[i3].UserByEmail = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Access[i3].UserByEmailRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.DefaultEncryptionConfiguration); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyNameRef, + Selector: mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyNameSelector, + To: reference.To{ + List: &v1beta12.CryptoKeyList{}, + Managed: &v1beta12.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyName") + } + mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultEncryptionConfiguration[i3].KMSKeyNameRef = rsp.ResolvedReference + } return nil @@ -468,6 +693,148 @@ func (mg *DatasetAccess) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.View[i3].TableID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.View[i3].TableIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Dataset); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Dataset[i3].Dataset); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetID") + } + mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Dataset[i3].Dataset[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DatasetIDRef, + Selector: mg.Spec.InitProvider.DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DatasetID") + } + mg.Spec.InitProvider.DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatasetIDRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Routine); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Routine[i3].DatasetID), + Extract: resource.ExtractParamPath("dataset_id", false), + Reference: mg.Spec.InitProvider.Routine[i3].DatasetIDRef, + Selector: mg.Spec.InitProvider.Routine[i3].DatasetIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Routine[i3].DatasetID") + } + mg.Spec.InitProvider.Routine[i3].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Routine[i3].DatasetIDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Routine); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Routine[i3].ProjectID), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.Routine[i3].ProjectIDRef, + Selector: mg.Spec.InitProvider.Routine[i3].ProjectIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Routine[i3].ProjectID") + } + mg.Spec.InitProvider.Routine[i3].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Routine[i3].ProjectIDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Routine); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Routine[i3].RoutineID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Routine[i3].RoutineIDRef, + Selector: mg.Spec.InitProvider.Routine[i3].RoutineIDSelector, + To: reference.To{ + List: &RoutineList{}, + Managed: &Routine{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Routine[i3].RoutineID") + } + mg.Spec.InitProvider.Routine[i3].RoutineID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Routine[i3].RoutineIDRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.UserByEmail), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.UserByEmailRef, + Selector: mg.Spec.InitProvider.UserByEmailSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.UserByEmail") + } + mg.Spec.InitProvider.UserByEmail = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.UserByEmailRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.View); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.View[i3].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.View[i3].DatasetIDRef, + Selector: mg.Spec.InitProvider.View[i3].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.View[i3].DatasetID") + } + mg.Spec.InitProvider.View[i3].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.View[i3].DatasetIDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.View); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.View[i3].TableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.View[i3].TableIDRef, + Selector: mg.Spec.InitProvider.View[i3].TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.View[i3].TableID") + } + mg.Spec.InitProvider.View[i3].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.View[i3].TableIDRef = rsp.ResolvedReference + } return nil @@ -758,6 +1125,206 @@ func (mg *Job) ResolveReferences(ctx context.Context, c client.Reader) error { } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Copy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyNameRef, + Selector: mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyNameSelector, + To: reference.To{ + List: &v1beta12.CryptoKeyList{}, + Managed: &v1beta12.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyName") + } + mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Copy[i3].DestinationEncryptionConfiguration[i4].KMSKeyNameRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Copy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Copy[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetID") + } + mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Copy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Copy[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableIDRef, + Selector: mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableID") + } + mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Copy[i3].DestinationTable[i4].TableIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Extract); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Extract[i3].SourceTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetID") + } + mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Extract[i3].SourceTable[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Extract); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Extract[i3].SourceTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableIDRef, + Selector: mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableID") + } + mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Extract[i3].SourceTable[i4].TableIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Load); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Load[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetID") + } + mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Load[i3].DestinationTable[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Load); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Load[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableIDRef, + Selector: mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableID") + } + mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Load[i3].DestinationTable[i4].TableIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Query); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Query[i3].DefaultDataset); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetID") + } + mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Query[i3].DefaultDataset[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Query); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Query[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetIDRef, + Selector: mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetID") + } + mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Query[i3].DestinationTable[i4].DatasetIDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Query); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Query[i3].DestinationTable); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableIDRef, + Selector: mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableID") + } + mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Query[i3].DestinationTable[i4].TableIDRef = rsp.ResolvedReference + + } + } return nil } @@ -879,6 +1446,38 @@ func (mg *TableIAMBinding) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.TableID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TableIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DatasetIDRef, + Selector: mg.Spec.InitProvider.DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DatasetID") + } + mg.Spec.InitProvider.DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatasetIDRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TableIDRef, + Selector: mg.Spec.InitProvider.TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TableID") + } + mg.Spec.InitProvider.TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TableIDRef = rsp.ResolvedReference + return nil } @@ -963,5 +1562,37 @@ func (mg *TableIAMPolicy) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.TableID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TableIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DatasetIDRef, + Selector: mg.Spec.InitProvider.DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DatasetID") + } + mg.Spec.InitProvider.DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatasetIDRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TableIDRef, + Selector: mg.Spec.InitProvider.TableIDSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TableID") + } + mg.Spec.InitProvider.TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TableIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/bigquery/v1beta1/zz_job_types.go b/apis/bigquery/v1beta1/zz_job_types.go index 53f24b2c0..b9be981e3 100755 --- a/apis/bigquery/v1beta1/zz_job_types.go +++ b/apis/bigquery/v1beta1/zz_job_types.go @@ -135,6 +135,19 @@ type CopyParameters struct { type DefaultDatasetInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` } @@ -170,6 +183,20 @@ type DefaultDatasetParameters struct { } type DestinationEncryptionConfigurationInitParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. + // The BigQuery Service Account associated with your project requires access to this encryption key. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameRef *v1.Reference `json:"kmsKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameSelector *v1.Selector `json:"kmsKeyNameSelector,omitempty" tf:"-"` } type DestinationEncryptionConfigurationObservation struct { @@ -203,8 +230,34 @@ type DestinationEncryptionConfigurationParameters struct { type DestinationTableInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified {{table_id}} if project_id and dataset_id are also set, + // or of the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} if not. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type DestinationTableObservation struct { @@ -557,8 +610,34 @@ type LoadDestinationEncryptionConfigurationParameters struct { type LoadDestinationTableInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified {{table_id}} if project_id and dataset_id are also set, + // or of the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} if not. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type LoadDestinationTableObservation struct { @@ -1068,8 +1147,34 @@ type QueryDestinationEncryptionConfigurationParameters struct { type QueryDestinationTableInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified {{table_id}} if project_id and dataset_id are also set, + // or of the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} if not. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type QueryDestinationTableObservation struct { @@ -1496,8 +1601,34 @@ type SourceModelParameters struct { type SourceTableInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified {{table_id}} if project_id and dataset_id are also set, + // or of the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} if not. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type SourceTableObservation struct { diff --git a/apis/bigquery/v1beta1/zz_tableiambinding_types.go b/apis/bigquery/v1beta1/zz_tableiambinding_types.go index 24dd7d726..d52a20135 100755 --- a/apis/bigquery/v1beta1/zz_tableiambinding_types.go +++ b/apis/bigquery/v1beta1/zz_tableiambinding_types.go @@ -60,12 +60,34 @@ type TableIAMBindingConditionParameters struct { type TableIAMBindingInitParameters struct { Condition []TableIAMBindingConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // +listType=set Members []*string `json:"members,omitempty" tf:"members,omitempty"` Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type TableIAMBindingObservation struct { diff --git a/apis/bigquery/v1beta1/zz_tableiampolicy_types.go b/apis/bigquery/v1beta1/zz_tableiampolicy_types.go index 0fa367a5c..f97c54359 100755 --- a/apis/bigquery/v1beta1/zz_tableiampolicy_types.go +++ b/apis/bigquery/v1beta1/zz_tableiampolicy_types.go @@ -31,6 +31,17 @@ import ( type TableIAMPolicyInitParameters struct { + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The policy data generated by // a google_iam_policy data source. PolicyData *string `json:"policyData,omitempty" tf:"policy_data,omitempty"` @@ -38,6 +49,17 @@ type TableIAMPolicyInitParameters struct { // 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. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type TableIAMPolicyObservation struct { diff --git a/apis/bigtable/v1beta1/zz_garbagecollectionpolicy_types.go b/apis/bigtable/v1beta1/zz_garbagecollectionpolicy_types.go index a9230a34e..562edfe6f 100755 --- a/apis/bigtable/v1beta1/zz_garbagecollectionpolicy_types.go +++ b/apis/bigtable/v1beta1/zz_garbagecollectionpolicy_types.go @@ -41,6 +41,18 @@ type GarbageCollectionPolicyInitParameters struct { // Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version. GcRules *string `json:"gcRules,omitempty" tf:"gc_rules,omitempty"` + // The name of the Bigtable instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigtable/v1beta1.Instance + InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"` + + // Reference to a Instance in bigtable to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameRef *v1.Reference `json:"instanceNameRef,omitempty" tf:"-"` + + // Selector for a Instance in bigtable to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameSelector *v1.Selector `json:"instanceNameSelector,omitempty" tf:"-"` + // GC policy that applies to all cells older than the given age. MaxAge []MaxAgeInitParameters `json:"maxAge,omitempty" tf:"max_age,omitempty"` @@ -52,6 +64,18 @@ type GarbageCollectionPolicyInitParameters struct { // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigtable/v1beta1.Table + Table *string `json:"table,omitempty" tf:"table,omitempty"` + + // Reference to a Table in bigtable to populate table. + // +kubebuilder:validation:Optional + TableRef *v1.Reference `json:"tableRef,omitempty" tf:"-"` + + // Selector for a Table in bigtable to populate table. + // +kubebuilder:validation:Optional + TableSelector *v1.Selector `json:"tableSelector,omitempty" tf:"-"` } type GarbageCollectionPolicyObservation struct { diff --git a/apis/bigtable/v1beta1/zz_generated.deepcopy.go b/apis/bigtable/v1beta1/zz_generated.deepcopy.go index a5276192e..f0e0e5e35 100644 --- a/apis/bigtable/v1beta1/zz_generated.deepcopy.go +++ b/apis/bigtable/v1beta1/zz_generated.deepcopy.go @@ -749,6 +749,21 @@ func (in *GarbageCollectionPolicyInitParameters) DeepCopyInto(out *GarbageCollec *out = new(string) **out = **in } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.InstanceNameRef != nil { + in, out := &in.InstanceNameRef, &out.InstanceNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceNameSelector != nil { + in, out := &in.InstanceNameSelector, &out.InstanceNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MaxAge != nil { in, out := &in.MaxAge, &out.MaxAge *out = make([]MaxAgeInitParameters, len(*in)) @@ -773,6 +788,21 @@ func (in *GarbageCollectionPolicyInitParameters) DeepCopyInto(out *GarbageCollec *out = new(string) **out = **in } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = new(string) + **out = **in + } + if in.TableRef != nil { + in, out := &in.TableRef, &out.TableRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableSelector != nil { + in, out := &in.TableSelector, &out.TableSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicyInitParameters. diff --git a/apis/bigtable/v1beta1/zz_generated.resolvers.go b/apis/bigtable/v1beta1/zz_generated.resolvers.go index 932152e8f..a1201712b 100644 --- a/apis/bigtable/v1beta1/zz_generated.resolvers.go +++ b/apis/bigtable/v1beta1/zz_generated.resolvers.go @@ -89,6 +89,38 @@ func (mg *GarbageCollectionPolicy) ResolveReferences(ctx context.Context, c clie mg.Spec.ForProvider.Table = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TableRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceNameRef, + Selector: mg.Spec.InitProvider.InstanceNameSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceName") + } + mg.Spec.InitProvider.InstanceName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceNameRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Table), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TableRef, + Selector: mg.Spec.InitProvider.TableSelector, + To: reference.To{ + List: &TableList{}, + Managed: &Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Table") + } + mg.Spec.InitProvider.Table = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TableRef = rsp.ResolvedReference + return nil } diff --git a/apis/binaryauthorization/v1beta1/zz_attestor_types.go b/apis/binaryauthorization/v1beta1/zz_attestor_types.go index 8df3cc830..5459c7d1b 100755 --- a/apis/binaryauthorization/v1beta1/zz_attestor_types.go +++ b/apis/binaryauthorization/v1beta1/zz_attestor_types.go @@ -31,6 +31,24 @@ import ( type AttestationAuthorityNoteInitParameters struct { + // The resource name of a ATTESTATION_AUTHORITY Note, created by the + // user. If the Note is in a different project from the Attestor, it + // should be specified in the format projects/*/notes/* (or the legacy + // providers/*/notes/*). This field may not be updated. + // An attestation by this attestor is stored as a Container Analysis + // ATTESTATION_AUTHORITY Occurrence that names a container image + // and that links to this Note. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/containeranalysis/v1beta1.Note + NoteReference *string `json:"noteReference,omitempty" tf:"note_reference,omitempty"` + + // Reference to a Note in containeranalysis to populate noteReference. + // +kubebuilder:validation:Optional + NoteReferenceRef *v1.Reference `json:"noteReferenceRef,omitempty" tf:"-"` + + // Selector for a Note in containeranalysis to populate noteReference. + // +kubebuilder:validation:Optional + NoteReferenceSelector *v1.Selector `json:"noteReferenceSelector,omitempty" tf:"-"` + // Public keys that verify attestations signed by this attestor. This // field may be updated. // If this field is non-empty, one of the specified public keys must diff --git a/apis/binaryauthorization/v1beta1/zz_generated.deepcopy.go b/apis/binaryauthorization/v1beta1/zz_generated.deepcopy.go index 834b668b8..504865bfb 100644 --- a/apis/binaryauthorization/v1beta1/zz_generated.deepcopy.go +++ b/apis/binaryauthorization/v1beta1/zz_generated.deepcopy.go @@ -88,6 +88,21 @@ func (in *AdmissionWhitelistPatternsParameters) DeepCopy() *AdmissionWhitelistPa // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AttestationAuthorityNoteInitParameters) DeepCopyInto(out *AttestationAuthorityNoteInitParameters) { *out = *in + if in.NoteReference != nil { + in, out := &in.NoteReference, &out.NoteReference + *out = new(string) + **out = **in + } + if in.NoteReferenceRef != nil { + in, out := &in.NoteReferenceRef, &out.NoteReferenceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NoteReferenceSelector != nil { + in, out := &in.NoteReferenceSelector, &out.NoteReferenceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PublicKeys != nil { in, out := &in.PublicKeys, &out.PublicKeys *out = make([]PublicKeysInitParameters, len(*in)) diff --git a/apis/binaryauthorization/v1beta1/zz_generated.resolvers.go b/apis/binaryauthorization/v1beta1/zz_generated.resolvers.go index 71db52dfe..f31ce116c 100644 --- a/apis/binaryauthorization/v1beta1/zz_generated.resolvers.go +++ b/apis/binaryauthorization/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,24 @@ func (mg *Attestor) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.AttestationAuthorityNote[i3].NoteReference = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AttestationAuthorityNote[i3].NoteReferenceRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.AttestationAuthorityNote); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReference), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReferenceRef, + Selector: mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReferenceSelector, + To: reference.To{ + List: &v1beta1.NoteList{}, + Managed: &v1beta1.Note{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReference") + } + mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReference = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AttestationAuthorityNote[i3].NoteReferenceRef = rsp.ResolvedReference + } return nil diff --git a/apis/cloud/v1beta1/zz_generated.deepcopy.go b/apis/cloud/v1beta1/zz_generated.deepcopy.go index 2c7a5ff40..2f58eb481 100644 --- a/apis/cloud/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloud/v1beta1/zz_generated.deepcopy.go @@ -70,6 +70,21 @@ func (in *IdsEndpointInitParameters) DeepCopyInto(out *IdsEndpointInitParameters *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) diff --git a/apis/cloud/v1beta1/zz_generated.resolvers.go b/apis/cloud/v1beta1/zz_generated.resolvers.go index abc9a32c6..45c804de1 100644 --- a/apis/cloud/v1beta1/zz_generated.resolvers.go +++ b/apis/cloud/v1beta1/zz_generated.resolvers.go @@ -49,5 +49,21 @@ func (mg *IdsEndpoint) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } diff --git a/apis/cloud/v1beta1/zz_idsendpoint_types.go b/apis/cloud/v1beta1/zz_idsendpoint_types.go index 96f40acf1..5438e373e 100755 --- a/apis/cloud/v1beta1/zz_idsendpoint_types.go +++ b/apis/cloud/v1beta1/zz_idsendpoint_types.go @@ -40,6 +40,19 @@ type IdsEndpointInitParameters struct { // Name of the endpoint in the format projects/{project_id}/locations/{locationId}/endpoints/{endpointId}. Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Name of the VPC network that is connected to the IDS endpoint. This can either contain the VPC network name itself (like "src-net") or the full URL to the network (like "projects/{project_id}/global/networks/src-net"). + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go b/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go index d66bd0b69..b1f9c1f87 100644 --- a/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go @@ -1162,11 +1162,26 @@ func (in *GithubPushParameters) DeepCopy() *GithubPushParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkConfigInitParameters) DeepCopyInto(out *NetworkConfigInitParameters) { *out = *in + if in.PeeredNetwork != nil { + in, out := &in.PeeredNetwork, &out.PeeredNetwork + *out = new(string) + **out = **in + } if in.PeeredNetworkIPRange != nil { in, out := &in.PeeredNetworkIPRange, &out.PeeredNetworkIPRange *out = new(string) **out = **in } + if in.PeeredNetworkRef != nil { + in, out := &in.PeeredNetworkRef, &out.PeeredNetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PeeredNetworkSelector != nil { + in, out := &in.PeeredNetworkSelector, &out.PeeredNetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfigInitParameters. @@ -1632,6 +1647,21 @@ func (in *PubsubConfigInitParameters) DeepCopyInto(out *PubsubConfigInitParamete *out = new(string) **out = **in } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigInitParameters. @@ -3476,6 +3506,21 @@ func (in *TriggerInitParameters) DeepCopyInto(out *TriggerInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceToBuild != nil { in, out := &in.SourceToBuild, &out.SourceToBuild *out = make([]SourceToBuildInitParameters, len(*in)) @@ -3520,7 +3565,9 @@ func (in *TriggerInitParameters) DeepCopyInto(out *TriggerInitParameters) { if in.WebhookConfig != nil { in, out := &in.WebhookConfig, &out.WebhookConfig *out = make([]WebhookConfigInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -4212,6 +4259,21 @@ func (in *VolumesParameters) DeepCopy() *VolumesParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WebhookConfigInitParameters) DeepCopyInto(out *WebhookConfigInitParameters) { *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfigInitParameters. diff --git a/apis/cloudbuild/v1beta1/zz_generated.resolvers.go b/apis/cloudbuild/v1beta1/zz_generated.resolvers.go index ad0d20a60..5af8c9c30 100644 --- a/apis/cloudbuild/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudbuild/v1beta1/zz_generated.resolvers.go @@ -87,6 +87,58 @@ func (mg *Trigger) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.WebhookConfig[i3].Secret = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.WebhookConfig[i3].SecretRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PubsubConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PubsubConfig[i3].Topic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PubsubConfig[i3].TopicRef, + Selector: mg.Spec.InitProvider.PubsubConfig[i3].TopicSelector, + To: reference.To{ + List: &v1beta1.TopicList{}, + Managed: &v1beta1.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PubsubConfig[i3].Topic") + } + mg.Spec.InitProvider.PubsubConfig[i3].Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PubsubConfig[i3].TopicRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccount), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ServiceAccountRef, + Selector: mg.Spec.InitProvider.ServiceAccountSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccount") + } + mg.Spec.InitProvider.ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccountRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.WebhookConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.WebhookConfig[i3].Secret), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.WebhookConfig[i3].SecretRef, + Selector: mg.Spec.InitProvider.WebhookConfig[i3].SecretSelector, + To: reference.To{ + List: &v1beta12.SecretVersionList{}, + Managed: &v1beta12.SecretVersion{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.WebhookConfig[i3].Secret") + } + mg.Spec.InitProvider.WebhookConfig[i3].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.WebhookConfig[i3].SecretRef = rsp.ResolvedReference + } return nil @@ -116,6 +168,24 @@ func (mg *WorkerPool) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.NetworkConfig[i3].PeeredNetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkConfig[i3].PeeredNetworkRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetwork), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetworkRef, + Selector: mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetworkSelector, + To: reference.To{ + List: &v1beta13.NetworkList{}, + Managed: &v1beta13.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetwork") + } + mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkConfig[i3].PeeredNetworkRef = rsp.ResolvedReference + } return nil diff --git a/apis/cloudbuild/v1beta1/zz_trigger_types.go b/apis/cloudbuild/v1beta1/zz_trigger_types.go index 2135adbbc..ee97c772e 100755 --- a/apis/cloudbuild/v1beta1/zz_trigger_types.go +++ b/apis/cloudbuild/v1beta1/zz_trigger_types.go @@ -890,6 +890,19 @@ type PubsubConfigInitParameters struct { // Service account that will make the push request. ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // The name of the topic from which this subscription is receiving messages. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type PubsubConfigObservation struct { @@ -1926,6 +1939,23 @@ type TriggerInitParameters struct { // Structure is documented below. RepositoryEventConfig []RepositoryEventConfigInitParameters `json:"repositoryEventConfig,omitempty" tf:"repository_event_config,omitempty"` + // The service account used for all user-controlled operations including + // triggers.patch, triggers.run, builds.create, and builds.cancel. + // If no service account is set, then the standard Cloud Build service account + // ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + // Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + // The repo and ref of the repository from which to build. // This field is used only for those triggers that do not respond to SCM events. // Triggers that respond to such events build source at whatever commit caused the event. @@ -2383,6 +2413,19 @@ type VolumesParameters struct { } type WebhookConfigInitParameters struct { + + // Resource name for the secret required as a URL parameter. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.SecretVersion + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a SecretVersion in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a SecretVersion in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` } type WebhookConfigObservation struct { diff --git a/apis/cloudbuild/v1beta1/zz_workerpool_types.go b/apis/cloudbuild/v1beta1/zz_workerpool_types.go index 9bf3eae1d..c28b539d2 100755 --- a/apis/cloudbuild/v1beta1/zz_workerpool_types.go +++ b/apis/cloudbuild/v1beta1/zz_workerpool_types.go @@ -31,8 +31,21 @@ import ( type NetworkConfigInitParameters struct { + // Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to WorkerPool.project_id on the service producer network. Must be in the format projects/{project}/global/networks/{network}, where {project} is a project number, such as 12345, and {network} is the name of a VPC network in the project. See (https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options) + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PeeredNetwork *string `json:"peeredNetwork,omitempty" tf:"peered_network,omitempty"` + // Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash and the subnet prefix size. You can optionally specify an IP address before the subnet prefix value. e.g. 192.168.0.0/29 would specify an IP range starting at 192.168.0.0 with a prefix size of 29 bits. /16 would specify a prefix size of 16 bits, with an automatically determined IP within the peered VPC. If unspecified, a value of /24 will be used. PeeredNetworkIPRange *string `json:"peeredNetworkIpRange,omitempty" tf:"peered_network_ip_range,omitempty"` + + // Reference to a Network in compute to populate peeredNetwork. + // +kubebuilder:validation:Optional + PeeredNetworkRef *v1.Reference `json:"peeredNetworkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate peeredNetwork. + // +kubebuilder:validation:Optional + PeeredNetworkSelector *v1.Selector `json:"peeredNetworkSelector,omitempty" tf:"-"` } type NetworkConfigObservation struct { diff --git a/apis/cloudfunctions/v1beta1/zz_function_types.go b/apis/cloudfunctions/v1beta1/zz_function_types.go index 8e1f2297d..803ce5cbd 100755 --- a/apis/cloudfunctions/v1beta1/zz_function_types.go +++ b/apis/cloudfunctions/v1beta1/zz_function_types.go @@ -162,6 +162,31 @@ type FunctionInitParameters struct { // If provided, the self-provided service account to run the function with. ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + // The GCS bucket containing the zip archive which contains the function. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + SourceArchiveBucket *string `json:"sourceArchiveBucket,omitempty" tf:"source_archive_bucket,omitempty"` + + // Reference to a Bucket in storage to populate sourceArchiveBucket. + // +kubebuilder:validation:Optional + SourceArchiveBucketRef *v1.Reference `json:"sourceArchiveBucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate sourceArchiveBucket. + // +kubebuilder:validation:Optional + SourceArchiveBucketSelector *v1.Selector `json:"sourceArchiveBucketSelector,omitempty" tf:"-"` + + // The source archive object (file) in archive bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.BucketObject + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + SourceArchiveObject *string `json:"sourceArchiveObject,omitempty" tf:"source_archive_object,omitempty"` + + // Reference to a BucketObject in storage to populate sourceArchiveObject. + // +kubebuilder:validation:Optional + SourceArchiveObjectRef *v1.Reference `json:"sourceArchiveObjectRef,omitempty" tf:"-"` + + // Selector for a BucketObject in storage to populate sourceArchiveObject. + // +kubebuilder:validation:Optional + SourceArchiveObjectSelector *v1.Selector `json:"sourceArchiveObjectSelector,omitempty" tf:"-"` + // Represents parameters related to source repository where a function is hosted. // Cannot be set alongside source_archive_bucket or source_archive_object. Structure is documented below. It must match the pattern projects/{project}/locations/{location}/repositories/{repository}.* SourceRepository []SourceRepositoryInitParameters `json:"sourceRepository,omitempty" tf:"source_repository,omitempty"` diff --git a/apis/cloudfunctions/v1beta1/zz_functioniammember_types.go b/apis/cloudfunctions/v1beta1/zz_functioniammember_types.go index 79c1b2e61..1b14c0062 100755 --- a/apis/cloudfunctions/v1beta1/zz_functioniammember_types.go +++ b/apis/cloudfunctions/v1beta1/zz_functioniammember_types.go @@ -58,6 +58,18 @@ type ConditionParameters struct { } type FunctionIAMMemberInitParameters struct { + + // +crossplane:generate:reference:type=Function + CloudFunction *string `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"` + + // Reference to a Function to populate cloudFunction. + // +kubebuilder:validation:Optional + CloudFunctionRef *v1.Reference `json:"cloudFunctionRef,omitempty" tf:"-"` + + // Selector for a Function to populate cloudFunction. + // +kubebuilder:validation:Optional + CloudFunctionSelector *v1.Selector `json:"cloudFunctionSelector,omitempty" tf:"-"` + Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` Member *string `json:"member,omitempty" tf:"member,omitempty"` diff --git a/apis/cloudfunctions/v1beta1/zz_generated.deepcopy.go b/apis/cloudfunctions/v1beta1/zz_generated.deepcopy.go index d0aea9598..d11c911e4 100644 --- a/apis/cloudfunctions/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudfunctions/v1beta1/zz_generated.deepcopy.go @@ -328,6 +328,21 @@ func (in *FunctionIAMMember) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FunctionIAMMemberInitParameters) DeepCopyInto(out *FunctionIAMMemberInitParameters) { *out = *in + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = new(string) + **out = **in + } + if in.CloudFunctionRef != nil { + in, out := &in.CloudFunctionRef, &out.CloudFunctionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CloudFunctionSelector != nil { + in, out := &in.CloudFunctionSelector, &out.CloudFunctionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Condition != nil { in, out := &in.Condition, &out.Condition *out = make([]ConditionInitParameters, len(*in)) @@ -668,6 +683,36 @@ func (in *FunctionInitParameters) DeepCopyInto(out *FunctionInitParameters) { *out = new(string) **out = **in } + if in.SourceArchiveBucket != nil { + in, out := &in.SourceArchiveBucket, &out.SourceArchiveBucket + *out = new(string) + **out = **in + } + if in.SourceArchiveBucketRef != nil { + in, out := &in.SourceArchiveBucketRef, &out.SourceArchiveBucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceArchiveBucketSelector != nil { + in, out := &in.SourceArchiveBucketSelector, &out.SourceArchiveBucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.SourceArchiveObject != nil { + in, out := &in.SourceArchiveObject, &out.SourceArchiveObject + *out = new(string) + **out = **in + } + if in.SourceArchiveObjectRef != nil { + in, out := &in.SourceArchiveObjectRef, &out.SourceArchiveObjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceArchiveObjectSelector != nil { + in, out := &in.SourceArchiveObjectSelector, &out.SourceArchiveObjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceRepository != nil { in, out := &in.SourceRepository, &out.SourceRepository *out = make([]SourceRepositoryInitParameters, len(*in)) diff --git a/apis/cloudfunctions/v1beta1/zz_generated.resolvers.go b/apis/cloudfunctions/v1beta1/zz_generated.resolvers.go index e5c91677d..e986de862 100644 --- a/apis/cloudfunctions/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudfunctions/v1beta1/zz_generated.resolvers.go @@ -65,6 +65,38 @@ func (mg *Function) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.SourceArchiveObject = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SourceArchiveObjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SourceArchiveBucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.SourceArchiveBucketRef, + Selector: mg.Spec.InitProvider.SourceArchiveBucketSelector, + To: reference.To{ + List: &v1beta1.BucketList{}, + Managed: &v1beta1.Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SourceArchiveBucket") + } + mg.Spec.InitProvider.SourceArchiveBucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SourceArchiveBucketRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SourceArchiveObject), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.SourceArchiveObjectRef, + Selector: mg.Spec.InitProvider.SourceArchiveObjectSelector, + To: reference.To{ + List: &v1beta1.BucketObjectList{}, + Managed: &v1beta1.BucketObject{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SourceArchiveObject") + } + mg.Spec.InitProvider.SourceArchiveObject = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SourceArchiveObjectRef = rsp.ResolvedReference + return nil } @@ -91,5 +123,21 @@ func (mg *FunctionIAMMember) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.CloudFunction = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CloudFunctionRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudFunction), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CloudFunctionRef, + Selector: mg.Spec.InitProvider.CloudFunctionSelector, + To: reference.To{ + List: &FunctionList{}, + Managed: &Function{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudFunction") + } + mg.Spec.InitProvider.CloudFunction = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudFunctionRef = rsp.ResolvedReference + return nil } diff --git a/apis/cloudfunctions2/v1beta1/zz_function_types.go b/apis/cloudfunctions2/v1beta1/zz_function_types.go index d3b3888d0..92795f939 100755 --- a/apis/cloudfunctions2/v1beta1/zz_function_types.go +++ b/apis/cloudfunctions2/v1beta1/zz_function_types.go @@ -52,6 +52,19 @@ type BuildConfigInitParameters struct { // The location of the function source code. // Structure is documented below. Source []SourceInitParameters `json:"source,omitempty" tf:"source,omitempty"` + + // Name of the Cloud Build Custom Worker Pool that should be used to build the function. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudbuild/v1beta1.WorkerPool + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + WorkerPool *string `json:"workerPool,omitempty" tf:"worker_pool,omitempty"` + + // Reference to a WorkerPool in cloudbuild to populate workerPool. + // +kubebuilder:validation:Optional + WorkerPoolRef *v1.Reference `json:"workerPoolRef,omitempty" tf:"-"` + + // Selector for a WorkerPool in cloudbuild to populate workerPool. + // +kubebuilder:validation:Optional + WorkerPoolSelector *v1.Selector `json:"workerPoolSelector,omitempty" tf:"-"` } type BuildConfigObservation struct { @@ -144,6 +157,19 @@ type EventFiltersInitParameters struct { // The only allowed value is match-path-pattern. // See documentation on path patterns here' Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` + + // Required. The value for the attribute. + // If the operator field is set as match-path-pattern, this value can be a path pattern instead of an exact value. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Value *string `json:"value,omitempty" tf:"value,omitempty"` + + // Reference to a Bucket in storage to populate value. + // +kubebuilder:validation:Optional + ValueRef *v1.Reference `json:"valueRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate value. + // +kubebuilder:validation:Optional + ValueSelector *v1.Selector `json:"valueSelector,omitempty" tf:"-"` } type EventFiltersObservation struct { @@ -205,11 +231,38 @@ type EventTriggerInitParameters struct { // Required. The type of event to observe. EventType *string `json:"eventType,omitempty" tf:"event_type,omitempty"` + // The name of a Pub/Sub topic in the same project that will be used + // as the transport topic for the event delivery. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PubsubTopic *string `json:"pubsubTopic,omitempty" tf:"pubsub_topic,omitempty"` + + // Reference to a Topic in pubsub to populate pubsubTopic. + // +kubebuilder:validation:Optional + PubsubTopicRef *v1.Reference `json:"pubsubTopicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate pubsubTopic. + // +kubebuilder:validation:Optional + PubsubTopicSelector *v1.Selector `json:"pubsubTopicSelector,omitempty" tf:"-"` + // Describes the retry policy in case of function's execution failure. // Retried execution is charged as any other execution. // Possible values are: RETRY_POLICY_UNSPECIFIED, RETRY_POLICY_DO_NOT_RETRY, RETRY_POLICY_RETRY. RetryPolicy *string `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + // The email of the service account for this function. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailRef *v1.Reference `json:"serviceAccountEmailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailSelector *v1.Selector `json:"serviceAccountEmailSelector,omitempty" tf:"-"` + // The region that the trigger will be in. The trigger will only receive // events originating in this region. It can be the same // region as the function, a different region or multi-region, or the global @@ -505,6 +558,18 @@ type SecretEnvironmentVariablesInitParameters struct { // Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + // Name of the secret in secret manager (not the full resource name). + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` + // Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately. Version *string `json:"version,omitempty" tf:"version,omitempty"` } @@ -560,6 +625,18 @@ type SecretVolumesInitParameters struct { // Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + // Name of the secret in secret manager (not the full resource name). + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` + // List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.' // Structure is documented below. Versions []VersionsInitParameters `json:"versions,omitempty" tf:"versions,omitempty"` @@ -654,6 +731,19 @@ type ServiceConfigInitParameters struct { // Name of the service associated with a Function. Service *string `json:"service,omitempty" tf:"service,omitempty"` + // The email of the service account for this function. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailRef *v1.Reference `json:"serviceAccountEmailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailSelector *v1.Selector `json:"serviceAccountEmailSelector,omitempty" tf:"-"` + // The function execution timeout. Execution is considered failed and // can be terminated if the function is not completed at the end of the // timeout period. Defaults to 60 seconds. @@ -857,9 +947,34 @@ type SourceParameters struct { type StorageSourceInitParameters struct { + // Google Cloud Storage bucket containing the source + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // Google Cloud Storage generation for the object. If the generation // is omitted, the latest generation will be used. Generation *float64 `json:"generation,omitempty" tf:"generation,omitempty"` + + // Google Cloud Storage object containing the source. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.BucketObject + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + Object *string `json:"object,omitempty" tf:"object,omitempty"` + + // Reference to a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectRef *v1.Reference `json:"objectRef,omitempty" tf:"-"` + + // Selector for a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectSelector *v1.Selector `json:"objectSelector,omitempty" tf:"-"` } type StorageSourceObservation struct { diff --git a/apis/cloudfunctions2/v1beta1/zz_generated.deepcopy.go b/apis/cloudfunctions2/v1beta1/zz_generated.deepcopy.go index e8f95f600..54d7356ee 100644 --- a/apis/cloudfunctions2/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudfunctions2/v1beta1/zz_generated.deepcopy.go @@ -66,6 +66,21 @@ func (in *BuildConfigInitParameters) DeepCopyInto(out *BuildConfigInitParameters (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.WorkerPool != nil { + in, out := &in.WorkerPool, &out.WorkerPool + *out = new(string) + **out = **in + } + if in.WorkerPoolRef != nil { + in, out := &in.WorkerPoolRef, &out.WorkerPoolRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.WorkerPoolSelector != nil { + in, out := &in.WorkerPoolSelector, &out.WorkerPoolSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfigInitParameters. @@ -222,6 +237,21 @@ func (in *EventFiltersInitParameters) DeepCopyInto(out *EventFiltersInitParamete *out = new(string) **out = **in } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } + if in.ValueRef != nil { + in, out := &in.ValueRef, &out.ValueRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ValueSelector != nil { + in, out := &in.ValueSelector, &out.ValueSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventFiltersInitParameters. @@ -319,11 +349,41 @@ func (in *EventTriggerInitParameters) DeepCopyInto(out *EventTriggerInitParamete *out = new(string) **out = **in } + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } + if in.PubsubTopicRef != nil { + in, out := &in.PubsubTopicRef, &out.PubsubTopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PubsubTopicSelector != nil { + in, out := &in.PubsubTopicSelector, &out.PubsubTopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RetryPolicy != nil { in, out := &in.RetryPolicy, &out.RetryPolicy *out = new(string) **out = **in } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.ServiceAccountEmailRef != nil { + in, out := &in.ServiceAccountEmailRef, &out.ServiceAccountEmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountEmailSelector != nil { + in, out := &in.ServiceAccountEmailSelector, &out.ServiceAccountEmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.TriggerRegion != nil { in, out := &in.TriggerRegion, &out.TriggerRegion *out = new(string) @@ -938,6 +998,21 @@ func (in *SecretEnvironmentVariablesInitParameters) DeepCopyInto(out *SecretEnvi *out = new(string) **out = **in } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Version != nil { in, out := &in.Version, &out.Version *out = new(string) @@ -1048,6 +1123,21 @@ func (in *SecretVolumesInitParameters) DeepCopyInto(out *SecretVolumesInitParame *out = new(string) **out = **in } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Versions != nil { in, out := &in.Versions, &out.Versions *out = make([]VersionsInitParameters, len(*in)) @@ -1224,6 +1314,21 @@ func (in *ServiceConfigInitParameters) DeepCopyInto(out *ServiceConfigInitParame *out = new(string) **out = **in } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.ServiceAccountEmailRef != nil { + in, out := &in.ServiceAccountEmailRef, &out.ServiceAccountEmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountEmailSelector != nil { + in, out := &in.ServiceAccountEmailSelector, &out.ServiceAccountEmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.TimeoutSeconds != nil { in, out := &in.TimeoutSeconds, &out.TimeoutSeconds *out = new(float64) @@ -1571,11 +1676,41 @@ func (in *SourceParameters) DeepCopy() *SourceParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *StorageSourceInitParameters) DeepCopyInto(out *StorageSourceInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Generation != nil { in, out := &in.Generation, &out.Generation *out = new(float64) **out = **in } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.ObjectRef != nil { + in, out := &in.ObjectRef, &out.ObjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ObjectSelector != nil { + in, out := &in.ObjectSelector, &out.ObjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSourceInitParameters. diff --git a/apis/cloudfunctions2/v1beta1/zz_generated.resolvers.go b/apis/cloudfunctions2/v1beta1/zz_generated.resolvers.go index dc6826b54..873f7b2f0 100644 --- a/apis/cloudfunctions2/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudfunctions2/v1beta1/zz_generated.resolvers.go @@ -212,6 +212,182 @@ func (mg *Function) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.ServiceConfig[i3].ServiceAccountEmail = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceConfig[i3].ServiceAccountEmailRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BuildConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.BuildConfig[i3].Source); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].BucketRef, + Selector: mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].BucketSelector, + To: reference.To{ + List: &v1beta1.BucketList{}, + Managed: &v1beta1.Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Bucket") + } + mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].BucketRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BuildConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.BuildConfig[i3].Source); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Object), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].ObjectRef, + Selector: mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].ObjectSelector, + To: reference.To{ + List: &v1beta1.BucketObjectList{}, + Managed: &v1beta1.BucketObject{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Object") + } + mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].Object = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BuildConfig[i3].Source[i4].StorageSource[i5].ObjectRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BuildConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BuildConfig[i3].WorkerPool), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BuildConfig[i3].WorkerPoolRef, + Selector: mg.Spec.InitProvider.BuildConfig[i3].WorkerPoolSelector, + To: reference.To{ + List: &v1beta11.WorkerPoolList{}, + Managed: &v1beta11.WorkerPool{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BuildConfig[i3].WorkerPool") + } + mg.Spec.InitProvider.BuildConfig[i3].WorkerPool = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BuildConfig[i3].WorkerPoolRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EventTrigger); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.EventTrigger[i3].EventFilters); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].Value), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].ValueRef, + Selector: mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].ValueSelector, + To: reference.To{ + List: &v1beta1.BucketList{}, + Managed: &v1beta1.Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].Value") + } + mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].Value = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EventTrigger[i3].EventFilters[i4].ValueRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EventTrigger); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EventTrigger[i3].PubsubTopic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EventTrigger[i3].PubsubTopicRef, + Selector: mg.Spec.InitProvider.EventTrigger[i3].PubsubTopicSelector, + To: reference.To{ + List: &v1beta12.TopicList{}, + Managed: &v1beta12.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EventTrigger[i3].PubsubTopic") + } + mg.Spec.InitProvider.EventTrigger[i3].PubsubTopic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EventTrigger[i3].PubsubTopicRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EventTrigger); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmail), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmailRef, + Selector: mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmailSelector, + To: reference.To{ + List: &v1beta13.ServiceAccountList{}, + Managed: &v1beta13.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmail") + } + mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmail = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EventTrigger[i3].ServiceAccountEmailRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ServiceConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].SecretRef, + Selector: mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].SecretSelector, + To: reference.To{ + List: &v1beta14.SecretList{}, + Managed: &v1beta14.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].Secret") + } + mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceConfig[i3].SecretEnvironmentVariables[i4].SecretRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ServiceConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].SecretRef, + Selector: mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].SecretSelector, + To: reference.To{ + List: &v1beta14.SecretList{}, + Managed: &v1beta14.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].Secret") + } + mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceConfig[i3].SecretVolumes[i4].SecretRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ServiceConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmail), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmailRef, + Selector: mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmailSelector, + To: reference.To{ + List: &v1beta13.ServiceAccountList{}, + Managed: &v1beta13.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmail") + } + mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmail = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceConfig[i3].ServiceAccountEmailRef = rsp.ResolvedReference + } return nil diff --git a/apis/cloudiot/v1beta1/zz_generated.deepcopy.go b/apis/cloudiot/v1beta1/zz_generated.deepcopy.go index 3993cc7cd..4f3743807 100644 --- a/apis/cloudiot/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudiot/v1beta1/zz_generated.deepcopy.go @@ -514,6 +514,21 @@ func (in *DeviceStatus) DeepCopy() *DeviceStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EventNotificationConfigsInitParameters) DeepCopyInto(out *EventNotificationConfigsInitParameters) { *out = *in + if in.PubsubTopicName != nil { + in, out := &in.PubsubTopicName, &out.PubsubTopicName + *out = new(string) + **out = **in + } + if in.PubsubTopicNameRef != nil { + in, out := &in.PubsubTopicNameRef, &out.PubsubTopicNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PubsubTopicNameSelector != nil { + in, out := &in.PubsubTopicNameSelector, &out.PubsubTopicNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SubfolderMatches != nil { in, out := &in.SubfolderMatches, &out.SubfolderMatches *out = new(string) diff --git a/apis/cloudiot/v1beta1/zz_generated.resolvers.go b/apis/cloudiot/v1beta1/zz_generated.resolvers.go index 919553787..3d9fd2475 100644 --- a/apis/cloudiot/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudiot/v1beta1/zz_generated.resolvers.go @@ -76,6 +76,24 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.EventNotificationConfigs[i3].PubsubTopicName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.EventNotificationConfigs[i3].PubsubTopicNameRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EventNotificationConfigs); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicNameRef, + Selector: mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicNameSelector, + To: reference.To{ + List: &v1beta1.TopicList{}, + Managed: &v1beta1.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicName") + } + mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EventNotificationConfigs[i3].PubsubTopicNameRef = rsp.ResolvedReference + } return nil diff --git a/apis/cloudiot/v1beta1/zz_registry_types.go b/apis/cloudiot/v1beta1/zz_registry_types.go index 0e39de2c9..d01e45d86 100755 --- a/apis/cloudiot/v1beta1/zz_registry_types.go +++ b/apis/cloudiot/v1beta1/zz_registry_types.go @@ -31,6 +31,19 @@ import ( type EventNotificationConfigsInitParameters struct { + // PubSub topic name to publish device events. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PubsubTopicName *string `json:"pubsubTopicName,omitempty" tf:"pubsub_topic_name,omitempty"` + + // Reference to a Topic in pubsub to populate pubsubTopicName. + // +kubebuilder:validation:Optional + PubsubTopicNameRef *v1.Reference `json:"pubsubTopicNameRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate pubsubTopicName. + // +kubebuilder:validation:Optional + PubsubTopicNameSelector *v1.Selector `json:"pubsubTopicNameSelector,omitempty" tf:"-"` + // If the subfolder name matches this string exactly, this // configuration will be used. The string must not include the // leading '/' character. If empty, all strings are matched. Empty diff --git a/apis/cloudplatform/v1beta1/zz_folder_types.go b/apis/cloudplatform/v1beta1/zz_folder_types.go index 863cc46d1..1d794f969 100755 --- a/apis/cloudplatform/v1beta1/zz_folder_types.go +++ b/apis/cloudplatform/v1beta1/zz_folder_types.go @@ -34,6 +34,20 @@ type FolderInitParameters struct { // The folder’s display name. // A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The resource name of the parent Folder or Organization. + // Must be of the form folders/{folder_id} or organizations/{org_id}. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Folder + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Folder in cloudplatform to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Folder in cloudplatform to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` } type FolderObservation struct { diff --git a/apis/cloudplatform/v1beta1/zz_folderiammember_types.go b/apis/cloudplatform/v1beta1/zz_folderiammember_types.go index 88e052f13..27169fcfd 100755 --- a/apis/cloudplatform/v1beta1/zz_folderiammember_types.go +++ b/apis/cloudplatform/v1beta1/zz_folderiammember_types.go @@ -60,6 +60,18 @@ type ConditionParameters struct { type FolderIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Folder + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Folder *string `json:"folder,omitempty" tf:"folder,omitempty"` + + // Reference to a Folder to populate folder. + // +kubebuilder:validation:Optional + FolderRef *v1.Reference `json:"folderRef,omitempty" tf:"-"` + + // Selector for a Folder to populate folder. + // +kubebuilder:validation:Optional + FolderSelector *v1.Selector `json:"folderSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/cloudplatform/v1beta1/zz_generated.deepcopy.go b/apis/cloudplatform/v1beta1/zz_generated.deepcopy.go index 829f3208b..7e07c1ceb 100644 --- a/apis/cloudplatform/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudplatform/v1beta1/zz_generated.deepcopy.go @@ -272,6 +272,21 @@ func (in *FolderIAMMemberInitParameters) DeepCopyInto(out *FolderIAMMemberInitPa (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.FolderRef != nil { + in, out := &in.FolderRef, &out.FolderRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FolderSelector != nil { + in, out := &in.FolderSelector, &out.FolderSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) @@ -463,6 +478,21 @@ func (in *FolderInitParameters) DeepCopyInto(out *FolderInitParameters) { *out = new(string) **out = **in } + 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) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderInitParameters. @@ -1456,6 +1486,21 @@ func (in *ProjectDefaultServiceAccountsInitParameters) DeepCopyInto(out *Project *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RestorePolicy != nil { in, out := &in.RestorePolicy, &out.RestorePolicy *out = new(string) @@ -1752,6 +1797,21 @@ func (in *ProjectIAMAuditConfigInitParameters) DeepCopyInto(out *ProjectIAMAudit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Service != nil { in, out := &in.Service, &out.Service *out = new(string) @@ -2299,6 +2359,21 @@ func (in *ProjectIAMMemberInitParameters) DeepCopyInto(out *ProjectIAMMemberInit *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Role != nil { in, out := &in.Role, &out.Role *out = new(string) @@ -2490,6 +2565,21 @@ func (in *ProjectInitParameters) DeepCopyInto(out *ProjectInitParameters) { *out = new(string) **out = **in } + if in.FolderID != nil { + in, out := &in.FolderID, &out.FolderID + *out = new(string) + **out = **in + } + if in.FolderIDRef != nil { + in, out := &in.FolderIDRef, &out.FolderIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FolderIDSelector != nil { + in, out := &in.FolderIDSelector, &out.FolderIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]*string, len(*in)) @@ -2762,6 +2852,21 @@ func (in *ProjectServiceInitParameters) DeepCopyInto(out *ProjectServiceInitPara *out = new(bool) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Service != nil { in, out := &in.Service, &out.Service *out = new(string) @@ -2996,11 +3101,41 @@ func (in *ProjectUsageExportBucket) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectUsageExportBucketInitParameters) DeepCopyInto(out *ProjectUsageExportBucketInitParameters) { *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketNameRef != nil { + in, out := &in.BucketNameRef, &out.BucketNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketNameSelector != nil { + in, out := &in.BucketNameSelector, &out.BucketNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Prefix != nil { in, out := &in.Prefix, &out.Prefix *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketInitParameters. @@ -3329,6 +3464,21 @@ func (in *ServiceAccountIAMMemberInitParameters) DeepCopyInto(out *ServiceAccoun *out = new(string) **out = **in } + if in.ServiceAccountID != nil { + in, out := &in.ServiceAccountID, &out.ServiceAccountID + *out = new(string) + **out = **in + } + if in.ServiceAccountIDRef != nil { + in, out := &in.ServiceAccountIDRef, &out.ServiceAccountIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountIDSelector != nil { + in, out := &in.ServiceAccountIDSelector, &out.ServiceAccountIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberInitParameters. @@ -3594,6 +3744,21 @@ func (in *ServiceAccountKeyInitParameters) DeepCopyInto(out *ServiceAccountKeyIn *out = new(string) **out = **in } + if in.ServiceAccountID != nil { + in, out := &in.ServiceAccountID, &out.ServiceAccountID + *out = new(string) + **out = **in + } + if in.ServiceAccountIDRef != nil { + in, out := &in.ServiceAccountIDRef, &out.ServiceAccountIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountIDSelector != nil { + in, out := &in.ServiceAccountIDSelector, &out.ServiceAccountIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountKeyInitParameters. diff --git a/apis/cloudplatform/v1beta1/zz_generated.resolvers.go b/apis/cloudplatform/v1beta1/zz_generated.resolvers.go index b0520012e..64e66bf84 100644 --- a/apis/cloudplatform/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudplatform/v1beta1/zz_generated.resolvers.go @@ -50,6 +50,22 @@ func (mg *Folder) ResolveReferences(ctx context.Context, c client.Reader) error 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.InitProvider.Parent), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &FolderList{}, + Managed: &Folder{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } @@ -76,6 +92,22 @@ func (mg *FolderIAMMember) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.Folder = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FolderRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Folder), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.FolderRef, + Selector: mg.Spec.InitProvider.FolderSelector, + To: reference.To{ + List: &FolderList{}, + Managed: &Folder{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Folder") + } + mg.Spec.InitProvider.Folder = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.FolderRef = rsp.ResolvedReference + return nil } @@ -102,6 +134,22 @@ func (mg *Project) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.FolderID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FolderIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.FolderID), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.FolderIDRef, + Selector: mg.Spec.InitProvider.FolderIDSelector, + To: reference.To{ + List: &FolderList{}, + Managed: &Folder{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.FolderID") + } + mg.Spec.InitProvider.FolderID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.FolderIDRef = rsp.ResolvedReference + return nil } @@ -128,6 +176,22 @@ func (mg *ProjectDefaultServiceAccounts) ResolveReferences(ctx context.Context, mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ProjectList{}, + Managed: &Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -154,6 +218,22 @@ func (mg *ProjectIAMAuditConfig) ResolveReferences(ctx context.Context, c client mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ProjectList{}, + Managed: &Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -180,6 +260,22 @@ func (mg *ProjectIAMMember) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ProjectList{}, + Managed: &Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -206,6 +302,22 @@ func (mg *ProjectService) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ProjectList{}, + Managed: &Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -248,6 +360,38 @@ func (mg *ProjectUsageExportBucket) ResolveReferences(ctx context.Context, c cli mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BucketName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketNameRef, + Selector: mg.Spec.InitProvider.BucketNameSelector, + To: reference.To{ + List: &v1beta1.BucketList{}, + Managed: &v1beta1.Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BucketName") + } + mg.Spec.InitProvider.BucketName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketNameRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &ProjectList{}, + Managed: &Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -274,6 +418,22 @@ func (mg *ServiceAccountIAMMember) ResolveReferences(ctx context.Context, c clie mg.Spec.ForProvider.ServiceAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceAccountIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccountID), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ServiceAccountIDRef, + Selector: mg.Spec.InitProvider.ServiceAccountIDSelector, + To: reference.To{ + List: &ServiceAccountList{}, + Managed: &ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccountID") + } + mg.Spec.InitProvider.ServiceAccountID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccountIDRef = rsp.ResolvedReference + return nil } @@ -300,5 +460,21 @@ func (mg *ServiceAccountKey) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.ServiceAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceAccountIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccountID), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ServiceAccountIDRef, + Selector: mg.Spec.InitProvider.ServiceAccountIDSelector, + To: reference.To{ + List: &ServiceAccountList{}, + Managed: &ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccountID") + } + mg.Spec.InitProvider.ServiceAccountID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccountIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/cloudplatform/v1beta1/zz_project_types.go b/apis/cloudplatform/v1beta1/zz_project_types.go index 8428cd15b..28d1d398d 100755 --- a/apis/cloudplatform/v1beta1/zz_project_types.go +++ b/apis/cloudplatform/v1beta1/zz_project_types.go @@ -44,6 +44,23 @@ type ProjectInitParameters struct { // for more details. BillingAccount *string `json:"billingAccount,omitempty" tf:"billing_account,omitempty"` + // The numeric ID of the folder this project should be + // created under. Only one of org_id or folder_id may be + // specified. If the folder_id is specified, then the project is + // created under the specified folder. Changing this forces the + // project to be migrated to the newly specified folder. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Folder + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"` + + // Reference to a Folder in cloudplatform to populate folderId. + // +kubebuilder:validation:Optional + FolderIDRef *v1.Reference `json:"folderIdRef,omitempty" tf:"-"` + + // Selector for a Folder in cloudplatform to populate folderId. + // +kubebuilder:validation:Optional + FolderIDSelector *v1.Selector `json:"folderIdSelector,omitempty" tf:"-"` + // A set of key/value label pairs to assign to the project. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` diff --git a/apis/cloudplatform/v1beta1/zz_projectdefaultserviceaccounts_types.go b/apis/cloudplatform/v1beta1/zz_projectdefaultserviceaccounts_types.go index e162f4b76..de6606412 100755 --- a/apis/cloudplatform/v1beta1/zz_projectdefaultserviceaccounts_types.go +++ b/apis/cloudplatform/v1beta1/zz_projectdefaultserviceaccounts_types.go @@ -34,6 +34,18 @@ type ProjectDefaultServiceAccountsInitParameters struct { // The action to be performed in the default service accounts. Valid values are: DEPRIVILEGE, DELETE, DISABLE. Note that DEPRIVILEGE action will ignore the REVERT configuration in the restore_policy Action *string `json:"action,omitempty" tf:"action,omitempty"` + // The project ID where service accounts are created. + // +crossplane:generate:reference:type=Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // The action to be performed in the default service accounts on the resource destroy. // Valid values are NONE, REVERT and REVERT_AND_IGNORE_FAILURE. It is applied for any action but in the DEPRIVILEGE. // If set to REVERT it attempts to restore all default SAs but the DEPRIVILEGE action. diff --git a/apis/cloudplatform/v1beta1/zz_projectiamauditconfig_types.go b/apis/cloudplatform/v1beta1/zz_projectiamauditconfig_types.go index 4f51c1033..d2bd3fa50 100755 --- a/apis/cloudplatform/v1beta1/zz_projectiamauditconfig_types.go +++ b/apis/cloudplatform/v1beta1/zz_projectiamauditconfig_types.go @@ -58,6 +58,17 @@ type ProjectIAMAuditConfigAuditLogConfigParameters struct { type ProjectIAMAuditConfigInitParameters struct { AuditLogConfig []ProjectIAMAuditConfigAuditLogConfigInitParameters `json:"auditLogConfig,omitempty" tf:"audit_log_config,omitempty"` + // +crossplane:generate:reference:type=Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + Service *string `json:"service,omitempty" tf:"service,omitempty"` } diff --git a/apis/cloudplatform/v1beta1/zz_projectiammember_types.go b/apis/cloudplatform/v1beta1/zz_projectiammember_types.go index 8cf75b9c7..bad496187 100755 --- a/apis/cloudplatform/v1beta1/zz_projectiammember_types.go +++ b/apis/cloudplatform/v1beta1/zz_projectiammember_types.go @@ -62,6 +62,17 @@ type ProjectIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` + // +crossplane:generate:reference:type=Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + Role *string `json:"role,omitempty" tf:"role,omitempty"` } diff --git a/apis/cloudplatform/v1beta1/zz_projectservice_types.go b/apis/cloudplatform/v1beta1/zz_projectservice_types.go index f5c368aa2..d493e9a18 100755 --- a/apis/cloudplatform/v1beta1/zz_projectservice_types.go +++ b/apis/cloudplatform/v1beta1/zz_projectservice_types.go @@ -42,6 +42,19 @@ type ProjectServiceInitParameters struct { // changes frequently. DisableOnDestroy *bool `json:"disableOnDestroy,omitempty" tf:"disable_on_destroy,omitempty"` + // The project ID. If not provided, the provider project + // is used. + // +crossplane:generate:reference:type=Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // The service to enable. Service *string `json:"service,omitempty" tf:"service,omitempty"` } diff --git a/apis/cloudplatform/v1beta1/zz_projectusageexportbucket_types.go b/apis/cloudplatform/v1beta1/zz_projectusageexportbucket_types.go index 6846cb124..d34a07d72 100755 --- a/apis/cloudplatform/v1beta1/zz_projectusageexportbucket_types.go +++ b/apis/cloudplatform/v1beta1/zz_projectusageexportbucket_types.go @@ -31,8 +31,32 @@ import ( type ProjectUsageExportBucketInitParameters struct { + // : The bucket to store reports in. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Reference to a Bucket in storage to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"` + // : A prefix for the reports, for instance, the project name. Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // : The project to set the export bucket on. If it is not provided, the provider project is used. + // +crossplane:generate:reference:type=Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` } type ProjectUsageExportBucketObservation struct { diff --git a/apis/cloudplatform/v1beta1/zz_serviceaccountiammember_types.go b/apis/cloudplatform/v1beta1/zz_serviceaccountiammember_types.go index c5e19d054..eb571b011 100755 --- a/apis/cloudplatform/v1beta1/zz_serviceaccountiammember_types.go +++ b/apis/cloudplatform/v1beta1/zz_serviceaccountiammember_types.go @@ -63,6 +63,18 @@ type ServiceAccountIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=ServiceAccount + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + ServiceAccountID *string `json:"serviceAccountId,omitempty" tf:"service_account_id,omitempty"` + + // Reference to a ServiceAccount to populate serviceAccountId. + // +kubebuilder:validation:Optional + ServiceAccountIDRef *v1.Reference `json:"serviceAccountIdRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount to populate serviceAccountId. + // +kubebuilder:validation:Optional + ServiceAccountIDSelector *v1.Selector `json:"serviceAccountIdSelector,omitempty" tf:"-"` } type ServiceAccountIAMMemberObservation struct { diff --git a/apis/cloudplatform/v1beta1/zz_serviceaccountkey_types.go b/apis/cloudplatform/v1beta1/zz_serviceaccountkey_types.go index 95364916d..afb0bd853 100755 --- a/apis/cloudplatform/v1beta1/zz_serviceaccountkey_types.go +++ b/apis/cloudplatform/v1beta1/zz_serviceaccountkey_types.go @@ -48,6 +48,24 @@ type ServiceAccountKeyInitParameters struct { // The output format of the public key requested. TYPE_X509_PEM_FILE is the default output format. PublicKeyType *string `json:"publicKeyType,omitempty" tf:"public_key_type,omitempty"` + + // The Service account id of the Key. This can be a string in the format + // {ACCOUNT} or projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. If the {ACCOUNT}-only syntax is used, either + // the full email address of the service account or its name can be specified as a value, in which case the project will + // automatically be inferred from the account. Otherwise, if the projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT} + // syntax is used, the {ACCOUNT} specified can be the full email address of the service account or the service account's + // unique id. Substituting - as a wildcard for the {PROJECT_ID} will infer the project from the account. + // +crossplane:generate:reference:type=ServiceAccount + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + ServiceAccountID *string `json:"serviceAccountId,omitempty" tf:"service_account_id,omitempty"` + + // Reference to a ServiceAccount to populate serviceAccountId. + // +kubebuilder:validation:Optional + ServiceAccountIDRef *v1.Reference `json:"serviceAccountIdRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount to populate serviceAccountId. + // +kubebuilder:validation:Optional + ServiceAccountIDSelector *v1.Selector `json:"serviceAccountIdSelector,omitempty" tf:"-"` } type ServiceAccountKeyObservation struct { diff --git a/apis/cloudrun/v1beta1/zz_domainmapping_types.go b/apis/cloudrun/v1beta1/zz_domainmapping_types.go index dc6d52855..a0da9493d 100755 --- a/apis/cloudrun/v1beta1/zz_domainmapping_types.go +++ b/apis/cloudrun/v1beta1/zz_domainmapping_types.go @@ -144,6 +144,19 @@ type MetadataInitParameters struct { // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // In Cloud Run the namespace must be equal to either the + // project ID or project number. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` + + // Reference to a Project in cloudplatform to populate namespace. + // +kubebuilder:validation:Optional + NamespaceRef *v1.Reference `json:"namespaceRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate namespace. + // +kubebuilder:validation:Optional + NamespaceSelector *v1.Selector `json:"namespaceSelector,omitempty" tf:"-"` } type MetadataObservation struct { @@ -259,6 +272,19 @@ type SpecInitParameters struct { // warning about a potential conflict and only set it once the respective UI // has given such a warning. ForceOverride *bool `json:"forceOverride,omitempty" tf:"force_override,omitempty"` + + // The name of the Cloud Run Service that this DomainMapping applies to. + // The route must exist. + // +crossplane:generate:reference:type=Service + RouteName *string `json:"routeName,omitempty" tf:"route_name,omitempty"` + + // Reference to a Service to populate routeName. + // +kubebuilder:validation:Optional + RouteNameRef *v1.Reference `json:"routeNameRef,omitempty" tf:"-"` + + // Selector for a Service to populate routeName. + // +kubebuilder:validation:Optional + RouteNameSelector *v1.Selector `json:"routeNameSelector,omitempty" tf:"-"` } type SpecObservation struct { diff --git a/apis/cloudrun/v1beta1/zz_generated.deepcopy.go b/apis/cloudrun/v1beta1/zz_generated.deepcopy.go index d51665572..5fc35defa 100644 --- a/apis/cloudrun/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudrun/v1beta1/zz_generated.deepcopy.go @@ -2377,6 +2377,21 @@ func (in *EnvValueSourceParameters) DeepCopy() *EnvValueSourceParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EnvValueSourceSecretKeyRefInitParameters) DeepCopyInto(out *EnvValueSourceSecretKeyRefInitParameters) { *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Version != nil { in, out := &in.Version, &out.Version *out = new(string) @@ -3458,6 +3473,21 @@ func (in *MetadataInitParameters) DeepCopyInto(out *MetadataInitParameters) { (*out)[key] = outVal } } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.NamespaceRef != nil { + in, out := &in.NamespaceRef, &out.NamespaceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NamespaceSelector != nil { + in, out := &in.NamespaceSelector, &out.NamespaceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataInitParameters. @@ -3985,6 +4015,21 @@ func (in *SecretInitParameters) DeepCopyInto(out *SecretInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } + if in.SecretNameRef != nil { + in, out := &in.SecretNameRef, &out.SecretNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretNameSelector != nil { + in, out := &in.SecretNameSelector, &out.SecretNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretInitParameters. @@ -4095,6 +4140,21 @@ func (in *SecretKeyRefInitParameters) DeepCopyInto(out *SecretKeyRefInitParamete *out = new(string) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyRefInitParameters. @@ -4456,11 +4516,41 @@ func (in *ServiceIAMMemberInitParameters) DeepCopyInto(out *ServiceIAMMemberInit *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Role != nil { in, out := &in.Role, &out.Role *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberInitParameters. @@ -4777,6 +4867,21 @@ func (in *ServiceMetadataInitParameters) DeepCopyInto(out *ServiceMetadataInitPa (*out)[key] = outVal } } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.NamespaceRef != nil { + in, out := &in.NamespaceRef, &out.NamespaceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NamespaceSelector != nil { + in, out := &in.NamespaceSelector, &out.NamespaceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadataInitParameters. @@ -5274,6 +5379,21 @@ func (in *SpecInitParameters) DeepCopyInto(out *SpecInitParameters) { *out = new(bool) **out = **in } + if in.RouteName != nil { + in, out := &in.RouteName, &out.RouteName + *out = new(string) + **out = **in + } + if in.RouteNameRef != nil { + in, out := &in.RouteNameRef, &out.RouteNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouteNameSelector != nil { + in, out := &in.RouteNameSelector, &out.RouteNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecInitParameters. @@ -7897,6 +8017,21 @@ func (in *TemplateVolumesSecretInitParameters) DeepCopyInto(out *TemplateVolumes (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateVolumesSecretInitParameters. @@ -10626,6 +10761,21 @@ func (in *ValueSourceParameters) DeepCopy() *ValueSourceParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ValueSourceSecretKeyRefInitParameters) DeepCopyInto(out *ValueSourceSecretKeyRefInitParameters) { *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Version != nil { in, out := &in.Version, &out.Version *out = new(string) @@ -10952,6 +11102,21 @@ func (in *VolumesSecretInitParameters) DeepCopyInto(out *VolumesSecretInitParame (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumesSecretInitParameters. diff --git a/apis/cloudrun/v1beta1/zz_generated.resolvers.go b/apis/cloudrun/v1beta1/zz_generated.resolvers.go index 4f6562c51..6e1420ae8 100644 --- a/apis/cloudrun/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudrun/v1beta1/zz_generated.resolvers.go @@ -68,6 +68,42 @@ func (mg *DomainMapping) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Spec[i3].RouteName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Spec[i3].RouteNameRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Metadata); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Metadata[i3].Namespace), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Metadata[i3].NamespaceRef, + Selector: mg.Spec.InitProvider.Metadata[i3].NamespaceSelector, + To: reference.To{ + List: &v1beta1.ProjectList{}, + Managed: &v1beta1.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Metadata[i3].Namespace") + } + mg.Spec.InitProvider.Metadata[i3].Namespace = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Metadata[i3].NamespaceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Spec); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Spec[i3].RouteName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Spec[i3].RouteNameRef, + Selector: mg.Spec.InitProvider.Spec[i3].RouteNameSelector, + To: reference.To{ + List: &ServiceList{}, + Managed: &Service{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Spec[i3].RouteName") + } + mg.Spec.InitProvider.Spec[i3].RouteName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Spec[i3].RouteNameRef = rsp.ResolvedReference + } return nil @@ -150,6 +186,76 @@ func (mg *Service) ResolveReferences(ctx context.Context, c client.Reader) error } } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Metadata); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Metadata[i3].Namespace), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Metadata[i3].NamespaceRef, + Selector: mg.Spec.InitProvider.Metadata[i3].NamespaceSelector, + To: reference.To{ + List: &v1beta1.ProjectList{}, + Managed: &v1beta1.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Metadata[i3].Namespace") + } + mg.Spec.InitProvider.Metadata[i3].Namespace = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Metadata[i3].NamespaceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Spec); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Containers); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env); i6++ { + for i7 := 0; i7 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom); i7++ { + for i8 := 0; i8 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef); i8++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].NameRef, + Selector: mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].NameSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].Name") + } + mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Spec[i4].Containers[i5].Env[i6].ValueFrom[i7].SecretKeyRef[i8].NameRef = rsp.ResolvedReference + + } + } + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Spec); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretNameRef, + Selector: mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretNameSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretName") + } + mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Spec[i4].Volumes[i5].Secret[i6].SecretNameRef = rsp.ResolvedReference + + } + } + } + } return nil } @@ -193,6 +299,38 @@ func (mg *ServiceIAMMember) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &v1beta1.ProjectList{}, + Managed: &v1beta1.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Service), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ServiceRef, + Selector: mg.Spec.InitProvider.ServiceSelector, + To: reference.To{ + List: &ServiceList{}, + Managed: &Service{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Service") + } + mg.Spec.InitProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceRef = rsp.ResolvedReference + return nil } @@ -255,6 +393,58 @@ func (mg *V2Job) ResolveReferences(ctx context.Context, c client.Reader) error { } } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Template); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Containers); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env); i6++ { + for i7 := 0; i7 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource); i7++ { + for i8 := 0; i8 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef); i8++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].SecretRef, + Selector: mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].SecretSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].Secret") + } + mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Template[i4].Containers[i5].Env[i6].ValueSource[i7].SecretKeyRef[i8].SecretRef = rsp.ResolvedReference + + } + } + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Template); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Volumes); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].SecretRef, + Selector: mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].SecretSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].Secret") + } + mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Template[i4].Volumes[i5].Secret[i6].SecretRef = rsp.ResolvedReference + + } + } + } + } return nil } @@ -314,6 +504,54 @@ func (mg *V2Service) ResolveReferences(ctx context.Context, c client.Reader) err } } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Containers); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Containers[i4].Env); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource); i6++ { + for i7 := 0; i7 < len(mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef); i7++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].SecretRef, + Selector: mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].SecretSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].Secret") + } + mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Containers[i4].Env[i5].ValueSource[i6].SecretKeyRef[i7].SecretRef = rsp.ResolvedReference + + } + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Template); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Template[i3].Volumes); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].Secret), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].SecretRef, + Selector: mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].SecretSelector, + To: reference.To{ + List: &v1beta11.SecretList{}, + Managed: &v1beta11.Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].Secret") + } + mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Template[i3].Volumes[i4].Secret[i5].SecretRef = rsp.ResolvedReference + + } + } + } return nil } diff --git a/apis/cloudrun/v1beta1/zz_service_types.go b/apis/cloudrun/v1beta1/zz_service_types.go index 4825e95b3..af0b5f81e 100755 --- a/apis/cloudrun/v1beta1/zz_service_types.go +++ b/apis/cloudrun/v1beta1/zz_service_types.go @@ -763,6 +763,26 @@ type SecretInitParameters struct { // volume. When items are defined, they must specify a key and a path. // Structure is documented below. Items []ItemsInitParameters `json:"items,omitempty" tf:"items,omitempty"` + + // The name of the secret in Cloud Secret Manager. By default, the secret + // is assumed to be in the same project. + // If the secret is in another project, you must define an alias. + // An alias definition has the form: + // {alias}:projects/{project-id|project-number}/secrets/{secret-name}. + // If multiple alias definitions are needed, they must be separated by + // commas. + // The alias definitions must be set on the run.googleapis.com/secrets + // annotation. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + SecretName *string `json:"secretName,omitempty" tf:"secret_name,omitempty"` + + // Reference to a Secret in secretmanager to populate secretName. + // +kubebuilder:validation:Optional + SecretNameRef *v1.Reference `json:"secretNameRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secretName. + // +kubebuilder:validation:Optional + SecretNameSelector *v1.Selector `json:"secretNameSelector,omitempty" tf:"-"` } type SecretKeyRefInitParameters struct { @@ -770,6 +790,18 @@ type SecretKeyRefInitParameters struct { // A Cloud Secret Manager secret version. Must be 'latest' for the latest // version or an integer for a specific version. Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // Volume's name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a Secret in secretmanager to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` } type SecretKeyRefObservation struct { @@ -979,6 +1011,19 @@ type ServiceMetadataInitParameters struct { // (scope and select) objects. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // In Cloud Run the namespace must be equal to either the + // project ID or project number. It will default to the resource's project. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` + + // Reference to a Project in cloudplatform to populate namespace. + // +kubebuilder:validation:Optional + NamespaceRef *v1.Reference `json:"namespaceRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate namespace. + // +kubebuilder:validation:Optional + NamespaceSelector *v1.Selector `json:"namespaceSelector,omitempty" tf:"-"` } type ServiceMetadataObservation struct { diff --git a/apis/cloudrun/v1beta1/zz_serviceiammember_types.go b/apis/cloudrun/v1beta1/zz_serviceiammember_types.go index 0795274d6..3f9f97992 100755 --- a/apis/cloudrun/v1beta1/zz_serviceiammember_types.go +++ b/apis/cloudrun/v1beta1/zz_serviceiammember_types.go @@ -64,7 +64,29 @@ type ServiceIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Service + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a Service to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a Service to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type ServiceIAMMemberObservation struct { diff --git a/apis/cloudrun/v1beta1/zz_v2job_types.go b/apis/cloudrun/v1beta1/zz_v2job_types.go index bb2a94b3f..d7fd87a5f 100755 --- a/apis/cloudrun/v1beta1/zz_v2job_types.go +++ b/apis/cloudrun/v1beta1/zz_v2job_types.go @@ -1269,6 +1269,19 @@ type ValueSourceParameters struct { type ValueSourceSecretKeyRefInitParameters struct { + // Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + // Structure is documented below. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` + // The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. Version *string `json:"version,omitempty" tf:"version,omitempty"` } @@ -1312,6 +1325,19 @@ type VolumesSecretInitParameters struct { // If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version. // Structure is documented below. Items []SecretItemsInitParameters `json:"items,omitempty" tf:"items,omitempty"` + + // Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + // Structure is documented below. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` } type VolumesSecretObservation struct { diff --git a/apis/cloudrun/v1beta1/zz_v2service_types.go b/apis/cloudrun/v1beta1/zz_v2service_types.go index 4f5f4a3a6..9cb205986 100755 --- a/apis/cloudrun/v1beta1/zz_v2service_types.go +++ b/apis/cloudrun/v1beta1/zz_v2service_types.go @@ -226,6 +226,19 @@ type EnvValueSourceParameters struct { type EnvValueSourceSecretKeyRefInitParameters struct { + // Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + // Structure is documented below. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` + // The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. Version *string `json:"version,omitempty" tf:"version,omitempty"` } @@ -725,6 +738,19 @@ type TemplateVolumesSecretInitParameters struct { // If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version. // Structure is documented below. Items []VolumesSecretItemsInitParameters `json:"items,omitempty" tf:"items,omitempty"` + + // Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + // Structure is documented below. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/secretmanager/v1beta1.Secret + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret in secretmanager to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` } type TemplateVolumesSecretObservation struct { diff --git a/apis/cloudscheduler/v1beta1/zz_generated.deepcopy.go b/apis/cloudscheduler/v1beta1/zz_generated.deepcopy.go index ae23af09c..4a032dc2d 100644 --- a/apis/cloudscheduler/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudscheduler/v1beta1/zz_generated.deepcopy.go @@ -961,6 +961,21 @@ func (in *PubsubTargetInitParameters) DeepCopyInto(out *PubsubTargetInitParamete *out = new(string) **out = **in } + if in.TopicName != nil { + in, out := &in.TopicName, &out.TopicName + *out = new(string) + **out = **in + } + if in.TopicNameRef != nil { + in, out := &in.TopicNameRef, &out.TopicNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicNameSelector != nil { + in, out := &in.TopicNameSelector, &out.TopicNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubTargetInitParameters. diff --git a/apis/cloudscheduler/v1beta1/zz_generated.resolvers.go b/apis/cloudscheduler/v1beta1/zz_generated.resolvers.go index 3db838907..d680ac5d5 100644 --- a/apis/cloudscheduler/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudscheduler/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,24 @@ func (mg *Job) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.PubsubTarget[i3].TopicName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PubsubTarget[i3].TopicNameRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PubsubTarget); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PubsubTarget[i3].TopicName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.PubsubTarget[i3].TopicNameRef, + Selector: mg.Spec.InitProvider.PubsubTarget[i3].TopicNameSelector, + To: reference.To{ + List: &v1beta1.TopicList{}, + Managed: &v1beta1.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PubsubTarget[i3].TopicName") + } + mg.Spec.InitProvider.PubsubTarget[i3].TopicName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PubsubTarget[i3].TopicNameRef = rsp.ResolvedReference + } return nil diff --git a/apis/cloudscheduler/v1beta1/zz_job_types.go b/apis/cloudscheduler/v1beta1/zz_job_types.go index 4bf58427a..c5f29f851 100755 --- a/apis/cloudscheduler/v1beta1/zz_job_types.go +++ b/apis/cloudscheduler/v1beta1/zz_job_types.go @@ -522,6 +522,21 @@ type PubsubTargetInitParameters struct { // Pubsub message must contain either non-empty data, or at least one attribute. // A base64-encoded string. Data *string `json:"data,omitempty" tf:"data,omitempty"` + + // The full resource name for the Cloud Pub/Sub topic to which + // messages will be published when a job is delivered. ~>NOTE: + // The topic name must be in the same format as required by PubSub's + // PublishRequest.name, e.g. projects/my-project/topics/my-topic. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + TopicName *string `json:"topicName,omitempty" tf:"topic_name,omitempty"` + + // Reference to a Topic in pubsub to populate topicName. + // +kubebuilder:validation:Optional + TopicNameRef *v1.Reference `json:"topicNameRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate topicName. + // +kubebuilder:validation:Optional + TopicNameSelector *v1.Selector `json:"topicNameSelector,omitempty" tf:"-"` } type PubsubTargetObservation struct { diff --git a/apis/cloudtasks/v1beta1/zz_generated.deepcopy.go b/apis/cloudtasks/v1beta1/zz_generated.deepcopy.go index 0578814d8..3e739708a 100644 --- a/apis/cloudtasks/v1beta1/zz_generated.deepcopy.go +++ b/apis/cloudtasks/v1beta1/zz_generated.deepcopy.go @@ -157,6 +157,21 @@ func (in *QueueInitParameters) DeepCopyInto(out *QueueInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RateLimits != nil { in, out := &in.RateLimits, &out.RateLimits *out = make([]RateLimitsInitParameters, len(*in)) diff --git a/apis/cloudtasks/v1beta1/zz_generated.resolvers.go b/apis/cloudtasks/v1beta1/zz_generated.resolvers.go index eedc06829..5eef3f008 100644 --- a/apis/cloudtasks/v1beta1/zz_generated.resolvers.go +++ b/apis/cloudtasks/v1beta1/zz_generated.resolvers.go @@ -48,5 +48,21 @@ func (mg *Queue) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &v1beta1.ProjectList{}, + Managed: &v1beta1.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } diff --git a/apis/cloudtasks/v1beta1/zz_queue_types.go b/apis/cloudtasks/v1beta1/zz_queue_types.go index e0fa0eeca..a1294cf21 100755 --- a/apis/cloudtasks/v1beta1/zz_queue_types.go +++ b/apis/cloudtasks/v1beta1/zz_queue_types.go @@ -88,6 +88,19 @@ type QueueInitParameters struct { // Structure is documented below. AppEngineRoutingOverride []AppEngineRoutingOverrideInitParameters `json:"appEngineRoutingOverride,omitempty" tf:"app_engine_routing_override,omitempty"` + // The ID of the project in which the resource belongs. + // If it is not provided, the provider project is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // Rate limits for task dispatches. // The queue's actual dispatch rate is the result of: RateLimits []RateLimitsInitParameters `json:"rateLimits,omitempty" tf:"rate_limits,omitempty"` diff --git a/apis/composer/v1beta1/zz_environment_types.go b/apis/composer/v1beta1/zz_environment_types.go index 099199e9f..6131f3814 100755 --- a/apis/composer/v1beta1/zz_environment_types.go +++ b/apis/composer/v1beta1/zz_environment_types.go @@ -370,6 +370,19 @@ type EnvironmentInitParameters struct { // Both keys and values must be <= 128 bytes in size. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The ID of the project in which the resource belongs. + // If it is not provided, the provider project is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` } type EnvironmentObservation struct { @@ -648,12 +661,60 @@ type NodeConfigInitParameters struct { // manually changed to a non-standard values. MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + // The Compute Engine network to be used for machine + // communications, specified as a self-link, relative resource name + // (for example "projects/{project}/global/networks/{network}"), by name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The set of Google API scopes to be made available on all node // VMs. Cannot be updated. If empty, defaults to // ["https://www.googleapis.com/auth/cloud-platform"]. // +listType=set OAuthScopes []*string `json:"oauthScopes,omitempty" tf:"oauth_scopes,omitempty"` + // The Google Cloud Platform Service Account to be used by the + // node VMs. If a service account is not specified, the "default" + // Compute Engine service account is used. Cannot be updated. If given, + // note that the service account must have roles/composer.worker + // for any GCP resources created under the Cloud Composer Environment. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + + // The Compute Engine subnetwork to be used for machine + // communications, specified as a self-link, relative resource name (for example, + // "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, + // network must also be provided and the subnetwork must belong to the enclosing environment's project and region. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Subnetwork + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` + // The list of instance tags applied to all node VMs. Tags are // used to identify valid sources or targets for network // firewalls. Each tag within the list must comply with RFC1035. diff --git a/apis/composer/v1beta1/zz_generated.deepcopy.go b/apis/composer/v1beta1/zz_generated.deepcopy.go index db81034a0..fb55cdfe2 100644 --- a/apis/composer/v1beta1/zz_generated.deepcopy.go +++ b/apis/composer/v1beta1/zz_generated.deepcopy.go @@ -684,6 +684,21 @@ func (in *EnvironmentInitParameters) DeepCopyInto(out *EnvironmentInitParameters (*out)[key] = outVal } } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentInitParameters. @@ -1190,6 +1205,21 @@ func (in *NodeConfigInitParameters) DeepCopyInto(out *NodeConfigInitParameters) *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.OAuthScopes != nil { in, out := &in.OAuthScopes, &out.OAuthScopes *out = make([]*string, len(*in)) @@ -1201,6 +1231,36 @@ func (in *NodeConfigInitParameters) DeepCopyInto(out *NodeConfigInitParameters) } } } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make([]*string, len(*in)) diff --git a/apis/composer/v1beta1/zz_generated.resolvers.go b/apis/composer/v1beta1/zz_generated.resolvers.go index b08332469..bf57f0cb6 100644 --- a/apis/composer/v1beta1/zz_generated.resolvers.go +++ b/apis/composer/v1beta1/zz_generated.resolvers.go @@ -110,5 +110,81 @@ func (mg *Environment) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.Config); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Config[i3].NodeConfig); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].NetworkRef, + Selector: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Network") + } + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].NetworkRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Config); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Config[i3].NodeConfig); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccount), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccountRef, + Selector: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccountSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccount") + } + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].ServiceAccountRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Config); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Config[i3].NodeConfig); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Subnetwork), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].SubnetworkRef, + Selector: mg.Spec.InitProvider.Config[i3].NodeConfig[i4].SubnetworkSelector, + To: reference.To{ + List: &v1beta1.SubnetworkList{}, + Managed: &v1beta1.Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Subnetwork") + } + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Config[i3].NodeConfig[i4].SubnetworkRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } diff --git a/apis/compute/v1beta1/zz_address_types.go b/apis/compute/v1beta1/zz_address_types.go index ccaf0f9ba..db656a5cf 100755 --- a/apis/compute/v1beta1/zz_address_types.go +++ b/apis/compute/v1beta1/zz_address_types.go @@ -55,6 +55,21 @@ type AddressInitParameters struct { // Possible values are: VM, NETLB. IPv6EndpointType *string `json:"ipv6EndpointType,omitempty" tf:"ipv6_endpoint_type,omitempty"` + // The URL of the network in which to reserve the address. This field + // can only be used with INTERNAL type with the VPC_PEERING and + // IPSEC_INTERCONNECT purposes. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The networking tier used for configuring this address. If this field is not // specified, it is assumed to be PREMIUM. // This argument should not be used when configuring Internal addresses, because network tier cannot be set for internal traffic; it's always Premium. @@ -70,6 +85,22 @@ type AddressInitParameters struct { // The purpose of this resource, which can be one of the following values. Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"` + + // The URL of the subnetwork in which to reserve the address. If an IP + // address is specified, it must be within the subnetwork's IP range. + // This field can only be used with INTERNAL type with + // GCE_ENDPOINT/DNS_RESOLVER purposes. + // +crossplane:generate:reference:type=Subnetwork + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type AddressObservation struct { diff --git a/apis/compute/v1beta1/zz_attacheddisk_types.go b/apis/compute/v1beta1/zz_attacheddisk_types.go index 6720d0ce1..10c68397e 100755 --- a/apis/compute/v1beta1/zz_attacheddisk_types.go +++ b/apis/compute/v1beta1/zz_attacheddisk_types.go @@ -38,6 +38,35 @@ type AttachedDiskInitParameters struct { // the instance. DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"` + // name or self_link of the disk that will be attached. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Disk *string `json:"disk,omitempty" tf:"disk,omitempty"` + + // Reference to a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"` + + // name or self_link of the compute instance that the disk will be attached to. + // If the self_link is provided then zone and project are extracted from the + // self link. If only the name is used then zone and project must be defined + // as properties on the resource or provider. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + // The mode in which to attach this disk, either READ_WRITE or // READ_ONLY. If not specified, the default is to attach the disk in // READ_WRITE mode. diff --git a/apis/compute/v1beta1/zz_autoscaler_types.go b/apis/compute/v1beta1/zz_autoscaler_types.go index 4c55c8bfb..d64ff76bc 100755 --- a/apis/compute/v1beta1/zz_autoscaler_types.go +++ b/apis/compute/v1beta1/zz_autoscaler_types.go @@ -45,6 +45,19 @@ type AutoscalerInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the managed instance group that this autoscaler will scale. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.InstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Target *string `json:"target,omitempty" tf:"target,omitempty"` + + // Reference to a InstanceGroupManager in compute to populate target. + // +kubebuilder:validation:Optional + TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"` + + // Selector for a InstanceGroupManager in compute to populate target. + // +kubebuilder:validation:Optional + TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"` } type AutoscalerObservation struct { diff --git a/apis/compute/v1beta1/zz_backendbucket_types.go b/apis/compute/v1beta1/zz_backendbucket_types.go index cc5309dc2..30593cbd6 100755 --- a/apis/compute/v1beta1/zz_backendbucket_types.go +++ b/apis/compute/v1beta1/zz_backendbucket_types.go @@ -31,6 +31,18 @@ import ( type BackendBucketInitParameters struct { + // Cloud Storage bucket name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Reference to a Bucket in storage to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"` + // Cloud CDN configuration for this Backend Bucket. // Structure is documented below. CdnPolicy []CdnPolicyInitParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"` @@ -46,6 +58,19 @@ type BackendBucketInitParameters struct { // client when the resource is created. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The security policy associated with this backend bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.SecurityPolicy + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"` + + // Reference to a SecurityPolicy in compute to populate edgeSecurityPolicy. + // +kubebuilder:validation:Optional + EdgeSecurityPolicyRef *v1.Reference `json:"edgeSecurityPolicyRef,omitempty" tf:"-"` + + // Selector for a SecurityPolicy in compute to populate edgeSecurityPolicy. + // +kubebuilder:validation:Optional + EdgeSecurityPolicySelector *v1.Selector `json:"edgeSecurityPolicySelector,omitempty" tf:"-"` + // If true, enable Cloud CDN for this BackendBucket. EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"` diff --git a/apis/compute/v1beta1/zz_backendbucketsignedurlkey_types.go b/apis/compute/v1beta1/zz_backendbucketsignedurlkey_types.go index 17dccdbd2..6a182e008 100755 --- a/apis/compute/v1beta1/zz_backendbucketsignedurlkey_types.go +++ b/apis/compute/v1beta1/zz_backendbucketsignedurlkey_types.go @@ -31,6 +31,18 @@ import ( type BackendBucketSignedURLKeyInitParameters struct { + // The backend bucket this signed URL key belongs. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendBucket + BackendBucket *string `json:"backendBucket,omitempty" tf:"backend_bucket,omitempty"` + + // Reference to a BackendBucket in compute to populate backendBucket. + // +kubebuilder:validation:Optional + BackendBucketRef *v1.Reference `json:"backendBucketRef,omitempty" tf:"-"` + + // Selector for a BackendBucket in compute to populate backendBucket. + // +kubebuilder:validation:Optional + BackendBucketSelector *v1.Selector `json:"backendBucketSelector,omitempty" tf:"-"` + // Name of the signed URL key. Name *string `json:"name,omitempty" tf:"name,omitempty"` diff --git a/apis/compute/v1beta1/zz_backendservice_types.go b/apis/compute/v1beta1/zz_backendservice_types.go index ef64fb8f6..8914e0976 100755 --- a/apis/compute/v1beta1/zz_backendservice_types.go +++ b/apis/compute/v1beta1/zz_backendservice_types.go @@ -53,6 +53,32 @@ type BackendInitParameters struct { // Provide this property when you create the resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The fully-qualified URL of an Instance Group or Network Endpoint + // Group resource. In case of instance group this defines the list + // of instances that serve traffic. Member virtual machine + // instances from each instance group must live in the same zone as + // the instance group itself. No two backends in a backend service + // are allowed to use same Instance Group resource. + // For Network Endpoint Groups this defines list of endpoints. All + // endpoints of Network Endpoint Group must be hosted on instances + // located in the same zone as the Network Endpoint Group. + // Backend services cannot mix Instance Group and + // Network Endpoint Group backends. + // Note that you must specify an Instance Group or Network Endpoint + // Group resource using the fully-qualified URL, rather than a + // partial URL. + // +crossplane:generate:reference:type=InstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor() + Group *string `json:"group,omitempty" tf:"group,omitempty"` + + // Reference to a InstanceGroupManager to populate group. + // +kubebuilder:validation:Optional + GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"` + + // Selector for a InstanceGroupManager to populate group. + // +kubebuilder:validation:Optional + GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"` + // The max number of simultaneous connections for the group. Can // be used with either CONNECTION or UTILIZATION balancing modes. // For CONNECTION mode, either maxConnections or one @@ -512,6 +538,25 @@ type BackendServiceInitParameters struct { // If true, enable Cloud CDN for this BackendService. EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"` + // The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource + // for health checking this BackendService. Currently at most one health + // check can be specified. + // A health check must be specified unless the backend service uses an internet + // or serverless NEG as a backend. + // For internal load balancing, a URL to a HealthCheck resource must be specified instead. + // +crossplane:generate:reference:type=HealthCheck + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + // +listType=set + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // References to HealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"` + + // Selector for a list of HealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"` + // Settings for enabling Cloud Identity Aware Proxy // Structure is documented below. Iap []IapInitParameters `json:"iap,omitempty" tf:"iap,omitempty"` diff --git a/apis/compute/v1beta1/zz_backendservicesignedurlkey_types.go b/apis/compute/v1beta1/zz_backendservicesignedurlkey_types.go index 2ecc891f0..1bd1e5972 100755 --- a/apis/compute/v1beta1/zz_backendservicesignedurlkey_types.go +++ b/apis/compute/v1beta1/zz_backendservicesignedurlkey_types.go @@ -31,6 +31,18 @@ import ( type BackendServiceSignedURLKeyInitParameters struct { + // The backend service this signed URL key belongs. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // Name of the signed URL key. Name *string `json:"name,omitempty" tf:"name,omitempty"` diff --git a/apis/compute/v1beta1/zz_disk_types.go b/apis/compute/v1beta1/zz_disk_types.go index a91a362a7..fb9675296 100755 --- a/apis/compute/v1beta1/zz_disk_types.go +++ b/apis/compute/v1beta1/zz_disk_types.go @@ -30,6 +30,19 @@ import ( ) type AsyncPrimaryDiskInitParameters struct { + + // Primary disk for asynchronous disk replication. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Disk *string `json:"disk,omitempty" tf:"disk,omitempty"` + + // Reference to a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"` } type AsyncPrimaryDiskObservation struct { diff --git a/apis/compute/v1beta1/zz_diskiammember_types.go b/apis/compute/v1beta1/zz_diskiammember_types.go index 23136fad9..e649260f5 100755 --- a/apis/compute/v1beta1/zz_diskiammember_types.go +++ b/apis/compute/v1beta1/zz_diskiammember_types.go @@ -62,6 +62,17 @@ type DiskIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` + // +crossplane:generate:reference:type=Disk + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a Disk to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a Disk to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/compute/v1beta1/zz_diskresourcepolicyattachment_types.go b/apis/compute/v1beta1/zz_diskresourcepolicyattachment_types.go index 673e79251..63eccceaf 100755 --- a/apis/compute/v1beta1/zz_diskresourcepolicyattachment_types.go +++ b/apis/compute/v1beta1/zz_diskresourcepolicyattachment_types.go @@ -31,6 +31,31 @@ import ( type DiskResourcePolicyAttachmentInitParameters struct { + // The name of the disk in which the resource policies are attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + Disk *string `json:"disk,omitempty" tf:"disk,omitempty"` + + // Reference to a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"` + + // The resource policy to be attached to the disk for scheduling snapshot + // creation. Do not specify the self link. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ResourcePolicy + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a ResourcePolicy in compute to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a ResourcePolicy in compute to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_firewall_types.go b/apis/compute/v1beta1/zz_firewall_types.go index 095183dec..2df7815f0 100755 --- a/apis/compute/v1beta1/zz_firewall_types.go +++ b/apis/compute/v1beta1/zz_firewall_types.go @@ -179,6 +179,19 @@ type FirewallInitParameters struct { // Structure is documented below. LogConfig []FirewallLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + // The name or self_link of the network to attach this firewall to. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // Priority for this rule. This is an integer between 0 and 65535, both // inclusive. When not specified, the value assumed is 1000. Relative // priorities determine precedence of conflicting rules. Lower value of diff --git a/apis/compute/v1beta1/zz_firewallpolicyassociation_types.go b/apis/compute/v1beta1/zz_firewallpolicyassociation_types.go index 17f021c3f..cf31f1ad5 100755 --- a/apis/compute/v1beta1/zz_firewallpolicyassociation_types.go +++ b/apis/compute/v1beta1/zz_firewallpolicyassociation_types.go @@ -31,6 +31,32 @@ import ( type FirewallPolicyAssociationInitParameters struct { + // The target that the firewall policy is attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Folder + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + AttachmentTarget *string `json:"attachmentTarget,omitempty" tf:"attachment_target,omitempty"` + + // Reference to a Folder in cloudplatform to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetRef *v1.Reference `json:"attachmentTargetRef,omitempty" tf:"-"` + + // Selector for a Folder in cloudplatform to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetSelector *v1.Selector `json:"attachmentTargetSelector,omitempty" tf:"-"` + + // The firewall policy ID of the association. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.FirewallPolicy + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + FirewallPolicy *string `json:"firewallPolicy,omitempty" tf:"firewall_policy,omitempty"` + + // Reference to a FirewallPolicy in compute to populate firewallPolicy. + // +kubebuilder:validation:Optional + FirewallPolicyRef *v1.Reference `json:"firewallPolicyRef,omitempty" tf:"-"` + + // Selector for a FirewallPolicy in compute to populate firewallPolicy. + // +kubebuilder:validation:Optional + FirewallPolicySelector *v1.Selector `json:"firewallPolicySelector,omitempty" tf:"-"` + // The name for an association. Name *string `json:"name,omitempty" tf:"name,omitempty"` } diff --git a/apis/compute/v1beta1/zz_firewallpolicyrule_types.go b/apis/compute/v1beta1/zz_firewallpolicyrule_types.go index 7561e18f3..34d8bc72b 100755 --- a/apis/compute/v1beta1/zz_firewallpolicyrule_types.go +++ b/apis/compute/v1beta1/zz_firewallpolicyrule_types.go @@ -46,6 +46,19 @@ type FirewallPolicyRuleInitParameters struct { // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"` + // The firewall policy of the resource. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.FirewallPolicy + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + FirewallPolicy *string `json:"firewallPolicy,omitempty" tf:"firewall_policy,omitempty"` + + // Reference to a FirewallPolicy in compute to populate firewallPolicy. + // +kubebuilder:validation:Optional + FirewallPolicyRef *v1.Reference `json:"firewallPolicyRef,omitempty" tf:"-"` + + // Selector for a FirewallPolicy in compute to populate firewallPolicy. + // +kubebuilder:validation:Optional + FirewallPolicySelector *v1.Selector `json:"firewallPolicySelector,omitempty" tf:"-"` + // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. Match []MatchInitParameters `json:"match,omitempty" tf:"match,omitempty"` diff --git a/apis/compute/v1beta1/zz_forwardingrule_types.go b/apis/compute/v1beta1/zz_forwardingrule_types.go index b7513b262..e400c1385 100755 --- a/apis/compute/v1beta1/zz_forwardingrule_types.go +++ b/apis/compute/v1beta1/zz_forwardingrule_types.go @@ -46,10 +46,42 @@ type ForwardingRuleInitParameters struct { // This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. AllowPscGlobalAccess *bool `json:"allowPscGlobalAccess,omitempty" tf:"allow_psc_global_access,omitempty"` + // Identifies the backend service to which the forwarding rule sends traffic. + // Required for Internal TCP/UDP Load Balancing and Network Load Balancing; + // must be omitted for all other load balancer types. + // +crossplane:generate:reference:type=RegionBackendService + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // An optional description of this resource. Provide this property when // you create the resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // IP address for which this forwarding rule accepts traffic. When a client + // sends traffic to this IP address, the forwarding rule directs the traffic + // to the referenced target or backendService. + // While creating a forwarding rule, specifying an IPAddress is + // required under the following circumstances: + // +crossplane:generate:reference:type=Address + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Reference to a Address to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"` + + // Selector for a Address to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"` + // The IP protocol to which this rule applies. // For protocol forwarding, valid // options are TCP, UDP, ESP, @@ -80,6 +112,26 @@ type ForwardingRuleInitParameters struct { // Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED. LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"` + // This field is not used for external load balancing. + // For Internal TCP/UDP Load Balancing, this field identifies the network that + // the load balanced IP should belong to for this Forwarding Rule. + // If the subnetwork is specified, the network of the subnetwork will be used. + // If neither subnetwork nor this field is specified, the default network will + // be used. + // For Private Service Connect forwarding rules that forward traffic to Google + // APIs, a network must be provided. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // This signifies the networking tier used for configuring // this load balancer and can only take the following values: // PREMIUM, STANDARD. @@ -131,6 +183,39 @@ type ForwardingRuleInitParameters struct { // If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"` + + // This field identifies the subnetwork that the load balanced IP should + // belong to for this Forwarding Rule, used in internal load balancing and + // network load balancing with IPv6. + // If the network specified is in auto subnet mode, this field is optional. + // However, a subnetwork must be specified if the network is in custom subnet + // mode or when creating external forwarding rule with IPv6. + // +crossplane:generate:reference:type=Subnetwork + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` + + // is set to targetGrpcProxy and + // validateForProxyless is set to true, the + // IPAddress should be set to 0.0.0.0. + // +crossplane:generate:reference:type=RegionTargetHTTPProxy + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Target *string `json:"target,omitempty" tf:"target,omitempty"` + + // Reference to a RegionTargetHTTPProxy to populate target. + // +kubebuilder:validation:Optional + TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"` + + // Selector for a RegionTargetHTTPProxy to populate target. + // +kubebuilder:validation:Optional + TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"` } type ForwardingRuleObservation struct { diff --git a/apis/compute/v1beta1/zz_generated.deepcopy.go b/apis/compute/v1beta1/zz_generated.deepcopy.go index e56368a70..5b6327519 100644 --- a/apis/compute/v1beta1/zz_generated.deepcopy.go +++ b/apis/compute/v1beta1/zz_generated.deepcopy.go @@ -422,6 +422,21 @@ func (in *AddressInitParameters) DeepCopyInto(out *AddressInitParameters) { *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NetworkTier != nil { in, out := &in.NetworkTier, &out.NetworkTier *out = new(string) @@ -442,6 +457,21 @@ func (in *AddressInitParameters) DeepCopyInto(out *AddressInitParameters) { *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressInitParameters. @@ -1239,6 +1269,21 @@ func (in *AppEngineParameters) DeepCopy() *AppEngineParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AsyncPrimaryDiskInitParameters) DeepCopyInto(out *AsyncPrimaryDiskInitParameters) { *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.DiskRef != nil { + in, out := &in.DiskRef, &out.DiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskSelector != nil { + in, out := &in.DiskSelector, &out.DiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AsyncPrimaryDiskInitParameters. @@ -1336,6 +1381,36 @@ func (in *AttachedDiskInitParameters) DeepCopyInto(out *AttachedDiskInitParamete *out = new(string) **out = **in } + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.DiskRef != nil { + in, out := &in.DiskRef, &out.DiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskSelector != nil { + in, out := &in.DiskSelector, &out.DiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Mode != nil { in, out := &in.Mode, &out.Mode *out = new(string) @@ -1548,6 +1623,21 @@ func (in *AttachedDiskStatus) DeepCopy() *AttachedDiskStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AutoHealingPoliciesInitParameters) DeepCopyInto(out *AutoHealingPoliciesInitParameters) { *out = *in + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = new(string) + **out = **in + } + if in.HealthCheckRef != nil { + in, out := &in.HealthCheckRef, &out.HealthCheckRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HealthCheckSelector != nil { + in, out := &in.HealthCheckSelector, &out.HealthCheckSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.InitialDelaySec != nil { in, out := &in.InitialDelaySec, &out.InitialDelaySec *out = new(float64) @@ -1672,6 +1762,21 @@ func (in *AutoscalerInitParameters) DeepCopyInto(out *AutoscalerInitParameters) *out = new(string) **out = **in } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } + if in.TargetRef != nil { + in, out := &in.TargetRef, &out.TargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetSelector != nil { + in, out := &in.TargetSelector, &out.TargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerInitParameters. @@ -2700,6 +2805,21 @@ func (in *BackendBucket) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackendBucketInitParameters) DeepCopyInto(out *BackendBucketInitParameters) { *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketNameRef != nil { + in, out := &in.BucketNameRef, &out.BucketNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketNameSelector != nil { + in, out := &in.BucketNameSelector, &out.BucketNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CdnPolicy != nil { in, out := &in.CdnPolicy, &out.CdnPolicy *out = make([]CdnPolicyInitParameters, len(*in)) @@ -2728,6 +2848,21 @@ func (in *BackendBucketInitParameters) DeepCopyInto(out *BackendBucketInitParame *out = new(string) **out = **in } + if in.EdgeSecurityPolicy != nil { + in, out := &in.EdgeSecurityPolicy, &out.EdgeSecurityPolicy + *out = new(string) + **out = **in + } + if in.EdgeSecurityPolicyRef != nil { + in, out := &in.EdgeSecurityPolicyRef, &out.EdgeSecurityPolicyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EdgeSecurityPolicySelector != nil { + in, out := &in.EdgeSecurityPolicySelector, &out.EdgeSecurityPolicySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.EnableCdn != nil { in, out := &in.EnableCdn, &out.EnableCdn *out = new(bool) @@ -2973,6 +3108,21 @@ func (in *BackendBucketSignedURLKey) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackendBucketSignedURLKeyInitParameters) DeepCopyInto(out *BackendBucketSignedURLKeyInitParameters) { *out = *in + if in.BackendBucket != nil { + in, out := &in.BackendBucket, &out.BackendBucket + *out = new(string) + **out = **in + } + if in.BackendBucketRef != nil { + in, out := &in.BackendBucketRef, &out.BackendBucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendBucketSelector != nil { + in, out := &in.BackendBucketSelector, &out.BackendBucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -3191,6 +3341,21 @@ func (in *BackendInitParameters) DeepCopyInto(out *BackendInitParameters) { *out = new(string) **out = **in } + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.GroupRef != nil { + in, out := &in.GroupRef, &out.GroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GroupSelector != nil { + in, out := &in.GroupSelector, &out.GroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MaxConnections != nil { in, out := &in.MaxConnections, &out.MaxConnections *out = new(float64) @@ -3711,6 +3876,29 @@ func (in *BackendServiceInitParameters) DeepCopyInto(out *BackendServiceInitPara *out = new(bool) **out = **in } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.HealthChecksRefs != nil { + in, out := &in.HealthChecksRefs, &out.HealthChecksRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthChecksSelector != nil { + in, out := &in.HealthChecksSelector, &out.HealthChecksSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Iap != nil { in, out := &in.Iap, &out.Iap *out = make([]IapInitParameters, len(*in)) @@ -4259,6 +4447,21 @@ func (in *BackendServiceSignedURLKey) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackendServiceSignedURLKeyInitParameters) DeepCopyInto(out *BackendServiceSignedURLKeyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -5978,6 +6181,21 @@ func (in *CircuitBreakersParameters) DeepCopy() *CircuitBreakersParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CloudFunctionInitParameters) DeepCopyInto(out *CloudFunctionInitParameters) { *out = *in + if in.Function != nil { + in, out := &in.Function, &out.Function + *out = new(string) + **out = **in + } + if in.FunctionRef != nil { + in, out := &in.FunctionRef, &out.FunctionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FunctionSelector != nil { + in, out := &in.FunctionSelector, &out.FunctionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.URLMask != nil { in, out := &in.URLMask, &out.URLMask *out = new(string) @@ -6058,6 +6276,21 @@ func (in *CloudFunctionParameters) DeepCopy() *CloudFunctionParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CloudRunInitParameters) DeepCopyInto(out *CloudRunInitParameters) { *out = *in + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tag != nil { in, out := &in.Tag, &out.Tag *out = new(string) @@ -6153,6 +6386,21 @@ func (in *CloudRunParameters) DeepCopy() *CloudRunParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CollectorIlbInitParameters) DeepCopyInto(out *CollectorIlbInitParameters) { *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } + if in.URLRef != nil { + in, out := &in.URLRef, &out.URLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLSelector != nil { + in, out := &in.URLSelector, &out.URLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbInitParameters. @@ -7838,7 +8086,9 @@ func (in *DefaultRouteActionInitParameters) DeepCopyInto(out *DefaultRouteAction if in.RequestMirrorPolicy != nil { in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy *out = make([]RequestMirrorPolicyInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.RetryPolicy != nil { in, out := &in.RetryPolicy, &out.RetryPolicy @@ -9499,6 +9749,21 @@ func (in *DiskIAMMemberInitParameters) DeepCopyInto(out *DiskIAMMemberInitParame *out = new(string) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -9713,7 +9978,9 @@ func (in *DiskInitParameters) DeepCopyInto(out *DiskInitParameters) { if in.AsyncPrimaryDisk != nil { in, out := &in.AsyncPrimaryDisk, &out.AsyncPrimaryDisk *out = make([]AsyncPrimaryDiskInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Description != nil { in, out := &in.Description, &out.Description @@ -10214,6 +10481,36 @@ func (in *DiskResourcePolicyAttachment) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DiskResourcePolicyAttachmentInitParameters) DeepCopyInto(out *DiskResourcePolicyAttachmentInitParameters) { *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.DiskRef != nil { + in, out := &in.DiskRef, &out.DiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskSelector != nil { + in, out := &in.DiskSelector, &out.DiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -11677,6 +11974,21 @@ func (in *FirewallInitParameters) DeepCopyInto(out *FirewallInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Priority != nil { in, out := &in.Priority, &out.Priority *out = new(float64) @@ -12202,6 +12514,36 @@ func (in *FirewallPolicyAssociation) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FirewallPolicyAssociationInitParameters) DeepCopyInto(out *FirewallPolicyAssociationInitParameters) { *out = *in + if in.AttachmentTarget != nil { + in, out := &in.AttachmentTarget, &out.AttachmentTarget + *out = new(string) + **out = **in + } + if in.AttachmentTargetRef != nil { + in, out := &in.AttachmentTargetRef, &out.AttachmentTargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AttachmentTargetSelector != nil { + in, out := &in.AttachmentTargetSelector, &out.AttachmentTargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.FirewallPolicy != nil { + in, out := &in.FirewallPolicy, &out.FirewallPolicy + *out = new(string) + **out = **in + } + if in.FirewallPolicyRef != nil { + in, out := &in.FirewallPolicyRef, &out.FirewallPolicyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FirewallPolicySelector != nil { + in, out := &in.FirewallPolicySelector, &out.FirewallPolicySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -12593,6 +12935,21 @@ func (in *FirewallPolicyRuleInitParameters) DeepCopyInto(out *FirewallPolicyRule *out = new(bool) **out = **in } + if in.FirewallPolicy != nil { + in, out := &in.FirewallPolicy, &out.FirewallPolicy + *out = new(string) + **out = **in + } + if in.FirewallPolicyRef != nil { + in, out := &in.FirewallPolicyRef, &out.FirewallPolicyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FirewallPolicySelector != nil { + in, out := &in.FirewallPolicySelector, &out.FirewallPolicySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Match != nil { in, out := &in.Match, &out.Match *out = make([]MatchInitParameters, len(*in)) @@ -13079,11 +13436,41 @@ func (in *ForwardingRuleInitParameters) DeepCopyInto(out *ForwardingRuleInitPara *out = new(bool) **out = **in } + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) **out = **in } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.IPAddressRef != nil { + in, out := &in.IPAddressRef, &out.IPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IPAddressSelector != nil { + in, out := &in.IPAddressSelector, &out.IPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IPProtocol != nil { in, out := &in.IPProtocol, &out.IPProtocol *out = new(string) @@ -13115,6 +13502,21 @@ func (in *ForwardingRuleInitParameters) DeepCopyInto(out *ForwardingRuleInitPara *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NetworkTier != nil { in, out := &in.NetworkTier, &out.NetworkTier *out = new(string) @@ -13169,6 +13571,36 @@ func (in *ForwardingRuleInitParameters) DeepCopyInto(out *ForwardingRuleInitPara } } } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } + if in.TargetRef != nil { + in, out := &in.TargetRef, &out.TargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetSelector != nil { + in, out := &in.TargetSelector, &out.TargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleInitParameters. @@ -13793,6 +14225,21 @@ func (in *GlobalAddressInitParameters) DeepCopyInto(out *GlobalAddressInitParame *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PrefixLength != nil { in, out := &in.PrefixLength, &out.PrefixLength *out = new(float64) @@ -14057,6 +14504,21 @@ func (in *GlobalForwardingRuleInitParameters) DeepCopyInto(out *GlobalForwarding *out = new(string) **out = **in } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.IPAddressRef != nil { + in, out := &in.IPAddressRef, &out.IPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IPAddressSelector != nil { + in, out := &in.IPAddressSelector, &out.IPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IPProtocol != nil { in, out := &in.IPProtocol, &out.IPProtocol *out = new(string) @@ -14095,6 +14557,21 @@ func (in *GlobalForwardingRuleInitParameters) DeepCopyInto(out *GlobalForwarding (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NoAutomateDNSZone != nil { in, out := &in.NoAutomateDNSZone, &out.NoAutomateDNSZone *out = new(bool) @@ -14105,6 +14582,21 @@ func (in *GlobalForwardingRuleInitParameters) DeepCopyInto(out *GlobalForwarding *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceIPRanges != nil { in, out := &in.SourceIPRanges, &out.SourceIPRanges *out = make([]*string, len(*in)) @@ -14116,6 +14608,21 @@ func (in *GlobalForwardingRuleInitParameters) DeepCopyInto(out *GlobalForwarding } } } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } + if in.TargetRef != nil { + in, out := &in.TargetRef, &out.TargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetSelector != nil { + in, out := &in.TargetSelector, &out.TargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleInitParameters. @@ -14707,6 +15214,21 @@ func (in *GlobalNetworkEndpointInitParameters) DeepCopyInto(out *GlobalNetworkEn *out = new(string) **out = **in } + if in.GlobalNetworkEndpointGroup != nil { + in, out := &in.GlobalNetworkEndpointGroup, &out.GlobalNetworkEndpointGroup + *out = new(string) + **out = **in + } + if in.GlobalNetworkEndpointGroupRef != nil { + in, out := &in.GlobalNetworkEndpointGroupRef, &out.GlobalNetworkEndpointGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GlobalNetworkEndpointGroupSelector != nil { + in, out := &in.GlobalNetworkEndpointGroupSelector, &out.GlobalNetworkEndpointGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IPAddress != nil { in, out := &in.IPAddress, &out.IPAddress *out = new(string) @@ -16280,6 +16802,21 @@ func (in *HaVPNGatewayInitParameters) DeepCopyInto(out *HaVPNGatewayInitParamete *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -18328,6 +18865,21 @@ func (in *ImageIAMMemberInitParameters) DeepCopyInto(out *ImageIAMMemberInitPara (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.ImageRef != nil { + in, out := &in.ImageRef, &out.ImageRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ImageSelector != nil { + in, out := &in.ImageSelector, &out.ImageSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) @@ -18948,6 +19500,21 @@ func (in *ImageStatus) DeepCopy() *ImageStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InitializeParamsInitParameters) DeepCopyInto(out *InitializeParamsInitParameters) { *out = *in + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.ImageRef != nil { + in, out := &in.ImageRef, &out.ImageRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ImageSelector != nil { + in, out := &in.ImageSelector, &out.ImageSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]string, len(*in)) @@ -19977,6 +20544,21 @@ func (in *InstanceFromTemplateInitParameters) DeepCopyInto(out *InstanceFromTemp (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SourceInstanceTemplate != nil { + in, out := &in.SourceInstanceTemplate, &out.SourceInstanceTemplate + *out = new(string) + **out = **in + } + if in.SourceInstanceTemplateRef != nil { + in, out := &in.SourceInstanceTemplateRef, &out.SourceInstanceTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceInstanceTemplateSelector != nil { + in, out := &in.SourceInstanceTemplateSelector, &out.SourceInstanceTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make([]*string, len(*in)) @@ -20061,11 +20643,26 @@ func (in *InstanceFromTemplateNetworkInterfaceInitParameters) DeepCopyInto(out * (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkIP != nil { in, out := &in.NetworkIP, &out.NetworkIP *out = new(string) **out = **in } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NicType != nil { in, out := &in.NicType, &out.NicType *out = new(string) @@ -20081,11 +20678,26 @@ func (in *InstanceFromTemplateNetworkInterfaceInitParameters) DeepCopyInto(out * *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } if in.SubnetworkProject != nil { in, out := &in.SubnetworkProject, &out.SubnetworkProject *out = new(string) **out = **in } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkInterfaceInitParameters. @@ -21519,6 +22131,21 @@ func (in *InstanceGroupInitParameters) DeepCopyInto(out *InstanceGroupInitParame (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -21646,6 +22273,29 @@ func (in *InstanceGroupManagerInitParameters) DeepCopyInto(out *InstanceGroupMan (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.TargetPools != nil { + in, out := &in.TargetPools, &out.TargetPools + *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.TargetPoolsRefs != nil { + in, out := &in.TargetPoolsRefs, &out.TargetPoolsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TargetPoolsSelector != nil { + in, out := &in.TargetPoolsSelector, &out.TargetPoolsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.TargetSize != nil { in, out := &in.TargetSize, &out.TargetSize *out = new(float64) @@ -22601,137 +23251,152 @@ func (in *InstanceIAMMemberInitParameters) DeepCopyInto(out *InstanceIAMMemberIn (*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.Role != nil { - in, out := &in.Role, &out.Role - *out = new(string) - **out = **in - } - if in.Zone != nil { - in, out := &in.Zone, &out.Zone - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberInitParameters. -func (in *InstanceIAMMemberInitParameters) DeepCopy() *InstanceIAMMemberInitParameters { - if in == nil { - return nil - } - out := new(InstanceIAMMemberInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]InstanceIAMMember, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. -func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { - if in == nil { - return nil - } - out := new(InstanceIAMMemberList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { - *out = *in - if in.Condition != nil { - in, out := &in.Condition, &out.Condition - *out = make([]InstanceIAMMemberConditionObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - 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 - } - if in.InstanceName != nil { - in, out := &in.InstanceName, &out.InstanceName - *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.Role != nil { - in, out := &in.Role, &out.Role - *out = new(string) - **out = **in - } - if in.Zone != nil { - in, out := &in.Zone, &out.Zone - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. -func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { - if in == nil { - return nil - } - out := new(InstanceIAMMemberObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { - *out = *in - if in.Condition != nil { - in, out := &in.Condition, &out.Condition - *out = make([]InstanceIAMMemberConditionParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.InstanceNameRef != nil { + in, out := &in.InstanceNameRef, &out.InstanceNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceNameSelector != nil { + in, out := &in.InstanceNameSelector, &out.InstanceNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + 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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberInitParameters. +func (in *InstanceIAMMemberInitParameters) DeepCopy() *InstanceIAMMemberInitParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. +func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { + if in == nil { + return nil + } + out := new(InstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. +func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.InstanceName != nil { in, out := &in.InstanceName, &out.InstanceName *out = new(string) @@ -24139,6 +24804,11 @@ func (in *InstanceTemplateDiskInitParameters) DeepCopyInto(out *InstanceTemplate } } } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } if in.SourceImage != nil { in, out := &in.SourceImage, &out.SourceImage *out = new(string) @@ -24151,6 +24821,16 @@ func (in *InstanceTemplateDiskInitParameters) DeepCopyInto(out *InstanceTemplate (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SourceRef != nil { + in, out := &in.SourceRef, &out.SourceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceSelector != nil { + in, out := &in.SourceSelector, &out.SourceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceSnapshot != nil { in, out := &in.SourceSnapshot, &out.SourceSnapshot *out = new(string) @@ -24982,11 +25662,26 @@ func (in *InstanceTemplateNetworkInterfaceInitParameters) DeepCopyInto(out *Inst (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkIP != nil { in, out := &in.NetworkIP, &out.NetworkIP *out = new(string) **out = **in } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NicType != nil { in, out := &in.NicType, &out.NicType *out = new(string) @@ -25002,11 +25697,26 @@ func (in *InstanceTemplateNetworkInterfaceInitParameters) DeepCopyInto(out *Inst *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } if in.SubnetworkProject != nil { in, out := &in.SubnetworkProject, &out.SubnetworkProject *out = new(string) **out = **in } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceInitParameters. @@ -26173,6 +26883,21 @@ func (in *InstanceTemplateSchedulingParameters) DeepCopy() *InstanceTemplateSche // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstanceTemplateServiceAccountInitParameters) DeepCopyInto(out *InstanceTemplateServiceAccountInitParameters) { *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.EmailRef != nil { + in, out := &in.EmailRef, &out.EmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EmailSelector != nil { + in, out := &in.EmailSelector, &out.EmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Scopes != nil { in, out := &in.Scopes, &out.Scopes *out = make([]*string, len(*in)) @@ -26396,6 +27121,21 @@ func (in *InstanceTemplateStatus) DeepCopy() *InstanceTemplateStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstancesInitParameters) DeepCopyInto(out *InstancesInitParameters) { *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } + if in.URLRef != nil { + in, out := &in.URLRef, &out.URLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLSelector != nil { + in, out := &in.URLSelector, &out.URLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesInitParameters. @@ -26550,6 +27290,21 @@ func (in *InterconnectAttachmentInitParameters) DeepCopyInto(out *InterconnectAt *out = new(string) **out = **in } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + if in.RouterRef != nil { + in, out := &in.RouterRef, &out.RouterRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouterSelector != nil { + in, out := &in.RouterSelector, &out.RouterSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -29375,7 +30130,9 @@ func (in *MirroredResourcesInitParameters) DeepCopyInto(out *MirroredResourcesIn if in.Instances != nil { in, out := &in.Instances, &out.Instances *out = make([]InstancesInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Subnetworks != nil { in, out := &in.Subnetworks, &out.Subnetworks @@ -29731,16 +30488,46 @@ func (in *NetworkEndpointGroupInitParameters) DeepCopyInto(out *NetworkEndpointG *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkEndpointType != nil { in, out := &in.NetworkEndpointType, &out.NetworkEndpointType *out = new(string) **out = **in } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupInitParameters. @@ -29963,6 +30750,36 @@ func (in *NetworkEndpointInitParameters) DeepCopyInto(out *NetworkEndpointInitPa *out = new(string) **out = **in } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.NetworkEndpointGroup != nil { + in, out := &in.NetworkEndpointGroup, &out.NetworkEndpointGroup + *out = new(string) + **out = **in + } + if in.NetworkEndpointGroupRef != nil { + in, out := &in.NetworkEndpointGroupRef, &out.NetworkEndpointGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkEndpointGroupSelector != nil { + in, out := &in.NetworkEndpointGroupSelector, &out.NetworkEndpointGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Port != nil { in, out := &in.Port, &out.Port *out = new(float64) @@ -30229,6 +31046,21 @@ func (in *NetworkFirewallPolicyAssociation) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkFirewallPolicyAssociationInitParameters) DeepCopyInto(out *NetworkFirewallPolicyAssociationInitParameters) { *out = *in + if in.AttachmentTarget != nil { + in, out := &in.AttachmentTarget, &out.AttachmentTarget + *out = new(string) + **out = **in + } + if in.AttachmentTargetRef != nil { + in, out := &in.AttachmentTargetRef, &out.AttachmentTargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AttachmentTargetSelector != nil { + in, out := &in.AttachmentTargetSelector, &out.AttachmentTargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -30949,11 +31781,26 @@ func (in *NetworkInterfaceInitParameters) DeepCopyInto(out *NetworkInterfaceInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkIP != nil { in, out := &in.NetworkIP, &out.NetworkIP *out = new(string) **out = **in } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NicType != nil { in, out := &in.NicType, &out.NicType *out = new(string) @@ -30969,11 +31816,26 @@ func (in *NetworkInterfaceInitParameters) DeepCopyInto(out *NetworkInterfaceInit *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } if in.SubnetworkProject != nil { in, out := &in.SubnetworkProject, &out.SubnetworkProject *out = new(string) **out = **in } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceInitParameters. @@ -31375,6 +32237,21 @@ func (in *NetworkPeeringInitParameters) DeepCopyInto(out *NetworkPeeringInitPara *out = new(bool) **out = **in } + if in.PeerNetwork != nil { + in, out := &in.PeerNetwork, &out.PeerNetwork + *out = new(string) + **out = **in + } + if in.PeerNetworkRef != nil { + in, out := &in.PeerNetworkRef, &out.PeerNetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PeerNetworkSelector != nil { + in, out := &in.PeerNetworkSelector, &out.PeerNetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.StackType != nil { in, out := &in.StackType, &out.StackType *out = new(string) @@ -31599,6 +32476,36 @@ func (in *NetworkPeeringRoutesConfigInitParameters) DeepCopyInto(out *NetworkPee *out = new(bool) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Peering != nil { + in, out := &in.Peering, &out.Peering + *out = new(string) + **out = **in + } + if in.PeeringRef != nil { + in, out := &in.PeeringRef, &out.PeeringRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PeeringSelector != nil { + in, out := &in.PeeringSelector, &out.PeeringSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -32175,6 +33082,21 @@ func (in *NodeGroupInitParameters) DeepCopyInto(out *NodeGroupInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.NodeTemplate != nil { + in, out := &in.NodeTemplate, &out.NodeTemplate + *out = new(string) + **out = **in + } + if in.NodeTemplateRef != nil { + in, out := &in.NodeTemplateRef, &out.NodeTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NodeTemplateSelector != nil { + in, out := &in.NodeTemplateSelector, &out.NodeTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -33237,7 +34159,9 @@ func (in *PacketMirroringInitParameters) DeepCopyInto(out *PacketMirroringInitPa if in.CollectorIlb != nil { in, out := &in.CollectorIlb, &out.CollectorIlb *out = make([]CollectorIlbInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Description != nil { in, out := &in.Description, &out.Description @@ -33261,7 +34185,9 @@ func (in *PacketMirroringInitParameters) DeepCopyInto(out *PacketMirroringInitPa if in.Network != nil { in, out := &in.Network, &out.Network *out = make([]PacketMirroringNetworkInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Priority != nil { in, out := &in.Priority, &out.Priority @@ -33320,6 +34246,21 @@ func (in *PacketMirroringList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PacketMirroringNetworkInitParameters) DeepCopyInto(out *PacketMirroringNetworkInitParameters) { *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } + if in.URLRef != nil { + in, out := &in.URLRef, &out.URLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLSelector != nil { + in, out := &in.URLSelector, &out.URLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringNetworkInitParameters. @@ -35705,6 +36646,21 @@ func (in *PathMatcherHeaderActionResponseHeadersToAddParameters) DeepCopy() *Pat // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PathMatcherInitParameters) DeepCopyInto(out *PathMatcherInitParameters) { *out = *in + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultServiceRef != nil { + in, out := &in.DefaultServiceRef, &out.DefaultServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultServiceSelector != nil { + in, out := &in.DefaultServiceSelector, &out.DefaultServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultURLRedirect != nil { in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect *out = make([]PathMatcherDefaultURLRedirectInitParameters, len(*in)) @@ -35881,6 +36837,21 @@ func (in *PathMatcherPathRuleInitParameters) DeepCopyInto(out *PathMatcherPathRu (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.URLRedirect != nil { in, out := &in.URLRedirect, &out.URLRedirect *out = make([]PathRuleURLRedirectInitParameters, len(*in)) @@ -36362,6 +37333,21 @@ func (in *PathMatcherRouteRulesInitParameters) DeepCopyInto(out *PathMatcherRout (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.URLRedirect != nil { in, out := &in.URLRedirect, &out.URLRedirect *out = make([]PathMatcherRouteRulesURLRedirectInitParameters, len(*in)) @@ -37622,6 +38608,21 @@ func (in *PathRuleInitParameters) DeepCopyInto(out *PathRuleInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.URLRedirect != nil { in, out := &in.URLRedirect, &out.URLRedirect *out = make([]URLRedirectInitParameters, len(*in)) @@ -38259,7 +39260,9 @@ func (in *PathRuleRouteActionInitParameters) DeepCopyInto(out *PathRuleRouteActi if in.RequestMirrorPolicy != nil { in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy *out = make([]PathRuleRouteActionRequestMirrorPolicyInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.RetryPolicy != nil { in, out := &in.RetryPolicy, &out.RetryPolicy @@ -38432,6 +39435,21 @@ func (in *PathRuleRouteActionParameters) DeepCopy() *PathRuleRouteActionParamete // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PathRuleRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto(out *PathRuleRouteActionRequestMirrorPolicyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyInitParameters. @@ -38989,6 +40007,21 @@ func (in *PathRuleRouteActionWeightedBackendServicesHeaderActionParameters) Deep // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PathRuleRouteActionWeightedBackendServicesInitParameters) DeepCopyInto(out *PathRuleRouteActionWeightedBackendServicesInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.HeaderAction != nil { in, out := &in.HeaderAction, &out.HeaderAction *out = make([]PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters, len(*in)) @@ -39252,6 +40285,21 @@ func (in *PerInstanceConfig) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PerInstanceConfigInitParameters) DeepCopyInto(out *PerInstanceConfigInitParameters) { *out = *in + if in.InstanceGroupManager != nil { + in, out := &in.InstanceGroupManager, &out.InstanceGroupManager + *out = new(string) + **out = **in + } + if in.InstanceGroupManagerRef != nil { + in, out := &in.InstanceGroupManagerRef, &out.InstanceGroupManagerRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceGroupManagerSelector != nil { + in, out := &in.InstanceGroupManagerSelector, &out.InstanceGroupManagerSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MinimalAction != nil { in, out := &in.MinimalAction, &out.MinimalAction *out = new(string) @@ -39284,6 +40332,21 @@ func (in *PerInstanceConfigInitParameters) DeepCopyInto(out *PerInstanceConfigIn *out = new(bool) **out = **in } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } + if in.ZoneRef != nil { + in, out := &in.ZoneRef, &out.ZoneRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ZoneSelector != nil { + in, out := &in.ZoneSelector, &out.ZoneSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigInitParameters. @@ -39705,6 +40768,21 @@ func (in *PreservedStateDiskInitParameters) DeepCopyInto(out *PreservedStateDisk *out = new(string) **out = **in } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourceRef != nil { + in, out := &in.SourceRef, &out.SourceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceSelector != nil { + in, out := &in.SourceSelector, &out.SourceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskInitParameters. @@ -40138,6 +41216,36 @@ func (in *ProjectDefaultNetworkTierStatus) DeepCopy() *ProjectDefaultNetworkTier // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectMapInitParameters) DeepCopyInto(out *ProjectMapInitParameters) { *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IDRef != nil { + in, out := &in.IDRef, &out.IDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IDSelector != nil { + in, out := &in.IDSelector, &out.IDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.ProjectIDRef != nil { + in, out := &in.ProjectIDRef, &out.ProjectIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectIDSelector != nil { + in, out := &in.ProjectIDSelector, &out.ProjectIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMapInitParameters. @@ -41536,6 +42644,21 @@ func (in *RegionAutoscalerInitParameters) DeepCopyInto(out *RegionAutoscalerInit *out = new(string) **out = **in } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } + if in.TargetRef != nil { + in, out := &in.TargetRef, &out.TargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetSelector != nil { + in, out := &in.TargetSelector, &out.TargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerInitParameters. @@ -41774,6 +42897,21 @@ func (in *RegionBackendServiceBackendInitParameters) DeepCopyInto(out *RegionBac *out = new(bool) **out = **in } + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.GroupRef != nil { + in, out := &in.GroupRef, &out.GroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GroupSelector != nil { + in, out := &in.GroupSelector, &out.GroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MaxConnections != nil { in, out := &in.MaxConnections, &out.MaxConnections *out = new(float64) @@ -42757,6 +43895,29 @@ func (in *RegionBackendServiceInitParameters) DeepCopyInto(out *RegionBackendSer (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.HealthChecksRefs != nil { + in, out := &in.HealthChecksRefs, &out.HealthChecksRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthChecksSelector != nil { + in, out := &in.HealthChecksSelector, &out.HealthChecksSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Iap != nil { in, out := &in.Iap, &out.Iap *out = make([]RegionBackendServiceIapInitParameters, len(*in)) @@ -43550,6 +44711,21 @@ func (in *RegionDisk) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionDiskAsyncPrimaryDiskInitParameters) DeepCopyInto(out *RegionDiskAsyncPrimaryDiskInitParameters) { *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.DiskRef != nil { + in, out := &in.DiskRef, &out.DiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskSelector != nil { + in, out := &in.DiskSelector, &out.DiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskAsyncPrimaryDiskInitParameters. @@ -43874,6 +45050,21 @@ func (in *RegionDiskIAMMemberInitParameters) DeepCopyInto(out *RegionDiskIAMMemb *out = new(string) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -44088,7 +45279,9 @@ func (in *RegionDiskInitParameters) DeepCopyInto(out *RegionDiskInitParameters) if in.AsyncPrimaryDisk != nil { in, out := &in.AsyncPrimaryDisk, &out.AsyncPrimaryDisk *out = make([]RegionDiskAsyncPrimaryDiskInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Description != nil { in, out := &in.Description, &out.Description @@ -44162,6 +45355,21 @@ func (in *RegionDiskInitParameters) DeepCopyInto(out *RegionDiskInitParameters) *out = new(float64) **out = **in } + if in.Snapshot != nil { + in, out := &in.Snapshot, &out.Snapshot + *out = new(string) + **out = **in + } + if in.SnapshotRef != nil { + in, out := &in.SnapshotRef, &out.SnapshotRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SnapshotSelector != nil { + in, out := &in.SnapshotSelector, &out.SnapshotSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceDisk != nil { in, out := &in.SourceDisk, &out.SourceDisk *out = new(string) @@ -44555,103 +45763,133 @@ func (in *RegionDiskResourcePolicyAttachment) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionDiskResourcePolicyAttachmentInitParameters) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentInitParameters) { - *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 RegionDiskResourcePolicyAttachmentInitParameters. -func (in *RegionDiskResourcePolicyAttachmentInitParameters) DeepCopy() *RegionDiskResourcePolicyAttachmentInitParameters { - if in == nil { - return nil - } - out := new(RegionDiskResourcePolicyAttachmentInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RegionDiskResourcePolicyAttachmentList) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]RegionDiskResourcePolicyAttachment, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentList. -func (in *RegionDiskResourcePolicyAttachmentList) DeepCopy() *RegionDiskResourcePolicyAttachmentList { - if in == nil { - return nil - } - out := new(RegionDiskResourcePolicyAttachmentList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *RegionDiskResourcePolicyAttachmentList) 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 *RegionDiskResourcePolicyAttachmentObservation) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentObservation) { - *out = *in - if in.Disk != nil { - in, out := &in.Disk, &out.Disk - *out = new(string) - **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 - } - 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 RegionDiskResourcePolicyAttachmentObservation. -func (in *RegionDiskResourcePolicyAttachmentObservation) DeepCopy() *RegionDiskResourcePolicyAttachmentObservation { - if in == nil { - return nil - } - out := new(RegionDiskResourcePolicyAttachmentObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RegionDiskResourcePolicyAttachmentParameters) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentParameters) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.DiskRef != nil { + in, out := &in.DiskRef, &out.DiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DiskSelector != nil { + in, out := &in.DiskSelector, &out.DiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + 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 RegionDiskResourcePolicyAttachmentInitParameters. +func (in *RegionDiskResourcePolicyAttachmentInitParameters) DeepCopy() *RegionDiskResourcePolicyAttachmentInitParameters { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachmentList) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDiskResourcePolicyAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentList. +func (in *RegionDiskResourcePolicyAttachmentList) DeepCopy() *RegionDiskResourcePolicyAttachmentList { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskResourcePolicyAttachmentList) 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 *RegionDiskResourcePolicyAttachmentObservation) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentObservation) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **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 + } + 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 RegionDiskResourcePolicyAttachmentObservation. +func (in *RegionDiskResourcePolicyAttachmentObservation) DeepCopy() *RegionDiskResourcePolicyAttachmentObservation { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachmentParameters) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentParameters) { *out = *in if in.Disk != nil { in, out := &in.Disk, &out.Disk @@ -46161,6 +47399,21 @@ func (in *RegionInstanceGroupManager) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionInstanceGroupManagerAutoHealingPoliciesInitParameters) DeepCopyInto(out *RegionInstanceGroupManagerAutoHealingPoliciesInitParameters) { *out = *in + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = new(string) + **out = **in + } + if in.HealthCheckRef != nil { + in, out := &in.HealthCheckRef, &out.HealthCheckRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HealthCheckSelector != nil { + in, out := &in.HealthCheckSelector, &out.HealthCheckSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.InitialDelaySec != nil { in, out := &in.InitialDelaySec, &out.InitialDelaySec *out = new(float64) @@ -46315,6 +47568,29 @@ func (in *RegionInstanceGroupManagerInitParameters) DeepCopyInto(out *RegionInst (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.TargetPools != nil { + in, out := &in.TargetPools, &out.TargetPools + *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.TargetPoolsRefs != nil { + in, out := &in.TargetPoolsRefs, &out.TargetPoolsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TargetPoolsSelector != nil { + in, out := &in.TargetPoolsSelector, &out.TargetPoolsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.TargetSize != nil { in, out := &in.TargetSize, &out.TargetSize *out = new(float64) @@ -47177,6 +48453,21 @@ func (in *RegionInstanceGroupManagerUpdatePolicyParameters) DeepCopy() *RegionIn // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionInstanceGroupManagerVersionInitParameters) DeepCopyInto(out *RegionInstanceGroupManagerVersionInitParameters) { *out = *in + if in.InstanceTemplate != nil { + in, out := &in.InstanceTemplate, &out.InstanceTemplate + *out = new(string) + **out = **in + } + if in.InstanceTemplateRef != nil { + in, out := &in.InstanceTemplateRef, &out.InstanceTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceTemplateSelector != nil { + in, out := &in.InstanceTemplateSelector, &out.InstanceTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -47331,16 +48622,61 @@ func (in *RegionNetworkEndpointGroupInitParameters) DeepCopyInto(out *RegionNetw *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkEndpointType != nil { in, out := &in.NetworkEndpointType, &out.NetworkEndpointType *out = new(string) **out = **in } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) **out = **in } + if in.PscTargetService != nil { + in, out := &in.PscTargetService, &out.PscTargetService + *out = new(string) + **out = **in + } + if in.PscTargetServiceRef != nil { + in, out := &in.PscTargetServiceRef, &out.PscTargetServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PscTargetServiceSelector != nil { + in, out := &in.PscTargetServiceSelector, &out.PscTargetServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupInitParameters. @@ -47659,6 +48995,21 @@ func (in *RegionNetworkFirewallPolicyAssociation) DeepCopyObject() runtime.Objec // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionNetworkFirewallPolicyAssociationInitParameters) DeepCopyInto(out *RegionNetworkFirewallPolicyAssociationInitParameters) { *out = *in + if in.AttachmentTarget != nil { + in, out := &in.AttachmentTarget, &out.AttachmentTarget + *out = new(string) + **out = **in + } + if in.AttachmentTargetRef != nil { + in, out := &in.AttachmentTargetRef, &out.AttachmentTargetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AttachmentTargetSelector != nil { + in, out := &in.AttachmentTargetSelector, &out.AttachmentTargetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -48087,6 +49438,36 @@ func (in *RegionPerInstanceConfigInitParameters) DeepCopyInto(out *RegionPerInst *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RegionInstanceGroupManager != nil { + in, out := &in.RegionInstanceGroupManager, &out.RegionInstanceGroupManager + *out = new(string) + **out = **in + } + if in.RegionInstanceGroupManagerRef != nil { + in, out := &in.RegionInstanceGroupManagerRef, &out.RegionInstanceGroupManagerRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RegionInstanceGroupManagerSelector != nil { + in, out := &in.RegionInstanceGroupManagerSelector, &out.RegionInstanceGroupManagerSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RegionRef != nil { + in, out := &in.RegionRef, &out.RegionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RegionSelector != nil { + in, out := &in.RegionSelector, &out.RegionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RemoveInstanceStateOnDestroy != nil { in, out := &in.RemoveInstanceStateOnDestroy, &out.RemoveInstanceStateOnDestroy *out = new(bool) @@ -48293,6 +49674,21 @@ func (in *RegionPerInstanceConfigPreservedStateDiskInitParameters) DeepCopyInto( *out = new(string) **out = **in } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourceRef != nil { + in, out := &in.SourceRef, &out.SourceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceSelector != nil { + in, out := &in.SourceSelector, &out.SourceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskInitParameters. @@ -48780,6 +50176,21 @@ func (in *RegionTargetHTTPProxyInitParameters) DeepCopyInto(out *RegionTargetHTT *out = new(string) **out = **in } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.URLMapRef != nil { + in, out := &in.URLMapRef, &out.URLMapRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLMapSelector != nil { + in, out := &in.URLMapSelector, &out.URLMapSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxyInitParameters. @@ -48999,6 +50410,44 @@ func (in *RegionTargetHTTPSProxyInitParameters) DeepCopyInto(out *RegionTargetHT *out = new(string) **out = **in } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.SSLCertificatesRefs != nil { + in, out := &in.SSLCertificatesRefs, &out.SSLCertificatesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SSLCertificatesSelector != nil { + in, out := &in.SSLCertificatesSelector, &out.SSLCertificatesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.URLMapRef != nil { + in, out := &in.URLMapRef, &out.URLMapRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLMapSelector != nil { + in, out := &in.URLMapSelector, &out.URLMapSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxyInitParameters. @@ -49242,6 +50691,21 @@ func (in *RegionTargetTCPProxy) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RegionTargetTCPProxyInitParameters) DeepCopyInto(out *RegionTargetTCPProxyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -49498,6 +50962,21 @@ func (in *RegionURLMapInitParameters) DeepCopyInto(out *RegionURLMapInitParamete (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultServiceRef != nil { + in, out := &in.DefaultServiceRef, &out.DefaultServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultServiceSelector != nil { + in, out := &in.DefaultServiceSelector, &out.DefaultServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultURLRedirect != nil { in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect *out = make([]DefaultURLRedirectInitParameters, len(*in)) @@ -49958,6 +51437,21 @@ func (in *RequestHeadersToAddsParameters) DeepCopy() *RequestHeadersToAddsParame // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RequestMirrorPolicyInitParameters) DeepCopyInto(out *RequestMirrorPolicyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyInitParameters. @@ -51869,7 +53363,9 @@ func (in *RouteActionInitParameters) DeepCopyInto(out *RouteActionInitParameters if in.RequestMirrorPolicy != nil { in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy *out = make([]RouteActionRequestMirrorPolicyInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.RetryPolicy != nil { in, out := &in.RetryPolicy, &out.RetryPolicy @@ -52042,6 +53538,21 @@ func (in *RouteActionParameters) DeepCopy() *RouteActionParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RouteActionRequestMirrorPolicyInitParameters) DeepCopyInto(out *RouteActionRequestMirrorPolicyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyInitParameters. @@ -52779,6 +54290,21 @@ func (in *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddPara // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RouteActionWeightedBackendServicesInitParameters) DeepCopyInto(out *RouteActionWeightedBackendServicesInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.HeaderAction != nil { in, out := &in.HeaderAction, &out.HeaderAction *out = make([]WeightedBackendServicesHeaderActionInitParameters, len(*in)) @@ -52890,6 +54416,21 @@ func (in *RouteInitParameters) DeepCopyInto(out *RouteInitParameters) { *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NextHopGateway != nil { in, out := &in.NextHopGateway, &out.NextHopGateway *out = new(string) @@ -52900,6 +54441,21 @@ func (in *RouteInitParameters) DeepCopyInto(out *RouteInitParameters) { *out = new(string) **out = **in } + if in.NextHopIlb != nil { + in, out := &in.NextHopIlb, &out.NextHopIlb + *out = new(string) + **out = **in + } + if in.NextHopIlbRef != nil { + in, out := &in.NextHopIlbRef, &out.NextHopIlbRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NextHopIlbSelector != nil { + in, out := &in.NextHopIlbSelector, &out.NextHopIlbSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NextHopInstance != nil { in, out := &in.NextHopInstance, &out.NextHopInstance *out = new(string) @@ -52910,6 +54466,21 @@ func (in *RouteInitParameters) DeepCopyInto(out *RouteInitParameters) { *out = new(string) **out = **in } + if in.NextHopVPNTunnel != nil { + in, out := &in.NextHopVPNTunnel, &out.NextHopVPNTunnel + *out = new(string) + **out = **in + } + if in.NextHopVPNTunnelRef != nil { + in, out := &in.NextHopVPNTunnelRef, &out.NextHopVPNTunnelRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NextHopVPNTunnelSelector != nil { + in, out := &in.NextHopVPNTunnelSelector, &out.NextHopVPNTunnelSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Priority != nil { in, out := &in.Priority, &out.Priority *out = new(float64) @@ -53544,6 +55115,21 @@ func (in *RouteRulesInitParameters) DeepCopyInto(out *RouteRulesInitParameters) (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.URLRedirect != nil { in, out := &in.URLRedirect, &out.URLRedirect *out = make([]RouteRulesURLRedirectInitParameters, len(*in)) @@ -55753,6 +57339,21 @@ func (in *RouterInitParameters) DeepCopyInto(out *RouterInitParameters) { *out = new(bool) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -55835,11 +57436,41 @@ func (in *RouterInterfaceInitParameters) DeepCopyInto(out *RouterInterfaceInitPa *out = new(string) **out = **in } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + if in.RouterRef != nil { + in, out := &in.RouterRef, &out.RouterRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouterSelector != nil { + in, out := &in.RouterSelector, &out.RouterSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Subnetwork != nil { in, out := &in.Subnetwork, &out.Subnetwork *out = new(string) **out = **in } + if in.VPNTunnel != nil { + in, out := &in.VPNTunnel, &out.VPNTunnel + *out = new(string) + **out = **in + } + if in.VPNTunnelRef != nil { + in, out := &in.VPNTunnelRef, &out.VPNTunnelRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPNTunnelSelector != nil { + in, out := &in.VPNTunnelSelector, &out.VPNTunnelSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceInitParameters. @@ -56943,11 +58574,41 @@ func (in *RouterPeerInitParameters) DeepCopyInto(out *RouterPeerInitParameters) *out = new(string) **out = **in } + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = new(string) + **out = **in + } + if in.InterfaceRef != nil { + in, out := &in.InterfaceRef, &out.InterfaceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InterfaceSelector != nil { + in, out := &in.InterfaceSelector, &out.InterfaceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PeerAsn != nil { in, out := &in.PeerAsn, &out.PeerAsn *out = new(float64) **out = **in } + if in.PeerIPAddress != nil { + in, out := &in.PeerIPAddress, &out.PeerIPAddress + *out = new(string) + **out = **in + } + if in.PeerIPAddressRef != nil { + in, out := &in.PeerIPAddressRef, &out.PeerIPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PeerIPAddressSelector != nil { + in, out := &in.PeerIPAddressSelector, &out.PeerIPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PeerIPv6NexthopAddress != nil { in, out := &in.PeerIPv6NexthopAddress, &out.PeerIPv6NexthopAddress *out = new(string) @@ -56958,6 +58619,36 @@ func (in *RouterPeerInitParameters) DeepCopyInto(out *RouterPeerInitParameters) *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RegionRef != nil { + in, out := &in.RegionRef, &out.RegionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RegionSelector != nil { + in, out := &in.RegionSelector, &out.RegionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RouterApplianceInstance != nil { + in, out := &in.RouterApplianceInstance, &out.RouterApplianceInstance + *out = new(string) + **out = **in + } + if in.RouterApplianceInstanceRef != nil { + in, out := &in.RouterApplianceInstanceRef, &out.RouterApplianceInstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouterApplianceInstanceSelector != nil { + in, out := &in.RouterApplianceInstanceSelector, &out.RouterApplianceInstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerInitParameters. @@ -59777,6 +61468,21 @@ func (in *ServerBindingParameters) DeepCopy() *ServerBindingParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServiceAccountInitParameters) DeepCopyInto(out *ServiceAccountInitParameters) { *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.EmailRef != nil { + in, out := &in.EmailRef, &out.EmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EmailSelector != nil { + in, out := &in.EmailSelector, &out.EmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Scopes != nil { in, out := &in.Scopes, &out.Scopes *out = make([]*string, len(*in)) @@ -59946,6 +61652,29 @@ func (in *ServiceAttachmentInitParameters) DeepCopyInto(out *ServiceAttachmentIn *out = new(bool) **out = **in } + if in.NATSubnets != nil { + in, out := &in.NATSubnets, &out.NATSubnets + *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.NATSubnetsRefs != nil { + in, out := &in.NATSubnetsRefs, &out.NATSubnetsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NATSubnetsSelector != nil { + in, out := &in.NATSubnetsSelector, &out.NATSubnetsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -59956,6 +61685,21 @@ func (in *ServiceAttachmentInitParameters) DeepCopyInto(out *ServiceAttachmentIn *out = new(bool) **out = **in } + if in.TargetService != nil { + in, out := &in.TargetService, &out.TargetService + *out = new(string) + **out = **in + } + if in.TargetServiceRef != nil { + in, out := &in.TargetServiceRef, &out.TargetServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetServiceSelector != nil { + in, out := &in.TargetServiceSelector, &out.TargetServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentInitParameters. @@ -60340,7 +62084,9 @@ func (in *ShareSettingsInitParameters) DeepCopyInto(out *ShareSettingsInitParame if in.ProjectMap != nil { in, out := &in.ProjectMap, &out.ProjectMap *out = make([]ProjectMapInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.ShareType != nil { in, out := &in.ShareType, &out.ShareType @@ -60518,6 +62264,21 @@ func (in *SharedVPCHostProject) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SharedVPCHostProjectInitParameters) DeepCopyInto(out *SharedVPCHostProjectInitParameters) { *out = *in + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectInitParameters. @@ -60622,7 +62383,7 @@ func (in *SharedVPCHostProjectSpec) DeepCopyInto(out *SharedVPCHostProjectSpec) *out = *in in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) in.ForProvider.DeepCopyInto(&out.ForProvider) - out.InitProvider = in.InitProvider + in.InitProvider.DeepCopyInto(&out.InitProvider) } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectSpec. @@ -60687,6 +62448,36 @@ func (in *SharedVPCServiceProjectInitParameters) DeepCopyInto(out *SharedVPCServ *out = new(string) **out = **in } + if in.HostProject != nil { + in, out := &in.HostProject, &out.HostProject + *out = new(string) + **out = **in + } + if in.HostProjectRef != nil { + in, out := &in.HostProjectRef, &out.HostProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HostProjectSelector != nil { + in, out := &in.HostProjectSelector, &out.HostProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ServiceProject != nil { + in, out := &in.ServiceProject, &out.ServiceProject + *out = new(string) + **out = **in + } + if in.ServiceProjectRef != nil { + in, out := &in.ServiceProjectRef, &out.ServiceProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceProjectSelector != nil { + in, out := &in.ServiceProjectSelector, &out.ServiceProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectInitParameters. @@ -61414,6 +63205,11 @@ func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SourceDisk != nil { + in, out := &in.SourceDisk, &out.SourceDisk + *out = new(string) + **out = **in + } if in.SourceDiskEncryptionKey != nil { in, out := &in.SourceDiskEncryptionKey, &out.SourceDiskEncryptionKey *out = make([]SourceDiskEncryptionKeyInitParameters, len(*in)) @@ -61421,6 +63217,16 @@ func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SourceDiskRef != nil { + in, out := &in.SourceDiskRef, &out.SourceDiskRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceDiskSelector != nil { + in, out := &in.SourceDiskSelector, &out.SourceDiskSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.StorageLocations != nil { in, out := &in.StorageLocations, &out.StorageLocations *out = make([]*string, len(*in)) @@ -62873,6 +64679,21 @@ func (in *SubnetworkIAMMemberInitParameters) DeepCopyInto(out *SubnetworkIAMMemb *out = new(string) **out = **in } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberInitParameters. @@ -63069,6 +64890,21 @@ func (in *SubnetworkIAMMemberStatus) DeepCopy() *SubnetworkIAMMemberStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SubnetworkInitParameters) DeepCopyInto(out *SubnetworkInitParameters) { *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SecondaryIPRangeNames != nil { in, out := &in.SecondaryIPRangeNames, &out.SecondaryIPRangeNames *out = make([]*string, len(*in)) @@ -63128,6 +64964,21 @@ func (in *SubnetworkInitParameters_2) DeepCopyInto(out *SubnetworkInitParameters (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PrivateIPGoogleAccess != nil { in, out := &in.PrivateIPGoogleAccess, &out.PrivateIPGoogleAccess *out = new(bool) @@ -63999,6 +65850,21 @@ func (in *TargetGRPCProxyInitParameters) DeepCopyInto(out *TargetGRPCProxyInitPa *out = new(string) **out = **in } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.URLMapRef != nil { + in, out := &in.URLMapRef, &out.URLMapRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLMapSelector != nil { + in, out := &in.URLMapSelector, &out.URLMapSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ValidateForProxyless != nil { in, out := &in.ValidateForProxyless, &out.ValidateForProxyless *out = new(bool) @@ -64238,6 +66104,21 @@ func (in *TargetHTTPProxyInitParameters) DeepCopyInto(out *TargetHTTPProxyInitPa *out = new(bool) **out = **in } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.URLMapRef != nil { + in, out := &in.URLMapRef, &out.URLMapRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLMapSelector != nil { + in, out := &in.URLMapSelector, &out.URLMapSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxyInitParameters. @@ -64487,11 +66368,49 @@ func (in *TargetHTTPSProxyInitParameters) DeepCopyInto(out *TargetHTTPSProxyInit *out = new(string) **out = **in } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.SSLCertificatesRefs != nil { + in, out := &in.SSLCertificatesRefs, &out.SSLCertificatesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SSLCertificatesSelector != nil { + in, out := &in.SSLCertificatesSelector, &out.SSLCertificatesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SSLPolicy != nil { in, out := &in.SSLPolicy, &out.SSLPolicy *out = new(string) **out = **in } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.URLMapRef != nil { + in, out := &in.URLMapRef, &out.URLMapRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.URLMapSelector != nil { + in, out := &in.URLMapSelector, &out.URLMapSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxyInitParameters. @@ -64780,6 +66699,21 @@ func (in *TargetInstanceInitParameters) DeepCopyInto(out *TargetInstanceInitPara *out = new(string) **out = **in } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NATPolicy != nil { in, out := &in.NATPolicy, &out.NATPolicy *out = new(string) @@ -65019,6 +66953,29 @@ func (in *TargetPoolInitParameters) DeepCopyInto(out *TargetPoolInitParameters) *out = new(float64) **out = **in } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.HealthChecksRefs != nil { + in, out := &in.HealthChecksRefs, &out.HealthChecksRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthChecksSelector != nil { + in, out := &in.HealthChecksSelector, &out.HealthChecksSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Instances != nil { in, out := &in.Instances, &out.Instances *out = make([]*string, len(*in)) @@ -65305,6 +67262,21 @@ func (in *TargetSSLProxy) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TargetSSLProxyInitParameters) DeepCopyInto(out *TargetSSLProxyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CertificateMap != nil { in, out := &in.CertificateMap, &out.CertificateMap *out = new(string) @@ -65325,6 +67297,29 @@ func (in *TargetSSLProxyInitParameters) DeepCopyInto(out *TargetSSLProxyInitPara *out = new(string) **out = **in } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.SSLCertificatesRefs != nil { + in, out := &in.SSLCertificatesRefs, &out.SSLCertificatesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SSLCertificatesSelector != nil { + in, out := &in.SSLCertificatesSelector, &out.SSLCertificatesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SSLPolicy != nil { in, out := &in.SSLPolicy, &out.SSLPolicy *out = new(string) @@ -65668,6 +67663,21 @@ func (in *TargetTCPProxy) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TargetTCPProxyInitParameters) DeepCopyInto(out *TargetTCPProxyInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -65895,6 +67905,21 @@ func (in *TestInitParameters) DeepCopyInto(out *TestInitParameters) { *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestInitParameters. @@ -66867,6 +68892,21 @@ func (in *URLMapInitParameters) DeepCopyInto(out *URLMapInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultServiceRef != nil { + in, out := &in.DefaultServiceRef, &out.DefaultServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultServiceSelector != nil { + in, out := &in.DefaultServiceSelector, &out.DefaultServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultURLRedirect != nil { in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect *out = make([]URLMapDefaultURLRedirectInitParameters, len(*in)) @@ -67280,6 +69320,21 @@ func (in *URLMapPathMatcherInitParameters) DeepCopyInto(out *URLMapPathMatcherIn (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultServiceRef != nil { + in, out := &in.DefaultServiceRef, &out.DefaultServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultServiceSelector != nil { + in, out := &in.DefaultServiceSelector, &out.DefaultServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultURLRedirect != nil { in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect *out = make([]URLMapPathMatcherDefaultURLRedirectInitParameters, len(*in)) @@ -67523,6 +69578,21 @@ func (in *URLMapTestInitParameters) DeepCopyInto(out *URLMapTestInitParameters) *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestInitParameters. @@ -68145,6 +70215,21 @@ func (in *VPNGatewayInitParameters) DeepCopyInto(out *VPNGatewayInitParameters) *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -68337,6 +70422,21 @@ func (in *VPNInterfacesInitParameters) DeepCopyInto(out *VPNInterfacesInitParame *out = new(float64) **out = **in } + if in.InterconnectAttachment != nil { + in, out := &in.InterconnectAttachment, &out.InterconnectAttachment + *out = new(string) + **out = **in + } + if in.InterconnectAttachmentRef != nil { + in, out := &in.InterconnectAttachmentRef, &out.InterconnectAttachmentRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InterconnectAttachmentSelector != nil { + in, out := &in.InterconnectAttachmentSelector, &out.InterconnectAttachmentSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNInterfacesInitParameters. @@ -68465,11 +70565,26 @@ func (in *VPNTunnelInitParameters) DeepCopyInto(out *VPNTunnelInitParameters) { } } } + if in.PeerExternalGateway != nil { + in, out := &in.PeerExternalGateway, &out.PeerExternalGateway + *out = new(string) + **out = **in + } if in.PeerExternalGatewayInterface != nil { in, out := &in.PeerExternalGatewayInterface, &out.PeerExternalGatewayInterface *out = new(float64) **out = **in } + if in.PeerExternalGatewayRef != nil { + in, out := &in.PeerExternalGatewayRef, &out.PeerExternalGatewayRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PeerExternalGatewaySelector != nil { + in, out := &in.PeerExternalGatewaySelector, &out.PeerExternalGatewaySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PeerGCPGateway != nil { in, out := &in.PeerGCPGateway, &out.PeerGCPGateway *out = new(string) @@ -68496,11 +70611,56 @@ func (in *VPNTunnelInitParameters) DeepCopyInto(out *VPNTunnelInitParameters) { } } } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + if in.RouterRef != nil { + in, out := &in.RouterRef, &out.RouterRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouterSelector != nil { + in, out := &in.RouterSelector, &out.RouterSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.TargetVPNGateway != nil { + in, out := &in.TargetVPNGateway, &out.TargetVPNGateway + *out = new(string) + **out = **in + } + if in.TargetVPNGatewayRef != nil { + in, out := &in.TargetVPNGatewayRef, &out.TargetVPNGatewayRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetVPNGatewaySelector != nil { + in, out := &in.TargetVPNGatewaySelector, &out.TargetVPNGatewaySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPNGateway != nil { + in, out := &in.VPNGateway, &out.VPNGateway + *out = new(string) + **out = **in + } if in.VPNGatewayInterface != nil { in, out := &in.VPNGatewayInterface, &out.VPNGatewayInterface *out = new(float64) **out = **in } + if in.VPNGatewayRef != nil { + in, out := &in.VPNGatewayRef, &out.VPNGatewayRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPNGatewaySelector != nil { + in, out := &in.VPNGatewaySelector, &out.VPNGatewaySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelInitParameters. @@ -68848,6 +71008,21 @@ func (in *VPNTunnelStatus) DeepCopy() *VPNTunnelStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VersionInitParameters) DeepCopyInto(out *VersionInitParameters) { *out = *in + if in.InstanceTemplate != nil { + in, out := &in.InstanceTemplate, &out.InstanceTemplate + *out = new(string) + **out = **in + } + if in.InstanceTemplateRef != nil { + in, out := &in.InstanceTemplateRef, &out.InstanceTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceTemplateSelector != nil { + in, out := &in.InstanceTemplateSelector, &out.InstanceTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -69473,6 +71648,21 @@ func (in *WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) Dee // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WeightedBackendServicesInitParameters) DeepCopyInto(out *WeightedBackendServicesInitParameters) { *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.BackendServiceRef != nil { + in, out := &in.BackendServiceRef, &out.BackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BackendServiceSelector != nil { + in, out := &in.BackendServiceSelector, &out.BackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.HeaderAction != nil { in, out := &in.HeaderAction, &out.HeaderAction *out = make([]HeaderActionInitParameters, len(*in)) diff --git a/apis/compute/v1beta1/zz_generated.resolvers.go b/apis/compute/v1beta1/zz_generated.resolvers.go index c67a1a32a..879a696af 100644 --- a/apis/compute/v1beta1/zz_generated.resolvers.go +++ b/apis/compute/v1beta1/zz_generated.resolvers.go @@ -70,6 +70,38 @@ func (mg *Address) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubnetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + return nil } @@ -112,6 +144,38 @@ func (mg *AttachedDisk) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Disk), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DiskRef, + Selector: mg.Spec.InitProvider.DiskSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Disk") + } + mg.Spec.InitProvider.Disk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DiskRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } @@ -138,6 +202,22 @@ func (mg *Autoscaler) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TargetRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Target), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TargetRef, + Selector: mg.Spec.InitProvider.TargetSelector, + To: reference.To{ + List: &InstanceGroupManagerList{}, + Managed: &InstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Target") + } + mg.Spec.InitProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetRef = rsp.ResolvedReference + return nil } @@ -180,6 +260,38 @@ func (mg *BackendBucket) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.EdgeSecurityPolicy = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.EdgeSecurityPolicyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BucketName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketNameRef, + Selector: mg.Spec.InitProvider.BucketNameSelector, + To: reference.To{ + List: &v1beta1.BucketList{}, + Managed: &v1beta1.Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BucketName") + } + mg.Spec.InitProvider.BucketName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketNameRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EdgeSecurityPolicy), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EdgeSecurityPolicyRef, + Selector: mg.Spec.InitProvider.EdgeSecurityPolicySelector, + To: reference.To{ + List: &SecurityPolicyList{}, + Managed: &SecurityPolicy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EdgeSecurityPolicy") + } + mg.Spec.InitProvider.EdgeSecurityPolicy = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EdgeSecurityPolicyRef = rsp.ResolvedReference + return nil } @@ -206,6 +318,22 @@ func (mg *BackendBucketSignedURLKey) ResolveReferences(ctx context.Context, c cl mg.Spec.ForProvider.BackendBucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BackendBucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendBucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BackendBucketRef, + Selector: mg.Spec.InitProvider.BackendBucketSelector, + To: reference.To{ + List: &BackendBucketList{}, + Managed: &BackendBucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendBucket") + } + mg.Spec.InitProvider.BackendBucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendBucketRef = rsp.ResolvedReference + return nil } @@ -251,6 +379,40 @@ func (mg *BackendService) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.HealthChecksRefs = mrsp.ResolvedReferences + for i3 := 0; i3 < len(mg.Spec.InitProvider.Backend); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Backend[i3].Group), + Extract: compute.InstanceGroupExtractor(), + Reference: mg.Spec.InitProvider.Backend[i3].GroupRef, + Selector: mg.Spec.InitProvider.Backend[i3].GroupSelector, + To: reference.To{ + List: &InstanceGroupManagerList{}, + Managed: &InstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Backend[i3].Group") + } + mg.Spec.InitProvider.Backend[i3].Group = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Backend[i3].GroupRef = rsp.ResolvedReference + + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.HealthChecks), + Extract: common.SelfLinkExtractor(), + References: mg.Spec.InitProvider.HealthChecksRefs, + Selector: mg.Spec.InitProvider.HealthChecksSelector, + To: reference.To{ + List: &HealthCheckList{}, + Managed: &HealthCheck{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.HealthChecks") + } + mg.Spec.InitProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.HealthChecksRefs = mrsp.ResolvedReferences + return nil } @@ -277,6 +439,22 @@ func (mg *BackendServiceSignedURLKey) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BackendServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendService), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BackendServiceRef, + Selector: mg.Spec.InitProvider.BackendServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendService") + } + mg.Spec.InitProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendServiceRef = rsp.ResolvedReference + return nil } @@ -304,6 +482,24 @@ func (mg *Disk) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.AsyncPrimaryDisk[i3].Disk = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AsyncPrimaryDisk[i3].DiskRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.AsyncPrimaryDisk); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskRef, + Selector: mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk") + } + mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskRef = rsp.ResolvedReference + } return nil @@ -332,6 +528,22 @@ func (mg *DiskIAMMember) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NameRef, + Selector: mg.Spec.InitProvider.NameSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Name") + } + mg.Spec.InitProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NameRef = rsp.ResolvedReference + return nil } @@ -374,6 +586,38 @@ func (mg *DiskResourcePolicyAttachment) ResolveReferences(ctx context.Context, c mg.Spec.ForProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Disk), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DiskRef, + Selector: mg.Spec.InitProvider.DiskSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Disk") + } + mg.Spec.InitProvider.Disk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DiskRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NameRef, + Selector: mg.Spec.InitProvider.NameSelector, + To: reference.To{ + List: &ResourcePolicyList{}, + Managed: &ResourcePolicy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Name") + } + mg.Spec.InitProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NameRef = rsp.ResolvedReference + return nil } @@ -400,6 +644,22 @@ func (mg *Firewall) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -442,6 +702,38 @@ func (mg *FirewallPolicyAssociation) ResolveReferences(ctx context.Context, c cl mg.Spec.ForProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FirewallPolicyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AttachmentTarget), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.AttachmentTargetRef, + Selector: mg.Spec.InitProvider.AttachmentTargetSelector, + To: reference.To{ + List: &v1beta11.FolderList{}, + Managed: &v1beta11.Folder{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AttachmentTarget") + } + mg.Spec.InitProvider.AttachmentTarget = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AttachmentTargetRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.FirewallPolicy), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.FirewallPolicyRef, + Selector: mg.Spec.InitProvider.FirewallPolicySelector, + To: reference.To{ + List: &FirewallPolicyList{}, + Managed: &FirewallPolicy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.FirewallPolicy") + } + mg.Spec.InitProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.FirewallPolicyRef = rsp.ResolvedReference + return nil } @@ -468,6 +760,22 @@ func (mg *FirewallPolicyRule) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FirewallPolicyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.FirewallPolicy), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.FirewallPolicyRef, + Selector: mg.Spec.InitProvider.FirewallPolicySelector, + To: reference.To{ + List: &FirewallPolicyList{}, + Managed: &FirewallPolicy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.FirewallPolicy") + } + mg.Spec.InitProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.FirewallPolicyRef = rsp.ResolvedReference + return nil } @@ -558,6 +866,86 @@ func (mg *ForwardingRule) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TargetRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendService), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.BackendServiceRef, + Selector: mg.Spec.InitProvider.BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendService") + } + mg.Spec.InitProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendServiceRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.IPAddress), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.IPAddressRef, + Selector: mg.Spec.InitProvider.IPAddressSelector, + To: reference.To{ + List: &AddressList{}, + Managed: &Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.IPAddress") + } + mg.Spec.InitProvider.IPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.IPAddressRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Target), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.TargetRef, + Selector: mg.Spec.InitProvider.TargetSelector, + To: reference.To{ + List: &RegionTargetHTTPProxyList{}, + Managed: &RegionTargetHTTPProxy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Target") + } + mg.Spec.InitProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetRef = rsp.ResolvedReference + return nil } @@ -584,6 +972,22 @@ func (mg *GlobalAddress) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -658,10 +1062,74 @@ func (mg *GlobalForwardingRule) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TargetRef = rsp.ResolvedReference - return nil -} - -// ResolveReferences of this GlobalNetworkEndpoint. + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.IPAddress), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.IPAddressRef, + Selector: mg.Spec.InitProvider.IPAddressSelector, + To: reference.To{ + List: &GlobalAddressList{}, + Managed: &GlobalAddress{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.IPAddress") + } + mg.Spec.InitProvider.IPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.IPAddressRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Target), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TargetRef, + Selector: mg.Spec.InitProvider.TargetSelector, + To: reference.To{ + List: &TargetSSLProxyList{}, + Managed: &TargetSSLProxy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Target") + } + mg.Spec.InitProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this GlobalNetworkEndpoint. func (mg *GlobalNetworkEndpoint) ResolveReferences(ctx context.Context, c client.Reader) error { r := reference.NewAPIResolver(c, mg) @@ -684,6 +1152,22 @@ func (mg *GlobalNetworkEndpoint) ResolveReferences(ctx context.Context, c client mg.Spec.ForProvider.GlobalNetworkEndpointGroup = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.GlobalNetworkEndpointGroupRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.GlobalNetworkEndpointGroup), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.GlobalNetworkEndpointGroupRef, + Selector: mg.Spec.InitProvider.GlobalNetworkEndpointGroupSelector, + To: reference.To{ + List: &GlobalNetworkEndpointGroupList{}, + Managed: &GlobalNetworkEndpointGroup{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.GlobalNetworkEndpointGroup") + } + mg.Spec.InitProvider.GlobalNetworkEndpointGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.GlobalNetworkEndpointGroupRef = rsp.ResolvedReference + return nil } @@ -727,6 +1211,40 @@ func (mg *HaVPNGateway) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.VPNInterfaces[i3].InterconnectAttachment = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPNInterfaces[i3].InterconnectAttachmentRef = rsp.ResolvedReference + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.VPNInterfaces); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachment), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachmentRef, + Selector: mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachmentSelector, + To: reference.To{ + List: &InterconnectAttachmentList{}, + Managed: &InterconnectAttachment{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachment") + } + mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachment = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPNInterfaces[i3].InterconnectAttachmentRef = rsp.ResolvedReference + } return nil @@ -755,6 +1273,22 @@ func (mg *ImageIAMMember) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.Image = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ImageRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Image), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ImageRef, + Selector: mg.Spec.InitProvider.ImageSelector, + To: reference.To{ + List: &ImageList{}, + Managed: &Image{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Image") + } + mg.Spec.InitProvider.Image = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ImageRef = rsp.ResolvedReference + return nil } @@ -838,6 +1372,80 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.ServiceAccount[i3].Email = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceAccount[i3].EmailRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BootDisk); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.BootDisk[i3].InitializeParams); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].Image), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].ImageRef, + Selector: mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].ImageSelector, + To: reference.To{ + List: &ImageList{}, + Managed: &Image{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].Image") + } + mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].Image = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BootDisk[i3].InitializeParams[i4].ImageRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Network") + } + mg.Spec.InitProvider.NetworkInterface[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork") + } + mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ServiceAccount); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccount[i3].Email), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.ServiceAccount[i3].EmailRef, + Selector: mg.Spec.InitProvider.ServiceAccount[i3].EmailSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccount[i3].Email") + } + mg.Spec.InitProvider.ServiceAccount[i3].Email = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccount[i3].EmailRef = rsp.ResolvedReference + } return nil @@ -902,6 +1510,58 @@ func (mg *InstanceFromTemplate) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.SourceInstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SourceInstanceTemplateRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Network") + } + mg.Spec.InitProvider.NetworkInterface[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork") + } + mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SourceInstanceTemplate), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SourceInstanceTemplateRef, + Selector: mg.Spec.InitProvider.SourceInstanceTemplateSelector, + To: reference.To{ + List: &InstanceTemplateList{}, + Managed: &InstanceTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SourceInstanceTemplate") + } + mg.Spec.InitProvider.SourceInstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SourceInstanceTemplateRef = rsp.ResolvedReference + return nil } @@ -928,6 +1588,22 @@ func (mg *InstanceGroup) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -990,6 +1666,58 @@ func (mg *InstanceGroupManager) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.Version[i3].InstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Version[i3].InstanceTemplateRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.AutoHealingPolicies); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckRef, + Selector: mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckSelector, + To: reference.To{ + List: &HealthCheckList{}, + Managed: &HealthCheck{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck") + } + mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckRef = rsp.ResolvedReference + + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.TargetPools), + Extract: common.SelfLinkExtractor(), + References: mg.Spec.InitProvider.TargetPoolsRefs, + Selector: mg.Spec.InitProvider.TargetPoolsSelector, + To: reference.To{ + List: &TargetPoolList{}, + Managed: &TargetPool{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TargetPools") + } + mg.Spec.InitProvider.TargetPools = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.TargetPoolsRefs = mrsp.ResolvedReferences + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Version); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Version[i3].InstanceTemplate), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Version[i3].InstanceTemplateRef, + Selector: mg.Spec.InitProvider.Version[i3].InstanceTemplateSelector, + To: reference.To{ + List: &InstanceTemplateList{}, + Managed: &InstanceTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Version[i3].InstanceTemplate") + } + mg.Spec.InitProvider.Version[i3].InstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Version[i3].InstanceTemplateRef = rsp.ResolvedReference + } return nil @@ -1018,6 +1746,22 @@ func (mg *InstanceIAMMember) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.InstanceName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceNameRef, + Selector: mg.Spec.InitProvider.InstanceNameSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceName") + } + mg.Spec.InitProvider.InstanceName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceNameRef = rsp.ResolvedReference + return nil } @@ -1100,32 +1844,120 @@ func (mg *InstanceTemplate) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.ServiceAccount[i3].EmailRef = rsp.ResolvedReference } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Disk); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Disk[i3].Source), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Disk[i3].SourceRef, + Selector: mg.Spec.InitProvider.Disk[i3].SourceSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Disk[i3].Source") + } + mg.Spec.InitProvider.Disk[i3].Source = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Disk[i3].SourceRef = rsp.ResolvedReference - return nil -} - -// ResolveReferences of this InterconnectAttachment. -func (mg *InterconnectAttachment) 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.Router), - Extract: common.SelfLinkExtractor(), - Reference: mg.Spec.ForProvider.RouterRef, - Selector: mg.Spec.ForProvider.RouterSelector, - To: reference.To{ - List: &RouterList{}, - Managed: &Router{}, - }, - }) - if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.Router") } - mg.Spec.ForProvider.Router = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.RouterRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Network") + } + mg.Spec.InitProvider.NetworkInterface[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef, + Selector: mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork") + } + mg.Spec.InitProvider.NetworkInterface[i3].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterface[i3].SubnetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ServiceAccount); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccount[i3].Email), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.ServiceAccount[i3].EmailRef, + Selector: mg.Spec.InitProvider.ServiceAccount[i3].EmailSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccount[i3].Email") + } + mg.Spec.InitProvider.ServiceAccount[i3].Email = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccount[i3].EmailRef = rsp.ResolvedReference + + } + + return nil +} + +// ResolveReferences of this InterconnectAttachment. +func (mg *InterconnectAttachment) 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.Router), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.ForProvider.RouterRef, + Selector: mg.Spec.ForProvider.RouterSelector, + To: reference.To{ + List: &RouterList{}, + Managed: &Router{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Router") + } + mg.Spec.ForProvider.Router = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.RouterRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Router), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.RouterRef, + Selector: mg.Spec.InitProvider.RouterSelector, + To: reference.To{ + List: &RouterList{}, + Managed: &Router{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Router") + } + mg.Spec.InitProvider.Router = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RouterRef = rsp.ResolvedReference return nil } @@ -1169,6 +2001,38 @@ func (mg *NetworkEndpoint) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.NetworkEndpointGroup = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkEndpointGroupRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkEndpointGroup), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkEndpointGroupRef, + Selector: mg.Spec.InitProvider.NetworkEndpointGroupSelector, + To: reference.To{ + List: &NetworkEndpointGroupList{}, + Managed: &NetworkEndpointGroup{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkEndpointGroup") + } + mg.Spec.InitProvider.NetworkEndpointGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkEndpointGroupRef = rsp.ResolvedReference + return nil } @@ -1211,6 +2075,38 @@ func (mg *NetworkEndpointGroup) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubnetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + return nil } @@ -1253,6 +2149,22 @@ func (mg *NetworkFirewallPolicyAssociation) ResolveReferences(ctx context.Contex mg.Spec.ForProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FirewallPolicyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AttachmentTarget), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AttachmentTargetRef, + Selector: mg.Spec.InitProvider.AttachmentTargetSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AttachmentTarget") + } + mg.Spec.InitProvider.AttachmentTarget = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AttachmentTargetRef = rsp.ResolvedReference + return nil } @@ -1295,6 +2207,22 @@ func (mg *NetworkPeering) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.PeerNetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PeerNetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PeerNetwork), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.PeerNetworkRef, + Selector: mg.Spec.InitProvider.PeerNetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PeerNetwork") + } + mg.Spec.InitProvider.PeerNetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PeerNetworkRef = rsp.ResolvedReference + return nil } @@ -1337,6 +2265,38 @@ func (mg *NetworkPeeringRoutesConfig) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.Peering = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PeeringRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Peering), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.PeeringRef, + Selector: mg.Spec.InitProvider.PeeringSelector, + To: reference.To{ + List: &NetworkPeeringList{}, + Managed: &NetworkPeering{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Peering") + } + mg.Spec.InitProvider.Peering = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PeeringRef = rsp.ResolvedReference + return nil } @@ -1403,6 +2363,62 @@ func (mg *NodeGroup) ResolveReferences(ctx context.Context, c client.Reader) err } } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NodeTemplate), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NodeTemplateRef, + Selector: mg.Spec.InitProvider.NodeTemplateSelector, + To: reference.To{ + List: &NodeTemplateList{}, + Managed: &NodeTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NodeTemplate") + } + mg.Spec.InitProvider.NodeTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NodeTemplateRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.ShareSettings); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.ShareSettings[i3].ProjectMap); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ID), + Extract: resource.ExtractParamPath("project_id", false), + Reference: mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].IDRef, + Selector: mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].IDSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ID") + } + mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].IDRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ShareSettings); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.ShareSettings[i3].ProjectMap); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectID), + Extract: resource.ExtractParamPath("project_id", false), + Reference: mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectIDRef, + Selector: mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectIDSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectID") + } + mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ShareSettings[i3].ProjectMap[i4].ProjectIDRef = rsp.ResolvedReference + + } + } return nil } @@ -1469,6 +2485,62 @@ func (mg *PacketMirroring) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.Network[i3].URL = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Network[i3].URLRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CollectorIlb); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CollectorIlb[i3].URL), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CollectorIlb[i3].URLRef, + Selector: mg.Spec.InitProvider.CollectorIlb[i3].URLSelector, + To: reference.To{ + List: &ForwardingRuleList{}, + Managed: &ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CollectorIlb[i3].URL") + } + mg.Spec.InitProvider.CollectorIlb[i3].URL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CollectorIlb[i3].URLRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.MirroredResources); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.MirroredResources[i3].Instances); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URL), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URLRef, + Selector: mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URLSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URL") + } + mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MirroredResources[i3].Instances[i4].URLRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Network); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network[i3].URL), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Network[i3].URLRef, + Selector: mg.Spec.InitProvider.Network[i3].URLSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network[i3].URL") + } + mg.Spec.InitProvider.Network[i3].URL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Network[i3].URLRef = rsp.ResolvedReference + } return nil @@ -1533,6 +2605,58 @@ func (mg *PerInstanceConfig) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.Zone = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ZoneRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceGroupManager), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceGroupManagerRef, + Selector: mg.Spec.InitProvider.InstanceGroupManagerSelector, + To: reference.To{ + List: &InstanceGroupManagerList{}, + Managed: &InstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceGroupManager") + } + mg.Spec.InitProvider.InstanceGroupManager = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceGroupManagerRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.PreservedState); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PreservedState[i3].Disk); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceRef, + Selector: mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source") + } + mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Zone), + Extract: resource.ExtractParamPath("zone", false), + Reference: mg.Spec.InitProvider.ZoneRef, + Selector: mg.Spec.InitProvider.ZoneSelector, + To: reference.To{ + List: &InstanceGroupManagerList{}, + Managed: &InstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Zone") + } + mg.Spec.InitProvider.Zone = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ZoneRef = rsp.ResolvedReference + return nil } @@ -1559,6 +2683,22 @@ func (mg *RegionAutoscaler) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TargetRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Target), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TargetRef, + Selector: mg.Spec.InitProvider.TargetSelector, + To: reference.To{ + List: &RegionInstanceGroupManagerList{}, + Managed: &RegionInstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Target") + } + mg.Spec.InitProvider.Target = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetRef = rsp.ResolvedReference + return nil } @@ -1604,12 +2744,46 @@ func (mg *RegionBackendService) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.HealthChecksRefs = mrsp.ResolvedReferences - return nil -} - -// ResolveReferences of this RegionDisk. -func (mg *RegionDisk) ResolveReferences(ctx context.Context, c client.Reader) error { - r := reference.NewAPIResolver(c, mg) + for i3 := 0; i3 < len(mg.Spec.InitProvider.Backend); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Backend[i3].Group), + Extract: compute.InstanceGroupExtractor(), + Reference: mg.Spec.InitProvider.Backend[i3].GroupRef, + Selector: mg.Spec.InitProvider.Backend[i3].GroupSelector, + To: reference.To{ + List: &RegionInstanceGroupManagerList{}, + Managed: &RegionInstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Backend[i3].Group") + } + mg.Spec.InitProvider.Backend[i3].Group = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Backend[i3].GroupRef = rsp.ResolvedReference + + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.HealthChecks), + Extract: common.SelfLinkExtractor(), + References: mg.Spec.InitProvider.HealthChecksRefs, + Selector: mg.Spec.InitProvider.HealthChecksSelector, + To: reference.To{ + List: &RegionHealthCheckList{}, + Managed: &RegionHealthCheck{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.HealthChecks") + } + mg.Spec.InitProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.HealthChecksRefs = mrsp.ResolvedReferences + + return nil +} + +// ResolveReferences of this RegionDisk. +func (mg *RegionDisk) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse var err error @@ -1648,6 +2822,40 @@ func (mg *RegionDisk) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.Snapshot = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SnapshotRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.AsyncPrimaryDisk); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskRef, + Selector: mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskSelector, + To: reference.To{ + List: &RegionDiskList{}, + Managed: &RegionDisk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk") + } + mg.Spec.InitProvider.AsyncPrimaryDisk[i3].Disk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AsyncPrimaryDisk[i3].DiskRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Snapshot), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SnapshotRef, + Selector: mg.Spec.InitProvider.SnapshotSelector, + To: reference.To{ + List: &SnapshotList{}, + Managed: &Snapshot{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Snapshot") + } + mg.Spec.InitProvider.Snapshot = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SnapshotRef = rsp.ResolvedReference + return nil } @@ -1674,6 +2882,22 @@ func (mg *RegionDiskIAMMember) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NameRef, + Selector: mg.Spec.InitProvider.NameSelector, + To: reference.To{ + List: &RegionDiskList{}, + Managed: &RegionDisk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Name") + } + mg.Spec.InitProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NameRef = rsp.ResolvedReference + return nil } @@ -1716,6 +2940,38 @@ func (mg *RegionDiskResourcePolicyAttachment) ResolveReferences(ctx context.Cont mg.Spec.ForProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Disk), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DiskRef, + Selector: mg.Spec.InitProvider.DiskSelector, + To: reference.To{ + List: &RegionDiskList{}, + Managed: &RegionDisk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Disk") + } + mg.Spec.InitProvider.Disk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DiskRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NameRef, + Selector: mg.Spec.InitProvider.NameSelector, + To: reference.To{ + List: &ResourcePolicyList{}, + Managed: &ResourcePolicy{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Name") + } + mg.Spec.InitProvider.Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NameRef = rsp.ResolvedReference + return nil } @@ -1778,6 +3034,58 @@ func (mg *RegionInstanceGroupManager) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.Version[i3].InstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Version[i3].InstanceTemplateRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.AutoHealingPolicies); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckRef, + Selector: mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckSelector, + To: reference.To{ + List: &HealthCheckList{}, + Managed: &HealthCheck{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck") + } + mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheck = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AutoHealingPolicies[i3].HealthCheckRef = rsp.ResolvedReference + + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.TargetPools), + Extract: common.SelfLinkExtractor(), + References: mg.Spec.InitProvider.TargetPoolsRefs, + Selector: mg.Spec.InitProvider.TargetPoolsSelector, + To: reference.To{ + List: &TargetPoolList{}, + Managed: &TargetPool{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TargetPools") + } + mg.Spec.InitProvider.TargetPools = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.TargetPoolsRefs = mrsp.ResolvedReferences + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Version); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Version[i3].InstanceTemplate), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Version[i3].InstanceTemplateRef, + Selector: mg.Spec.InitProvider.Version[i3].InstanceTemplateSelector, + To: reference.To{ + List: &InstanceTemplateList{}, + Managed: &InstanceTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Version[i3].InstanceTemplate") + } + mg.Spec.InitProvider.Version[i3].InstanceTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Version[i3].InstanceTemplateRef = rsp.ResolvedReference + } return nil @@ -1874,6 +3182,90 @@ func (mg *RegionNetworkEndpointGroup) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubnetworkRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.CloudFunction); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudFunction[i3].Function), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CloudFunction[i3].FunctionRef, + Selector: mg.Spec.InitProvider.CloudFunction[i3].FunctionSelector, + To: reference.To{ + List: &v1beta12.FunctionList{}, + Managed: &v1beta12.Function{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudFunction[i3].Function") + } + mg.Spec.InitProvider.CloudFunction[i3].Function = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudFunction[i3].FunctionRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CloudRun); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CloudRun[i3].Service), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CloudRun[i3].ServiceRef, + Selector: mg.Spec.InitProvider.CloudRun[i3].ServiceSelector, + To: reference.To{ + List: &v1beta13.ServiceList{}, + Managed: &v1beta13.Service{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CloudRun[i3].Service") + } + mg.Spec.InitProvider.CloudRun[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CloudRun[i3].ServiceRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PscTargetService), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.PscTargetServiceRef, + Selector: mg.Spec.InitProvider.PscTargetServiceSelector, + To: reference.To{ + List: &ServiceAttachmentList{}, + Managed: &ServiceAttachment{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PscTargetService") + } + mg.Spec.InitProvider.PscTargetService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PscTargetServiceRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + return nil } @@ -1916,6 +3308,22 @@ func (mg *RegionNetworkFirewallPolicyAssociation) ResolveReferences(ctx context. mg.Spec.ForProvider.FirewallPolicy = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FirewallPolicyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AttachmentTarget), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.AttachmentTargetRef, + Selector: mg.Spec.InitProvider.AttachmentTargetSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AttachmentTarget") + } + mg.Spec.InitProvider.AttachmentTarget = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AttachmentTargetRef = rsp.ResolvedReference + return nil } @@ -1978,6 +3386,58 @@ func (mg *RegionPerInstanceConfig) ResolveReferences(ctx context.Context, c clie mg.Spec.ForProvider.RegionInstanceGroupManager = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RegionInstanceGroupManagerRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.PreservedState); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PreservedState[i3].Disk); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceRef, + Selector: mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source") + } + mg.Spec.InitProvider.PreservedState[i3].Disk[i4].Source = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PreservedState[i3].Disk[i4].SourceRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Region), + Extract: resource.ExtractParamPath("region", false), + Reference: mg.Spec.InitProvider.RegionRef, + Selector: mg.Spec.InitProvider.RegionSelector, + To: reference.To{ + List: &RegionInstanceGroupManagerList{}, + Managed: &RegionInstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Region") + } + mg.Spec.InitProvider.Region = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RegionRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RegionInstanceGroupManager), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.RegionInstanceGroupManagerRef, + Selector: mg.Spec.InitProvider.RegionInstanceGroupManagerSelector, + To: reference.To{ + List: &RegionInstanceGroupManagerList{}, + Managed: &RegionInstanceGroupManager{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RegionInstanceGroupManager") + } + mg.Spec.InitProvider.RegionInstanceGroupManager = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RegionInstanceGroupManagerRef = rsp.ResolvedReference + return nil } @@ -2004,6 +3464,22 @@ func (mg *RegionTargetHTTPProxy) ResolveReferences(ctx context.Context, c client mg.Spec.ForProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.URLMapRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.URLMap), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.URLMapRef, + Selector: mg.Spec.InitProvider.URLMapSelector, + To: reference.To{ + List: &RegionURLMapList{}, + Managed: &RegionURLMap{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.URLMap") + } + mg.Spec.InitProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.URLMapRef = rsp.ResolvedReference + return nil } @@ -2047,6 +3523,38 @@ func (mg *RegionTargetHTTPSProxy) ResolveReferences(ctx context.Context, c clien mg.Spec.ForProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.URLMapRef = rsp.ResolvedReference + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.SSLCertificates), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.SSLCertificatesRefs, + Selector: mg.Spec.InitProvider.SSLCertificatesSelector, + To: reference.To{ + List: &RegionSSLCertificateList{}, + Managed: &RegionSSLCertificate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SSLCertificates") + } + mg.Spec.InitProvider.SSLCertificates = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.SSLCertificatesRefs = mrsp.ResolvedReferences + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.URLMap), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.URLMapRef, + Selector: mg.Spec.InitProvider.URLMapSelector, + To: reference.To{ + List: &RegionURLMapList{}, + Managed: &RegionURLMap{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.URLMap") + } + mg.Spec.InitProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.URLMapRef = rsp.ResolvedReference + return nil } @@ -2073,6 +3581,22 @@ func (mg *RegionTargetTCPProxy) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BackendServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendService), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.BackendServiceRef, + Selector: mg.Spec.InitProvider.BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendService") + } + mg.Spec.InitProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendServiceRef = rsp.ResolvedReference + return nil } @@ -2080,187 +3604,367 @@ func (mg *RegionTargetTCPProxy) ResolveReferences(ctx context.Context, c client. func (mg *RegionURLMap) ResolveReferences(ctx context.Context, c client.Reader) error { r := reference.NewAPIResolver(c, mg) - var rsp reference.ResolutionResponse - var err error + var rsp reference.ResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.DefaultRouteAction); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef, + Selector: mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService") + } + mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.DefaultRouteAction); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef, + Selector: mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService") + } + mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.DefaultServiceRef, + Selector: mg.Spec.ForProvider.DefaultServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DefaultService") + } + mg.Spec.ForProvider.DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DefaultServiceRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].DefaultService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceRef, + Selector: mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].DefaultService") + } + mg.Spec.ForProvider.PathMatcher[i3].DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef, + Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService") + } + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef, + Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService") + } + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceRef, + Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service") + } + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].RouteRules); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceRef, + Selector: mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service") + } + mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Test); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Test[i3].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.Test[i3].ServiceRef, + Selector: mg.Spec.ForProvider.Test[i3].ServiceSelector, + To: reference.To{ + List: &RegionBackendServiceList{}, + Managed: &RegionBackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Test[i3].Service") + } + mg.Spec.ForProvider.Test[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Test[i3].ServiceRef = rsp.ResolvedReference - for i3 := 0; i3 < len(mg.Spec.ForProvider.DefaultRouteAction); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy); i4++ { + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.DefaultRouteAction); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy); i4++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef, - Selector: mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceSelector, + Reference: mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef, + Selector: mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService") + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService") } - mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultRouteAction[i3].RequestMirrorPolicy[i4].BackendServiceRef = rsp.ResolvedReference } } - for i3 := 0; i3 < len(mg.Spec.ForProvider.DefaultRouteAction); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices); i4++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.DefaultRouteAction); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices); i4++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef, - Selector: mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceSelector, + Reference: mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef, + Selector: mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService") + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService") } - mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultRouteAction[i3].WeightedBackendServices[i4].BackendServiceRef = rsp.ResolvedReference } } rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.DefaultServiceRef, - Selector: mg.Spec.ForProvider.DefaultServiceSelector, + Reference: mg.Spec.InitProvider.DefaultServiceRef, + Selector: mg.Spec.InitProvider.DefaultServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.DefaultService") + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultService") } - mg.Spec.ForProvider.DefaultService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.DefaultServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultServiceRef = rsp.ResolvedReference - for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].DefaultService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].DefaultService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceRef, - Selector: mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceSelector, + Reference: mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].DefaultService") + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].DefaultService") } - mg.Spec.ForProvider.PathMatcher[i3].DefaultService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.PathMatcher[i3].DefaultServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.PathMatcher[i3].DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceRef = rsp.ResolvedReference } - for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { - for i5 := 0; i5 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { - for i6 := 0; i6 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy); i6++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy); i6++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef, - Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceSelector, + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService") + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService") } - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef = rsp.ResolvedReference } } } } - for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { - for i5 := 0; i5 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { - for i6 := 0; i6 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices); i6++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices); i6++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef, - Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceSelector, + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService") + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService") } - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef = rsp.ResolvedReference } } } } - for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].PathRule); i4++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceRef, - Selector: mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceSelector, + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service") + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service") } - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.PathMatcher[i3].PathRule[i4].ServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceRef = rsp.ResolvedReference } } - for i3 := 0; i3 < len(mg.Spec.ForProvider.PathMatcher); i3++ { - for i4 := 0; i4 < len(mg.Spec.ForProvider.PathMatcher[i3].RouteRules); i4++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].RouteRules); i4++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceRef, - Selector: mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceSelector, + Reference: mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service") + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service") } - mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.PathMatcher[i3].RouteRules[i4].ServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceRef = rsp.ResolvedReference } } - for i3 := 0; i3 < len(mg.Spec.ForProvider.Test); i3++ { + for i3 := 0; i3 < len(mg.Spec.InitProvider.Test); i3++ { rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Test[i3].Service), + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Test[i3].Service), Extract: resource.ExtractResourceID(), - Reference: mg.Spec.ForProvider.Test[i3].ServiceRef, - Selector: mg.Spec.ForProvider.Test[i3].ServiceSelector, + Reference: mg.Spec.InitProvider.Test[i3].ServiceRef, + Selector: mg.Spec.InitProvider.Test[i3].ServiceSelector, To: reference.To{ List: &RegionBackendServiceList{}, Managed: &RegionBackendService{}, }, }) if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.Test[i3].Service") + return errors.Wrap(err, "mg.Spec.InitProvider.Test[i3].Service") } - mg.Spec.ForProvider.Test[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.Test[i3].ServiceRef = rsp.ResolvedReference + mg.Spec.InitProvider.Test[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Test[i3].ServiceRef = rsp.ResolvedReference } @@ -2322,6 +4026,54 @@ func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.NextHopVPNTunnel = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NextHopVPNTunnelRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NextHopIlb), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NextHopIlbRef, + Selector: mg.Spec.InitProvider.NextHopIlbSelector, + To: reference.To{ + List: &ForwardingRuleList{}, + Managed: &ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NextHopIlb") + } + mg.Spec.InitProvider.NextHopIlb = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NextHopIlbRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NextHopVPNTunnel), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NextHopVPNTunnelRef, + Selector: mg.Spec.InitProvider.NextHopVPNTunnelSelector, + To: reference.To{ + List: &VPNTunnelList{}, + Managed: &VPNTunnel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NextHopVPNTunnel") + } + mg.Spec.InitProvider.NextHopVPNTunnel = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NextHopVPNTunnelRef = rsp.ResolvedReference + return nil } @@ -2348,6 +4100,22 @@ func (mg *Router) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -2390,6 +4158,38 @@ func (mg *RouterInterface) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.VPNTunnel = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPNTunnelRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Router), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RouterRef, + Selector: mg.Spec.InitProvider.RouterSelector, + To: reference.To{ + List: &RouterList{}, + Managed: &Router{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Router") + } + mg.Spec.InitProvider.Router = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RouterRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPNTunnel), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.VPNTunnelRef, + Selector: mg.Spec.InitProvider.VPNTunnelSelector, + To: reference.To{ + List: &VPNTunnelList{}, + Managed: &VPNTunnel{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPNTunnel") + } + mg.Spec.InitProvider.VPNTunnel = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPNTunnelRef = rsp.ResolvedReference + return nil } @@ -2433,6 +4233,24 @@ func (mg *RouterNAT) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Subnetwork[i3].Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Subnetwork[i3].NameRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Subnetwork); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork[i3].Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Subnetwork[i3].NameRef, + Selector: mg.Spec.InitProvider.Subnetwork[i3].NameSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork[i3].Name") + } + mg.Spec.InitProvider.Subnetwork[i3].Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Subnetwork[i3].NameRef = rsp.ResolvedReference + } return nil @@ -2525,6 +4343,70 @@ func (mg *RouterPeer) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.RouterApplianceInstance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RouterApplianceInstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Interface), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.InterfaceRef, + Selector: mg.Spec.InitProvider.InterfaceSelector, + To: reference.To{ + List: &RouterInterfaceList{}, + Managed: &RouterInterface{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Interface") + } + mg.Spec.InitProvider.Interface = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InterfaceRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PeerIPAddress), + Extract: resource.ExtractParamPath("address", false), + Reference: mg.Spec.InitProvider.PeerIPAddressRef, + Selector: mg.Spec.InitProvider.PeerIPAddressSelector, + To: reference.To{ + List: &AddressList{}, + Managed: &Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PeerIPAddress") + } + mg.Spec.InitProvider.PeerIPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PeerIPAddressRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Region), + Extract: resource.ExtractParamPath("region", false), + Reference: mg.Spec.InitProvider.RegionRef, + Selector: mg.Spec.InitProvider.RegionSelector, + To: reference.To{ + List: &RouterList{}, + Managed: &Router{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Region") + } + mg.Spec.InitProvider.Region = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RegionRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RouterApplianceInstance), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.RouterApplianceInstanceRef, + Selector: mg.Spec.InitProvider.RouterApplianceInstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RouterApplianceInstance") + } + mg.Spec.InitProvider.RouterApplianceInstance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RouterApplianceInstanceRef = rsp.ResolvedReference + return nil } @@ -2568,6 +4450,38 @@ func (mg *ServiceAttachment) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.TargetService = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TargetServiceRef = rsp.ResolvedReference + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.NATSubnets), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.NATSubnetsRefs, + Selector: mg.Spec.InitProvider.NATSubnetsSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NATSubnets") + } + mg.Spec.InitProvider.NATSubnets = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.NATSubnetsRefs = mrsp.ResolvedReferences + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TargetService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TargetServiceRef, + Selector: mg.Spec.InitProvider.TargetServiceSelector, + To: reference.To{ + List: &ForwardingRuleList{}, + Managed: &ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TargetService") + } + mg.Spec.InitProvider.TargetService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetServiceRef = rsp.ResolvedReference + return nil } @@ -2594,6 +4508,22 @@ func (mg *SharedVPCHostProject) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Project), + Extract: common.ExtractProjectID(), + Reference: mg.Spec.InitProvider.ProjectRef, + Selector: mg.Spec.InitProvider.ProjectSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Project") + } + mg.Spec.InitProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ProjectRef = rsp.ResolvedReference + return nil } @@ -2633,8 +4563,40 @@ func (mg *SharedVPCServiceProject) ResolveReferences(ctx context.Context, c clie if err != nil { return errors.Wrap(err, "mg.Spec.ForProvider.ServiceProject") } - mg.Spec.ForProvider.ServiceProject = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.ServiceProjectRef = rsp.ResolvedReference + mg.Spec.ForProvider.ServiceProject = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ServiceProjectRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.HostProject), + Extract: common.ExtractProjectID(), + Reference: mg.Spec.InitProvider.HostProjectRef, + Selector: mg.Spec.InitProvider.HostProjectSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.HostProject") + } + mg.Spec.InitProvider.HostProject = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.HostProjectRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceProject), + Extract: common.ExtractProjectID(), + Reference: mg.Spec.InitProvider.ServiceProjectRef, + Selector: mg.Spec.InitProvider.ServiceProjectSelector, + To: reference.To{ + List: &v1beta11.ProjectList{}, + Managed: &v1beta11.Project{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceProject") + } + mg.Spec.InitProvider.ServiceProject = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceProjectRef = rsp.ResolvedReference return nil } @@ -2662,6 +4624,22 @@ func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.SourceDisk = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SourceDiskRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SourceDisk), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SourceDiskRef, + Selector: mg.Spec.InitProvider.SourceDiskSelector, + To: reference.To{ + List: &DiskList{}, + Managed: &Disk{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SourceDisk") + } + mg.Spec.InitProvider.SourceDisk = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SourceDiskRef = rsp.ResolvedReference + return nil } @@ -2688,6 +4666,22 @@ func (mg *Subnetwork) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -2714,6 +4708,22 @@ func (mg *SubnetworkIAMMember) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubnetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + return nil } @@ -2740,6 +4750,22 @@ func (mg *TargetGRPCProxy) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.URLMapRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.URLMap), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.URLMapRef, + Selector: mg.Spec.InitProvider.URLMapSelector, + To: reference.To{ + List: &URLMapList{}, + Managed: &URLMap{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.URLMap") + } + mg.Spec.InitProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.URLMapRef = rsp.ResolvedReference + return nil } @@ -2766,6 +4792,22 @@ func (mg *TargetHTTPProxy) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.URLMapRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.URLMap), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.URLMapRef, + Selector: mg.Spec.InitProvider.URLMapSelector, + To: reference.To{ + List: &URLMapList{}, + Managed: &URLMap{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.URLMap") + } + mg.Spec.InitProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.URLMapRef = rsp.ResolvedReference + return nil } @@ -2809,6 +4851,38 @@ func (mg *TargetHTTPSProxy) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.URLMapRef = rsp.ResolvedReference + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.SSLCertificates), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.SSLCertificatesRefs, + Selector: mg.Spec.InitProvider.SSLCertificatesSelector, + To: reference.To{ + List: &SSLCertificateList{}, + Managed: &SSLCertificate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SSLCertificates") + } + mg.Spec.InitProvider.SSLCertificates = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.SSLCertificatesRefs = mrsp.ResolvedReferences + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.URLMap), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.URLMapRef, + Selector: mg.Spec.InitProvider.URLMapSelector, + To: reference.To{ + List: &URLMapList{}, + Managed: &URLMap{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.URLMap") + } + mg.Spec.InitProvider.URLMap = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.URLMapRef = rsp.ResolvedReference + return nil } @@ -2835,6 +4909,22 @@ func (mg *TargetInstance) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } @@ -2861,6 +4951,22 @@ func (mg *TargetPool) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.HealthChecksRefs = mrsp.ResolvedReferences + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.HealthChecks), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.HealthChecksRefs, + Selector: mg.Spec.InitProvider.HealthChecksSelector, + To: reference.To{ + List: &HTTPHealthCheckList{}, + Managed: &HTTPHealthCheck{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.HealthChecks") + } + mg.Spec.InitProvider.HealthChecks = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.HealthChecksRefs = mrsp.ResolvedReferences + return nil } @@ -2904,6 +5010,38 @@ func (mg *TargetSSLProxy) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.SSLCertificates = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.SSLCertificatesRefs = mrsp.ResolvedReferences + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BackendServiceRef, + Selector: mg.Spec.InitProvider.BackendServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendService") + } + mg.Spec.InitProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendServiceRef = rsp.ResolvedReference + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.SSLCertificates), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.SSLCertificatesRefs, + Selector: mg.Spec.InitProvider.SSLCertificatesSelector, + To: reference.To{ + List: &SSLCertificateList{}, + Managed: &SSLCertificate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SSLCertificates") + } + mg.Spec.InitProvider.SSLCertificates = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.SSLCertificatesRefs = mrsp.ResolvedReferences + return nil } @@ -2930,6 +5068,22 @@ func (mg *TargetTCPProxy) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BackendServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BackendServiceRef, + Selector: mg.Spec.InitProvider.BackendServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackendService") + } + mg.Spec.InitProvider.BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackendServiceRef = rsp.ResolvedReference + return nil } @@ -3079,6 +5233,146 @@ func (mg *URLMap) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Test[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Test[i3].ServiceRef = rsp.ResolvedReference + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DefaultServiceRef, + Selector: mg.Spec.InitProvider.DefaultServiceSelector, + To: reference.To{ + List: &BackendBucketList{}, + Managed: &BackendBucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultService") + } + mg.Spec.InitProvider.DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultServiceRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].DefaultService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceSelector, + To: reference.To{ + List: &BackendBucketList{}, + Managed: &BackendBucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].DefaultService") + } + mg.Spec.InitProvider.PathMatcher[i3].DefaultService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].DefaultServiceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService") + } + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].RequestMirrorPolicy[i6].BackendServiceRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService") + } + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].RouteAction[i5].WeightedBackendServices[i6].BackendServiceRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].PathRule); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceSelector, + To: reference.To{ + List: &BackendBucketList{}, + Managed: &BackendBucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service") + } + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].PathRule[i4].ServiceRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PathMatcher); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PathMatcher[i3].RouteRules); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceRef, + Selector: mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceSelector, + To: reference.To{ + List: &BackendServiceList{}, + Managed: &BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service") + } + mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PathMatcher[i3].RouteRules[i4].ServiceRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Test); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Test[i3].Service), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Test[i3].ServiceRef, + Selector: mg.Spec.InitProvider.Test[i3].ServiceSelector, + To: reference.To{ + List: &BackendBucketList{}, + Managed: &BackendBucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Test[i3].Service") + } + mg.Spec.InitProvider.Test[i3].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Test[i3].ServiceRef = rsp.ResolvedReference + } return nil @@ -3107,6 +5401,22 @@ func (mg *VPNGateway) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } @@ -3181,5 +5491,69 @@ func (mg *VPNTunnel) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.VPNGateway = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPNGatewayRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PeerExternalGateway), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.PeerExternalGatewayRef, + Selector: mg.Spec.InitProvider.PeerExternalGatewaySelector, + To: reference.To{ + List: &ExternalVPNGatewayList{}, + Managed: &ExternalVPNGateway{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PeerExternalGateway") + } + mg.Spec.InitProvider.PeerExternalGateway = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PeerExternalGatewayRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Router), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RouterRef, + Selector: mg.Spec.InitProvider.RouterSelector, + To: reference.To{ + List: &RouterList{}, + Managed: &Router{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Router") + } + mg.Spec.InitProvider.Router = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RouterRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TargetVPNGateway), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TargetVPNGatewayRef, + Selector: mg.Spec.InitProvider.TargetVPNGatewaySelector, + To: reference.To{ + List: &VPNGatewayList{}, + Managed: &VPNGateway{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TargetVPNGateway") + } + mg.Spec.InitProvider.TargetVPNGateway = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TargetVPNGatewayRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPNGateway), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.VPNGatewayRef, + Selector: mg.Spec.InitProvider.VPNGatewaySelector, + To: reference.To{ + List: &HaVPNGatewayList{}, + Managed: &HaVPNGateway{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPNGateway") + } + mg.Spec.InitProvider.VPNGateway = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPNGatewayRef = rsp.ResolvedReference + return nil } diff --git a/apis/compute/v1beta1/zz_globaladdress_types.go b/apis/compute/v1beta1/zz_globaladdress_types.go index 8037c8afb..c45d5504c 100755 --- a/apis/compute/v1beta1/zz_globaladdress_types.go +++ b/apis/compute/v1beta1/zz_globaladdress_types.go @@ -46,6 +46,22 @@ type GlobalAddressInitParameters struct { // Possible values are: IPV4, IPV6. IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"` + // The URL of the network in which to reserve the IP range. The IP range + // must be in RFC1918 space. The network cannot be deleted if there are + // any reserved IP ranges referring to it. + // This should only be set when using an Internal address. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The prefix length of the IP range. If not present, it means the // address field is a single IP address. // This field is not applicable to addresses with addressType=INTERNAL diff --git a/apis/compute/v1beta1/zz_globalforwardingrule_types.go b/apis/compute/v1beta1/zz_globalforwardingrule_types.go index ad84038ae..69f6fa130 100755 --- a/apis/compute/v1beta1/zz_globalforwardingrule_types.go +++ b/apis/compute/v1beta1/zz_globalforwardingrule_types.go @@ -97,6 +97,23 @@ type GlobalForwardingRuleInitParameters struct { // you create the resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // IP address for which this forwarding rule accepts traffic. When a client + // sends traffic to this IP address, the forwarding rule directs the traffic + // to the referenced target. + // While creating a forwarding rule, specifying an IPAddress is + // required under the following circumstances: + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalAddress + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Reference to a GlobalAddress in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"` + + // Selector for a GlobalAddress in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"` + // The IP protocol to which this rule applies. // For protocol forwarding, valid // options are TCP, UDP, ESP, @@ -140,14 +157,65 @@ type GlobalForwardingRuleInitParameters struct { // Structure is documented below. MetadataFilters []MetadataFiltersInitParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"` + // This field is not used for external load balancing. + // For Internal TCP/UDP Load Balancing, this field identifies the network that + // the load balanced IP should belong to for this Forwarding Rule. + // If the subnetwork is specified, the network of the subnetwork will be used. + // If neither subnetwork nor this field is specified, the default network will + // be used. + // For Private Service Connect forwarding rules that forward traffic to Google + // APIs, a network must be provided. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"` // This field can only be used: PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"` + // The ID of the project in which the resource belongs. + // If it is not provided, the provider project is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Network in compute to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + // If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"` + + // The URL of the target resource to receive the matched traffic. For + // regional forwarding rules, this target must be in the same region as the + // forwarding rule. For global forwarding rules, this target must be a global + // load balancing resource. + // The forwarded traffic must be of a type appropriate to the target object. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetSSLProxy + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Target *string `json:"target,omitempty" tf:"target,omitempty"` + + // Reference to a TargetSSLProxy in compute to populate target. + // +kubebuilder:validation:Optional + TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"` + + // Selector for a TargetSSLProxy in compute to populate target. + // +kubebuilder:validation:Optional + TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"` } type GlobalForwardingRuleObservation struct { diff --git a/apis/compute/v1beta1/zz_globalnetworkendpoint_types.go b/apis/compute/v1beta1/zz_globalnetworkendpoint_types.go index 95e622054..754345392 100755 --- a/apis/compute/v1beta1/zz_globalnetworkendpoint_types.go +++ b/apis/compute/v1beta1/zz_globalnetworkendpoint_types.go @@ -35,6 +35,18 @@ type GlobalNetworkEndpointInitParameters struct { // This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT. Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"` + // The global network endpoint group this endpoint is part of. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalNetworkEndpointGroup + GlobalNetworkEndpointGroup *string `json:"globalNetworkEndpointGroup,omitempty" tf:"global_network_endpoint_group,omitempty"` + + // Reference to a GlobalNetworkEndpointGroup in compute to populate globalNetworkEndpointGroup. + // +kubebuilder:validation:Optional + GlobalNetworkEndpointGroupRef *v1.Reference `json:"globalNetworkEndpointGroupRef,omitempty" tf:"-"` + + // Selector for a GlobalNetworkEndpointGroup in compute to populate globalNetworkEndpointGroup. + // +kubebuilder:validation:Optional + GlobalNetworkEndpointGroupSelector *v1.Selector `json:"globalNetworkEndpointGroupSelector,omitempty" tf:"-"` + // IPv4 address external endpoint. IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` diff --git a/apis/compute/v1beta1/zz_havpngateway_types.go b/apis/compute/v1beta1/zz_havpngateway_types.go index cd5e42776..606ad5be4 100755 --- a/apis/compute/v1beta1/zz_havpngateway_types.go +++ b/apis/compute/v1beta1/zz_havpngateway_types.go @@ -34,6 +34,19 @@ type HaVPNGatewayInitParameters struct { // An optional description of this resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The network this VPN gateway is accepting traffic for. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` @@ -127,6 +140,24 @@ type VPNInterfacesInitParameters struct { // The numeric ID of this VPN gateway interface. ID *float64 `json:"id,omitempty" tf:"id,omitempty"` + + // URL of the interconnect attachment resource. When the value + // of this field is present, the VPN Gateway will be used for + // IPsec-encrypted Cloud Interconnect; all Egress or Ingress + // traffic for this VPN Gateway interface will go through the + // specified interconnect attachment resource. + // Not currently available publicly. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.InterconnectAttachment + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + InterconnectAttachment *string `json:"interconnectAttachment,omitempty" tf:"interconnect_attachment,omitempty"` + + // Reference to a InterconnectAttachment in compute to populate interconnectAttachment. + // +kubebuilder:validation:Optional + InterconnectAttachmentRef *v1.Reference `json:"interconnectAttachmentRef,omitempty" tf:"-"` + + // Selector for a InterconnectAttachment in compute to populate interconnectAttachment. + // +kubebuilder:validation:Optional + InterconnectAttachmentSelector *v1.Selector `json:"interconnectAttachmentSelector,omitempty" tf:"-"` } type VPNInterfacesObservation struct { diff --git a/apis/compute/v1beta1/zz_imageiammember_types.go b/apis/compute/v1beta1/zz_imageiammember_types.go index 92e137c3b..37a2a7319 100755 --- a/apis/compute/v1beta1/zz_imageiammember_types.go +++ b/apis/compute/v1beta1/zz_imageiammember_types.go @@ -60,6 +60,17 @@ type ImageIAMMemberConditionParameters struct { type ImageIAMMemberInitParameters struct { Condition []ImageIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Image + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Reference to a Image to populate image. + // +kubebuilder:validation:Optional + ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"` + + // Selector for a Image to populate image. + // +kubebuilder:validation:Optional + ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_instance_types.go b/apis/compute/v1beta1/zz_instance_types.go index b8cd72e74..155517160 100755 --- a/apis/compute/v1beta1/zz_instance_types.go +++ b/apis/compute/v1beta1/zz_instance_types.go @@ -393,6 +393,26 @@ type IPv6AccessConfigParameters struct { type InitializeParamsInitParameters struct { + // The image from which to initialize this disk. This can be + // one of: the image's self_link, projects/{project}/global/images/{image}, + // projects/{project}/global/images/family/{family}, global/images/{image}, + // global/images/family/{family}, family/{family}, {project}/{family}, + // {project}/{image}, {family}, or {image}. If referred by family, the + // images names must include the family name. If they don't, use the + // google_compute_image data source. + // For instance, the image centos-6-v20180104 includes its family name centos-6. + // These images can be referred by family name here. + // +crossplane:generate:reference:type=Image + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Reference to a Image to populate image. + // +kubebuilder:validation:Optional + ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"` + + // Selector for a Image to populate image. + // +kubebuilder:validation:Optional + ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"` + // A map of key/value label pairs to assign to the instance. Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` @@ -1063,10 +1083,25 @@ type NetworkInterfaceInitParameters struct { // specified, then this instance will have no external IPv6 Internet access. Structure documented below. IPv6AccessConfig []IPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"` + // The name or self_link of the network to attach this interface to. + // Either network or subnetwork must be provided. If network isn't provided it will + // be inferred from the subnetwork. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + // The private IP address to assign to the instance. If // empty, the address will be automatically assigned. NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"` + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"` @@ -1076,11 +1111,30 @@ type NetworkInterfaceInitParameters struct { // The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used. StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` + // The name or self_link of the subnetwork to attach this + // interface to. Either network or subnetwork must be provided. If network isn't provided + // it will be inferred from the subnetwork. The subnetwork must exist in the same region this + // instance will be created in. If the network resource is in + // legacy mode, do not specify this field. If the + // network is in auto subnet mode, specifying the subnetwork is optional. If the network is + // in custom subnet mode, specifying the subnetwork is required. + // +crossplane:generate:reference:type=Subnetwork + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + // The project in which the subnetwork belongs. // If the subnetwork is a self_link, this field is ignored in favor of the project // defined in the subnetwork self_link. If the subnetwork is a name and this // field is not provided, the provider project is used. SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type NetworkInterfaceObservation struct { @@ -1513,6 +1567,20 @@ type ScratchDiskParameters struct { type ServiceAccountInitParameters struct { + // The service account e-mail address. + // Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"` + // A list of service scopes. Both OAuth2 URLs and gcloud // short names are supported. To allow full access to all Cloud APIs, use the // cloud-platform scope. See a complete list of scopes here. diff --git a/apis/compute/v1beta1/zz_instancefromtemplate_types.go b/apis/compute/v1beta1/zz_instancefromtemplate_types.go index fafaa8893..39fca8653 100755 --- a/apis/compute/v1beta1/zz_instancefromtemplate_types.go +++ b/apis/compute/v1beta1/zz_instancefromtemplate_types.go @@ -322,6 +322,21 @@ type InstanceFromTemplateInitParameters struct { ShieldedInstanceConfig []InstanceFromTemplateShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` + // Name or self link of an instance + // template to create the instance based on. It is recommended to reference + // instance templates through their unique id (self_link_unique attribute). + // +crossplane:generate:reference:type=InstanceTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + SourceInstanceTemplate *string `json:"sourceInstanceTemplate,omitempty" tf:"source_instance_template,omitempty"` + + // Reference to a InstanceTemplate to populate sourceInstanceTemplate. + // +kubebuilder:validation:Optional + SourceInstanceTemplateRef *v1.Reference `json:"sourceInstanceTemplateRef,omitempty" tf:"-"` + + // Selector for a InstanceTemplate to populate sourceInstanceTemplate. + // +kubebuilder:validation:Optional + SourceInstanceTemplateSelector *v1.Selector `json:"sourceInstanceTemplateSelector,omitempty" tf:"-"` + // +listType=set Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` @@ -337,15 +352,37 @@ type InstanceFromTemplateNetworkInterfaceInitParameters struct { IPv6AccessConfig []NetworkInterfaceIPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"` + // +crossplane:generate:reference:type=Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"` + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"` QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"` StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` + // +crossplane:generate:reference:type=Subnetwork + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type InstanceFromTemplateNetworkInterfaceObservation struct { diff --git a/apis/compute/v1beta1/zz_instancegroup_types.go b/apis/compute/v1beta1/zz_instancegroup_types.go index 07a054264..5752be27d 100755 --- a/apis/compute/v1beta1/zz_instancegroup_types.go +++ b/apis/compute/v1beta1/zz_instancegroup_types.go @@ -44,6 +44,22 @@ type InstanceGroupInitParameters struct { // for details on configuration. Structure is documented below. NamedPort []NamedPortInitParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"` + // The URL of the network the instance group is in. If + // this is different from the network where the instances are in, the creation + // fails. Defaults to the network where the instances are in (if neither + // network nor instances is specified, this field will be blank). + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_instancegroupmanager_types.go b/apis/compute/v1beta1/zz_instancegroupmanager_types.go index 6815972fe..1b66ee625 100755 --- a/apis/compute/v1beta1/zz_instancegroupmanager_types.go +++ b/apis/compute/v1beta1/zz_instancegroupmanager_types.go @@ -31,6 +31,19 @@ import ( type AutoHealingPoliciesInitParameters struct { + // The health check resource that signals autohealing. + // +crossplane:generate:reference:type=HealthCheck + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"` + + // Reference to a HealthCheck to populate healthCheck. + // +kubebuilder:validation:Optional + HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"` + + // Selector for a HealthCheck to populate healthCheck. + // +kubebuilder:validation:Optional + HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"` + // The number of seconds that the managed instance group waits before // it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600. InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"` @@ -107,6 +120,22 @@ type InstanceGroupManagerInitParameters struct { // Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. StatefulDisk []StatefulDiskInitParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"` + // The full URL of all target pools to which new + // instances in the group are added. Updating the target pools attribute does + // not affect existing instances. + // +crossplane:generate:reference:type=TargetPool + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + // +listType=set + TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"` + + // References to TargetPool to populate targetPools. + // +kubebuilder:validation:Optional + TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"` + + // Selector for a list of TargetPool to populate targetPools. + // +kubebuilder:validation:Optional + TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"` + // The target number of running instances for this managed // instance group. This value should always be explicitly set unless this resource is attached to // an autoscaler, in which case it should never be set. Defaults to 0. @@ -567,6 +596,19 @@ type UpdatePolicyParameters struct { type VersionInitParameters struct { + // - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute). + // +crossplane:generate:reference:type=InstanceTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"` + + // Reference to a InstanceTemplate to populate instanceTemplate. + // +kubebuilder:validation:Optional + InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"` + + // Selector for a InstanceTemplate to populate instanceTemplate. + // +kubebuilder:validation:Optional + InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"` + // - Version name. Name *string `json:"name,omitempty" tf:"name,omitempty"` diff --git a/apis/compute/v1beta1/zz_instanceiammember_types.go b/apis/compute/v1beta1/zz_instanceiammember_types.go index ceae7c3c0..1dbd1df4e 100755 --- a/apis/compute/v1beta1/zz_instanceiammember_types.go +++ b/apis/compute/v1beta1/zz_instanceiammember_types.go @@ -60,6 +60,17 @@ type InstanceIAMMemberConditionParameters struct { type InstanceIAMMemberInitParameters struct { Condition []InstanceIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Instance + InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"` + + // Reference to a Instance to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameRef *v1.Reference `json:"instanceNameRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameSelector *v1.Selector `json:"instanceNameSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_instancetemplate_types.go b/apis/compute/v1beta1/zz_instancetemplate_types.go index 0409e258d..8ca784d72 100755 --- a/apis/compute/v1beta1/zz_instancetemplate_types.go +++ b/apis/compute/v1beta1/zz_instancetemplate_types.go @@ -234,6 +234,12 @@ type InstanceTemplateDiskInitParameters struct { // - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported. ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"` + // The name (not self_link) + // of the disk (such as those managed by google_compute_disk) to attach. + // ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + Source *string `json:"source,omitempty" tf:"source,omitempty"` + // The image from which to // initialize this disk. This can be one of: the image's self_link, // projects/{project}/global/images/{image}, @@ -248,6 +254,14 @@ type InstanceTemplateDiskInitParameters struct { // customer-supplied encryption key. SourceImageEncryptionKey []DiskSourceImageEncryptionKeyInitParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"` + // Reference to a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"` + // The source snapshot to create this disk. // ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details. SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"` @@ -714,10 +728,24 @@ type InstanceTemplateNetworkInterfaceInitParameters struct { // specified, then this instance will have no external IPv6 Internet access. Structure documented below. IPv6AccessConfig []InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"` + // The name or self_link of the network to attach this interface to. + // Use network attribute for Legacy or Auto subnetted networks and + // subnetwork for custom subnetted networks. + // +crossplane:generate:reference:type=Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + // The private IP address to assign to the instance. If // empty, the address will be automatically assigned. NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"` + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"` @@ -727,9 +755,23 @@ type InstanceTemplateNetworkInterfaceInitParameters struct { // The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used. StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` + // the name of the subnetwork to attach this interface + // to. The subnetwork must exist in the same region this instance will be + // created in. Either network or subnetwork must be provided. + // +crossplane:generate:reference:type=Subnetwork + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + // The ID of the project in which the subnetwork belongs. // If it is not provided, the provider project is used. SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type InstanceTemplateNetworkInterfaceObservation struct { @@ -1391,6 +1433,20 @@ type InstanceTemplateSchedulingParameters struct { type InstanceTemplateServiceAccountInitParameters struct { + // The service account e-mail address. If not given, the + // default Google Compute Engine service account is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate email. + // +kubebuilder:validation:Optional + EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"` + // A list of service scopes. Both OAuth2 URLs and gcloud // short names are supported. To allow full access to all Cloud APIs, use the // cloud-platform scope. See a complete list of scopes here. diff --git a/apis/compute/v1beta1/zz_interconnectattachment_types.go b/apis/compute/v1beta1/zz_interconnectattachment_types.go index 2ff2f16da..873890e93 100755 --- a/apis/compute/v1beta1/zz_interconnectattachment_types.go +++ b/apis/compute/v1beta1/zz_interconnectattachment_types.go @@ -98,6 +98,22 @@ type InterconnectAttachmentInitParameters struct { // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + // URL of the cloud router to be used for dynamic routing. This router must be in + // the same region as this InterconnectAttachment. The InterconnectAttachment will + // automatically connect the Interconnect to the network & region within which the + // Cloud Router is configured. + // +crossplane:generate:reference:type=Router + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Router *string `json:"router,omitempty" tf:"router,omitempty"` + + // Reference to a Router to populate router. + // +kubebuilder:validation:Optional + RouterRef *v1.Reference `json:"routerRef,omitempty" tf:"-"` + + // Selector for a Router to populate router. + // +kubebuilder:validation:Optional + RouterSelector *v1.Selector `json:"routerSelector,omitempty" tf:"-"` + // The type of InterconnectAttachment you wish to create. Defaults to // DEDICATED. // Possible values are: DEDICATED, PARTNER, PARTNER_PROVIDER. diff --git a/apis/compute/v1beta1/zz_networkendpoint_types.go b/apis/compute/v1beta1/zz_networkendpoint_types.go index 9ad043f8c..f91457c91 100755 --- a/apis/compute/v1beta1/zz_networkendpoint_types.go +++ b/apis/compute/v1beta1/zz_networkendpoint_types.go @@ -36,6 +36,32 @@ type NetworkEndpointInitParameters struct { // range). IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + // The name for a specific VM instance that the IP address belongs to. + // This is required for network endpoints of type GCE_VM_IP_PORT. + // The instance must be in the same zone of network endpoint group. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + + // The network endpoint group this endpoint is part of. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.NetworkEndpointGroup + NetworkEndpointGroup *string `json:"networkEndpointGroup,omitempty" tf:"network_endpoint_group,omitempty"` + + // Reference to a NetworkEndpointGroup in compute to populate networkEndpointGroup. + // +kubebuilder:validation:Optional + NetworkEndpointGroupRef *v1.Reference `json:"networkEndpointGroupRef,omitempty" tf:"-"` + + // Selector for a NetworkEndpointGroup in compute to populate networkEndpointGroup. + // +kubebuilder:validation:Optional + NetworkEndpointGroupSelector *v1.Selector `json:"networkEndpointGroupSelector,omitempty" tf:"-"` + // Port number of network endpoint. // Note port is required unless the Network Endpoint Group is created // with the type of GCE_VM_IP diff --git a/apis/compute/v1beta1/zz_networkendpointgroup_types.go b/apis/compute/v1beta1/zz_networkendpointgroup_types.go index 39aab536d..a70b988de 100755 --- a/apis/compute/v1beta1/zz_networkendpointgroup_types.go +++ b/apis/compute/v1beta1/zz_networkendpointgroup_types.go @@ -39,6 +39,12 @@ type NetworkEndpointGroupInitParameters struct { // you create the resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The network to which all network endpoints in the NEG belong. + // Uses "default" project network if unspecified. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + // Type of network endpoints in this network endpoint group. // NON_GCP_PRIVATE_IP_PORT is used for hybrid connectivity network // endpoint groups (see https://cloud.google.com/load-balancing/docs/hybrid). @@ -51,9 +57,30 @@ type NetworkEndpointGroupInitParameters struct { // Possible values are: GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT. NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"` + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Optional subnetwork to which all network endpoints in the NEG belong. + // +crossplane:generate:reference:type=Subnetwork + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type NetworkEndpointGroupObservation struct { diff --git a/apis/compute/v1beta1/zz_networkfirewallpolicyassociation_types.go b/apis/compute/v1beta1/zz_networkfirewallpolicyassociation_types.go index 95d89dee8..07b600c6e 100755 --- a/apis/compute/v1beta1/zz_networkfirewallpolicyassociation_types.go +++ b/apis/compute/v1beta1/zz_networkfirewallpolicyassociation_types.go @@ -31,6 +31,19 @@ import ( type NetworkFirewallPolicyAssociationInitParameters struct { + // The target that the firewall policy is attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + AttachmentTarget *string `json:"attachmentTarget,omitempty" tf:"attachment_target,omitempty"` + + // Reference to a Network in compute to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetRef *v1.Reference `json:"attachmentTargetRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetSelector *v1.Selector `json:"attachmentTargetSelector,omitempty" tf:"-"` + // The project for the resource Project *string `json:"project,omitempty" tf:"project,omitempty"` } diff --git a/apis/compute/v1beta1/zz_networkpeering_types.go b/apis/compute/v1beta1/zz_networkpeering_types.go index 0a42e8678..17cd772e5 100755 --- a/apis/compute/v1beta1/zz_networkpeering_types.go +++ b/apis/compute/v1beta1/zz_networkpeering_types.go @@ -43,6 +43,20 @@ type NetworkPeeringInitParameters struct { // Whether subnet routes with public IP range are imported. The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field. ImportSubnetRoutesWithPublicIP *bool `json:"importSubnetRoutesWithPublicIp,omitempty" tf:"import_subnet_routes_with_public_ip,omitempty"` + // The peer network in the peering. The peer network + // may belong to a different project. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + PeerNetwork *string `json:"peerNetwork,omitempty" tf:"peer_network,omitempty"` + + // Reference to a Network in compute to populate peerNetwork. + // +kubebuilder:validation:Optional + PeerNetworkRef *v1.Reference `json:"peerNetworkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate peerNetwork. + // +kubebuilder:validation:Optional + PeerNetworkSelector *v1.Selector `json:"peerNetworkSelector,omitempty" tf:"-"` + // Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]. StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` } diff --git a/apis/compute/v1beta1/zz_networkpeeringroutesconfig_types.go b/apis/compute/v1beta1/zz_networkpeeringroutesconfig_types.go index 081fbba67..4af97a4dc 100755 --- a/apis/compute/v1beta1/zz_networkpeeringroutesconfig_types.go +++ b/apis/compute/v1beta1/zz_networkpeeringroutesconfig_types.go @@ -37,6 +37,30 @@ type NetworkPeeringRoutesConfigInitParameters struct { // Whether to import the custom routes to the peer network. ImportCustomRoutes *bool `json:"importCustomRoutes,omitempty" tf:"import_custom_routes,omitempty"` + // The name of the primary network for the peering. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + + // Name of the peering. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.NetworkPeering + Peering *string `json:"peering,omitempty" tf:"peering,omitempty"` + + // Reference to a NetworkPeering in compute to populate peering. + // +kubebuilder:validation:Optional + PeeringRef *v1.Reference `json:"peeringRef,omitempty" tf:"-"` + + // Selector for a NetworkPeering in compute to populate peering. + // +kubebuilder:validation:Optional + PeeringSelector *v1.Selector `json:"peeringSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_nodegroup_types.go b/apis/compute/v1beta1/zz_nodegroup_types.go index 4bcf7b513..f0f181076 100755 --- a/apis/compute/v1beta1/zz_nodegroup_types.go +++ b/apis/compute/v1beta1/zz_nodegroup_types.go @@ -113,6 +113,19 @@ type NodeGroupInitParameters struct { // Structure is documented below. MaintenanceWindow []MaintenanceWindowInitParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + // The URL of the node template to which this node group belongs. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.NodeTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + NodeTemplate *string `json:"nodeTemplate,omitempty" tf:"node_template,omitempty"` + + // Reference to a NodeTemplate in compute to populate nodeTemplate. + // +kubebuilder:validation:Optional + NodeTemplateRef *v1.Reference `json:"nodeTemplateRef,omitempty" tf:"-"` + + // Selector for a NodeTemplate in compute to populate nodeTemplate. + // +kubebuilder:validation:Optional + NodeTemplateSelector *v1.Selector `json:"nodeTemplateSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` @@ -231,6 +244,32 @@ type NodeGroupParameters struct { } type ProjectMapInitParameters struct { + + // The identifier for this object. Format specified above. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false) + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Reference to a Project in cloudplatform to populate id. + // +kubebuilder:validation:Optional + IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate id. + // +kubebuilder:validation:Optional + IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"` + + // The project id/number should be the same as the key of this project config in the project map. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false) + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Reference to a Project in cloudplatform to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` } type ProjectMapObservation struct { diff --git a/apis/compute/v1beta1/zz_packetmirroring_types.go b/apis/compute/v1beta1/zz_packetmirroring_types.go index a9fe11b77..e133325b4 100755 --- a/apis/compute/v1beta1/zz_packetmirroring_types.go +++ b/apis/compute/v1beta1/zz_packetmirroring_types.go @@ -30,6 +30,19 @@ import ( ) type CollectorIlbInitParameters struct { + + // The URL of the forwarding rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URL *string `json:"url,omitempty" tf:"url,omitempty"` + + // Reference to a ForwardingRule in compute to populate url. + // +kubebuilder:validation:Optional + URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate url. + // +kubebuilder:validation:Optional + URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"` } type CollectorIlbObservation struct { @@ -104,6 +117,19 @@ type FilterParameters struct { } type InstancesInitParameters struct { + + // The URL of the subnetwork where this rule should be active. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URL *string `json:"url,omitempty" tf:"url,omitempty"` + + // Reference to a Instance in compute to populate url. + // +kubebuilder:validation:Optional + URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate url. + // +kubebuilder:validation:Optional + URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"` } type InstancesObservation struct { @@ -211,6 +237,19 @@ type PacketMirroringInitParameters struct { } type PacketMirroringNetworkInitParameters struct { + + // The full self_link URL of the network where this rule is active. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URL *string `json:"url,omitempty" tf:"url,omitempty"` + + // Reference to a Network in compute to populate url. + // +kubebuilder:validation:Optional + URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate url. + // +kubebuilder:validation:Optional + URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"` } type PacketMirroringNetworkObservation struct { diff --git a/apis/compute/v1beta1/zz_perinstanceconfig_types.go b/apis/compute/v1beta1/zz_perinstanceconfig_types.go index 71f35c7b2..0dd18004a 100755 --- a/apis/compute/v1beta1/zz_perinstanceconfig_types.go +++ b/apis/compute/v1beta1/zz_perinstanceconfig_types.go @@ -31,6 +31,18 @@ import ( type PerInstanceConfigInitParameters struct { + // The instance group manager this instance config is part of. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.InstanceGroupManager + InstanceGroupManager *string `json:"instanceGroupManager,omitempty" tf:"instance_group_manager,omitempty"` + + // Reference to a InstanceGroupManager in compute to populate instanceGroupManager. + // +kubebuilder:validation:Optional + InstanceGroupManagerRef *v1.Reference `json:"instanceGroupManagerRef,omitempty" tf:"-"` + + // Selector for a InstanceGroupManager in compute to populate instanceGroupManager. + // +kubebuilder:validation:Optional + InstanceGroupManagerSelector *v1.Selector `json:"instanceGroupManagerSelector,omitempty" tf:"-"` + // The minimal action to perform on the instance during an update. // Default is NONE. Possible values are: MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"` @@ -54,6 +66,19 @@ type PerInstanceConfigInitParameters struct { // When false, deleting this config will not immediately remove any state from the underlying instance. // State will be removed on the next instance recreation or update. RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"` + + // Zone where the containing instance group manager is located + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.InstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("zone",false) + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` + + // Reference to a InstanceGroupManager in compute to populate zone. + // +kubebuilder:validation:Optional + ZoneRef *v1.Reference `json:"zoneRef,omitempty" tf:"-"` + + // Selector for a InstanceGroupManager in compute to populate zone. + // +kubebuilder:validation:Optional + ZoneSelector *v1.Selector `json:"zoneSelector,omitempty" tf:"-"` } type PerInstanceConfigObservation struct { @@ -170,6 +195,20 @@ type PreservedStateDiskInitParameters struct { // Default value is READ_WRITE. // Possible values are: READ_ONLY, READ_WRITE. Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The URI of an existing persistent disk to attach under the specified device-name in the format + // projects/project-id/zones/zone/disks/disk-name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // Reference to a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"` } type PreservedStateDiskObservation struct { diff --git a/apis/compute/v1beta1/zz_regionautoscaler_types.go b/apis/compute/v1beta1/zz_regionautoscaler_types.go index 916baa7d4..5cb1edbe5 100755 --- a/apis/compute/v1beta1/zz_regionautoscaler_types.go +++ b/apis/compute/v1beta1/zz_regionautoscaler_types.go @@ -423,6 +423,19 @@ type RegionAutoscalerInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the managed instance group that this autoscaler will scale. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionInstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Target *string `json:"target,omitempty" tf:"target,omitempty"` + + // Reference to a RegionInstanceGroupManager in compute to populate target. + // +kubebuilder:validation:Optional + TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"` + + // Selector for a RegionInstanceGroupManager in compute to populate target. + // +kubebuilder:validation:Optional + TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"` } type RegionAutoscalerObservation struct { diff --git a/apis/compute/v1beta1/zz_regionbackendservice_types.go b/apis/compute/v1beta1/zz_regionbackendservice_types.go index c0ac6139a..79c38f8a8 100755 --- a/apis/compute/v1beta1/zz_regionbackendservice_types.go +++ b/apis/compute/v1beta1/zz_regionbackendservice_types.go @@ -329,6 +329,34 @@ type RegionBackendServiceBackendInitParameters struct { // than one failover backend can be configured for a given RegionBackendService. Failover *bool `json:"failover,omitempty" tf:"failover,omitempty"` + // The fully-qualified URL of an Instance Group or Network Endpoint + // Group resource. In case of instance group this defines the list + // of instances that serve traffic. Member virtual machine + // instances from each instance group must live in the same zone as + // the instance group itself. No two backends in a backend service + // are allowed to use same Instance Group resource. + // For Network Endpoint Groups this defines list of endpoints. All + // endpoints of Network Endpoint Group must be hosted on instances + // located in the same zone as the Network Endpoint Group. + // Backend services cannot mix Instance Group and + // Network Endpoint Group backends. + // When the load_balancing_scheme is INTERNAL, only instance groups + // are supported. + // Note that you must specify an Instance Group or Network Endpoint + // Group resource using the fully-qualified URL, rather than a + // partial URL. + // +crossplane:generate:reference:type=RegionInstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor() + Group *string `json:"group,omitempty" tf:"group,omitempty"` + + // Reference to a RegionInstanceGroupManager to populate group. + // +kubebuilder:validation:Optional + GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"` + + // Selector for a RegionInstanceGroupManager to populate group. + // +kubebuilder:validation:Optional + GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"` + // The max number of simultaneous connections for the group. Can // be used with either CONNECTION or UTILIZATION balancing modes. // Cannot be set for INTERNAL backend services. @@ -1099,6 +1127,24 @@ type RegionBackendServiceInitParameters struct { // Structure is documented below. FailoverPolicy []FailoverPolicyInitParameters `json:"failoverPolicy,omitempty" tf:"failover_policy,omitempty"` + // The set of URLs to HealthCheck resources for health checking + // this RegionBackendService. Currently at most one health + // check can be specified. + // A health check must be specified unless the backend service uses an internet + // or serverless NEG as a backend. + // +crossplane:generate:reference:type=RegionHealthCheck + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + // +listType=set + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // References to RegionHealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"` + + // Selector for a list of RegionHealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"` + // Settings for enabling Cloud Identity Aware Proxy // Structure is documented below. Iap []RegionBackendServiceIapInitParameters `json:"iap,omitempty" tf:"iap,omitempty"` diff --git a/apis/compute/v1beta1/zz_regiondisk_types.go b/apis/compute/v1beta1/zz_regiondisk_types.go index 8a04658cd..ba9107fbe 100755 --- a/apis/compute/v1beta1/zz_regiondisk_types.go +++ b/apis/compute/v1beta1/zz_regiondisk_types.go @@ -30,6 +30,19 @@ import ( ) type RegionDiskAsyncPrimaryDiskInitParameters struct { + + // Primary disk for asynchronous disk replication. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionDisk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Disk *string `json:"disk,omitempty" tf:"disk,omitempty"` + + // Reference to a RegionDisk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"` + + // Selector for a RegionDisk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"` } type RegionDiskAsyncPrimaryDiskObservation struct { @@ -164,6 +177,21 @@ type RegionDiskInitParameters struct { // or the size of the snapshot. Size *float64 `json:"size,omitempty" tf:"size,omitempty"` + // The source snapshot used to create this disk. You can provide this as + // a partial or full URL to the resource. For example, the following are + // valid values: + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Snapshot + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"` + + // Reference to a Snapshot in compute to populate snapshot. + // +kubebuilder:validation:Optional + SnapshotRef *v1.Reference `json:"snapshotRef,omitempty" tf:"-"` + + // Selector for a Snapshot in compute to populate snapshot. + // +kubebuilder:validation:Optional + SnapshotSelector *v1.Selector `json:"snapshotSelector,omitempty" tf:"-"` + // The source disk used to create this disk. You can provide this as a partial or full URL to the resource. // For example, the following are valid values: SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"` diff --git a/apis/compute/v1beta1/zz_regiondiskiammember_types.go b/apis/compute/v1beta1/zz_regiondiskiammember_types.go index 1cd436336..857e6c86c 100755 --- a/apis/compute/v1beta1/zz_regiondiskiammember_types.go +++ b/apis/compute/v1beta1/zz_regiondiskiammember_types.go @@ -62,6 +62,17 @@ type RegionDiskIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` + // +crossplane:generate:reference:type=RegionDisk + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a RegionDisk to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a RegionDisk to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + Project *string `json:"project,omitempty" tf:"project,omitempty"` Region *string `json:"region,omitempty" tf:"region,omitempty"` diff --git a/apis/compute/v1beta1/zz_regiondiskresourcepolicyattachment_types.go b/apis/compute/v1beta1/zz_regiondiskresourcepolicyattachment_types.go index f94ce4520..96423e0d4 100755 --- a/apis/compute/v1beta1/zz_regiondiskresourcepolicyattachment_types.go +++ b/apis/compute/v1beta1/zz_regiondiskresourcepolicyattachment_types.go @@ -31,6 +31,31 @@ import ( type RegionDiskResourcePolicyAttachmentInitParameters struct { + // The name of the regional disk in which the resource policies are attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionDisk + Disk *string `json:"disk,omitempty" tf:"disk,omitempty"` + + // Reference to a RegionDisk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"` + + // Selector for a RegionDisk in compute to populate disk. + // +kubebuilder:validation:Optional + DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"` + + // The resource policy to be attached to the disk for scheduling snapshot + // creation. Do not specify the self link. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ResourcePolicy + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a ResourcePolicy in compute to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a ResourcePolicy in compute to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_regioninstancegroupmanager_types.go b/apis/compute/v1beta1/zz_regioninstancegroupmanager_types.go index 022522e4e..904c7fa4c 100755 --- a/apis/compute/v1beta1/zz_regioninstancegroupmanager_types.go +++ b/apis/compute/v1beta1/zz_regioninstancegroupmanager_types.go @@ -31,6 +31,19 @@ import ( type RegionInstanceGroupManagerAutoHealingPoliciesInitParameters struct { + // The health check resource that signals autohealing. + // +crossplane:generate:reference:type=HealthCheck + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"` + + // Reference to a HealthCheck to populate healthCheck. + // +kubebuilder:validation:Optional + HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"` + + // Selector for a HealthCheck to populate healthCheck. + // +kubebuilder:validation:Optional + HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"` + // The number of seconds that the managed instance group waits before // it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600. InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"` @@ -124,6 +137,22 @@ type RegionInstanceGroupManagerInitParameters struct { // Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy. StatefulDisk []RegionInstanceGroupManagerStatefulDiskInitParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"` + // The full URL of all target pools to which new + // instances in the group are added. Updating the target pools attribute does + // not affect existing instances. + // +crossplane:generate:reference:type=TargetPool + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + // +listType=set + TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"` + + // References to TargetPool to populate targetPools. + // +kubebuilder:validation:Optional + TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"` + + // Selector for a list of TargetPool to populate targetPools. + // +kubebuilder:validation:Optional + TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"` + // The target number of running instances for this managed // instance group. This value should always be explicitly set unless this resource is attached to // an autoscaler, in which case it should never be set. Defaults to 0. @@ -558,6 +587,19 @@ type RegionInstanceGroupManagerUpdatePolicyParameters struct { type RegionInstanceGroupManagerVersionInitParameters struct { + // - The full URL to an instance template from which all new instances of this version will be created. + // +crossplane:generate:reference:type=InstanceTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"` + + // Reference to a InstanceTemplate to populate instanceTemplate. + // +kubebuilder:validation:Optional + InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"` + + // Selector for a InstanceTemplate to populate instanceTemplate. + // +kubebuilder:validation:Optional + InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"` + // - Version name. Name *string `json:"name,omitempty" tf:"name,omitempty"` diff --git a/apis/compute/v1beta1/zz_regionnetworkendpointgroup_types.go b/apis/compute/v1beta1/zz_regionnetworkendpointgroup_types.go index 680f72c81..b3ff7f9d2 100755 --- a/apis/compute/v1beta1/zz_regionnetworkendpointgroup_types.go +++ b/apis/compute/v1beta1/zz_regionnetworkendpointgroup_types.go @@ -100,6 +100,20 @@ type AppEngineParameters struct { type CloudFunctionInitParameters struct { + // A user-defined name of the Cloud Function. + // The function name is case-sensitive and must be 1-63 characters long. + // Example value: "func1". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudfunctions/v1beta1.Function + Function *string `json:"function,omitempty" tf:"function,omitempty"` + + // Reference to a Function in cloudfunctions to populate function. + // +kubebuilder:validation:Optional + FunctionRef *v1.Reference `json:"functionRef,omitempty" tf:"-"` + + // Selector for a Function in cloudfunctions to populate function. + // +kubebuilder:validation:Optional + FunctionSelector *v1.Selector `json:"functionSelector,omitempty" tf:"-"` + // A template to parse function field from a request URL. URL mask allows // for routing to multiple Cloud Functions without having to create // multiple Network Endpoint Groups and backend services. @@ -154,6 +168,20 @@ type CloudFunctionParameters struct { type CloudRunInitParameters struct { + // Cloud Run service is the main resource of Cloud Run. + // The service must be 1-63 characters long, and comply with RFC1035. + // Example value: "run-service". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudrun/v1beta1.Service + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a Service in cloudrun to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a Service in cloudrun to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // Cloud Run tag represents the "named-revision" to provide // additional fine-grained traffic routing information. // The tag must be 1-63 characters long, and comply with RFC1035. @@ -249,14 +277,57 @@ type RegionNetworkEndpointGroupInitParameters struct { // you create the resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // This field is only used for PSC. + // The URL of the network to which all network endpoints in the NEG belong. Uses + // "default" project network if unspecified. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + Network *string `json:"network,omitempty" tf:"network,omitempty"` + // Type of network endpoints in this network endpoint group. Defaults to SERVERLESS // Default value is SERVERLESS. // Possible values are: SERVERLESS, PRIVATE_SERVICE_CONNECT. NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"` + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The target service url used to set up private service connection to + // a Google API or a PSC Producer Service Attachment. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ServiceAttachment + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + PscTargetService *string `json:"pscTargetService,omitempty" tf:"psc_target_service,omitempty"` + + // Reference to a ServiceAttachment in compute to populate pscTargetService. + // +kubebuilder:validation:Optional + PscTargetServiceRef *v1.Reference `json:"pscTargetServiceRef,omitempty" tf:"-"` + + // Selector for a ServiceAttachment in compute to populate pscTargetService. + // +kubebuilder:validation:Optional + PscTargetServiceSelector *v1.Selector `json:"pscTargetServiceSelector,omitempty" tf:"-"` + + // This field is only used for PSC. + // Optional URL of the subnetwork to which all network endpoints in the NEG belong. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Subnetwork + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type RegionNetworkEndpointGroupObservation struct { diff --git a/apis/compute/v1beta1/zz_regionnetworkfirewallpolicyassociation_types.go b/apis/compute/v1beta1/zz_regionnetworkfirewallpolicyassociation_types.go index b3ad9c4d4..d7621b79b 100755 --- a/apis/compute/v1beta1/zz_regionnetworkfirewallpolicyassociation_types.go +++ b/apis/compute/v1beta1/zz_regionnetworkfirewallpolicyassociation_types.go @@ -31,6 +31,19 @@ import ( type RegionNetworkFirewallPolicyAssociationInitParameters struct { + // The target that the firewall policy is attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + AttachmentTarget *string `json:"attachmentTarget,omitempty" tf:"attachment_target,omitempty"` + + // Reference to a Network in compute to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetRef *v1.Reference `json:"attachmentTargetRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate attachmentTarget. + // +kubebuilder:validation:Optional + AttachmentTargetSelector *v1.Selector `json:"attachmentTargetSelector,omitempty" tf:"-"` + // The project for the resource Project *string `json:"project,omitempty" tf:"project,omitempty"` } diff --git a/apis/compute/v1beta1/zz_regionperinstanceconfig_types.go b/apis/compute/v1beta1/zz_regionperinstanceconfig_types.go index df806b7bc..0801739d8 100755 --- a/apis/compute/v1beta1/zz_regionperinstanceconfig_types.go +++ b/apis/compute/v1beta1/zz_regionperinstanceconfig_types.go @@ -50,6 +50,32 @@ type RegionPerInstanceConfigInitParameters struct { // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + // Region where the containing instance group manager is located + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionInstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false) + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The region instance group manager this instance config is part of. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionInstanceGroupManager + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + RegionInstanceGroupManager *string `json:"regionInstanceGroupManager,omitempty" tf:"region_instance_group_manager,omitempty"` + + // Reference to a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager. + // +kubebuilder:validation:Optional + RegionInstanceGroupManagerRef *v1.Reference `json:"regionInstanceGroupManagerRef,omitempty" tf:"-"` + + // Selector for a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager. + // +kubebuilder:validation:Optional + RegionInstanceGroupManagerSelector *v1.Selector `json:"regionInstanceGroupManagerSelector,omitempty" tf:"-"` + + // Reference to a RegionInstanceGroupManager in compute to populate region. + // +kubebuilder:validation:Optional + RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"` + + // Selector for a RegionInstanceGroupManager in compute to populate region. + // +kubebuilder:validation:Optional + RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"` + // When true, deleting this config will immediately remove any specified state from the underlying instance. // When false, deleting this config will not immediately remove any state from the underlying instance. // State will be removed on the next instance recreation or update. @@ -171,6 +197,20 @@ type RegionPerInstanceConfigPreservedStateDiskInitParameters struct { // Default value is READ_WRITE. // Possible values are: READ_ONLY, READ_WRITE. Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The URI of an existing persistent disk to attach under the specified device-name in the format + // projects/project-id/zones/zone/disks/disk-name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // Reference to a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate source. + // +kubebuilder:validation:Optional + SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"` } type RegionPerInstanceConfigPreservedStateDiskObservation struct { diff --git a/apis/compute/v1beta1/zz_regiontargethttpproxy_types.go b/apis/compute/v1beta1/zz_regiontargethttpproxy_types.go index a46b6c983..f5cfa5723 100755 --- a/apis/compute/v1beta1/zz_regiontargethttpproxy_types.go +++ b/apis/compute/v1beta1/zz_regiontargethttpproxy_types.go @@ -37,6 +37,20 @@ type RegionTargetHTTPProxyInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A reference to the RegionUrlMap resource that defines the mapping from URL + // to the BackendService. + // +crossplane:generate:reference:type=RegionURLMap + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // Reference to a RegionURLMap to populate urlMap. + // +kubebuilder:validation:Optional + URLMapRef *v1.Reference `json:"urlMapRef,omitempty" tf:"-"` + + // Selector for a RegionURLMap to populate urlMap. + // +kubebuilder:validation:Optional + URLMapSelector *v1.Selector `json:"urlMapSelector,omitempty" tf:"-"` } type RegionTargetHTTPProxyObservation struct { diff --git a/apis/compute/v1beta1/zz_regiontargethttpsproxy_types.go b/apis/compute/v1beta1/zz_regiontargethttpsproxy_types.go index e32af10c3..417b66f0b 100755 --- a/apis/compute/v1beta1/zz_regiontargethttpsproxy_types.go +++ b/apis/compute/v1beta1/zz_regiontargethttpsproxy_types.go @@ -37,6 +37,34 @@ type RegionTargetHTTPSProxyInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A list of RegionSslCertificate resources that are used to authenticate + // connections between users and the load balancer. Currently, exactly + // one SSL certificate must be specified. + // +crossplane:generate:reference:type=RegionSSLCertificate + SSLCertificates []*string `json:"sslCertificates,omitempty" tf:"ssl_certificates,omitempty"` + + // References to RegionSSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesRefs []v1.Reference `json:"sslCertificatesRefs,omitempty" tf:"-"` + + // Selector for a list of RegionSSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesSelector *v1.Selector `json:"sslCertificatesSelector,omitempty" tf:"-"` + + // A reference to the RegionUrlMap resource that defines the mapping from URL + // to the RegionBackendService. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionURLMap + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // Reference to a RegionURLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapRef *v1.Reference `json:"urlMapRef,omitempty" tf:"-"` + + // Selector for a RegionURLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapSelector *v1.Selector `json:"urlMapSelector,omitempty" tf:"-"` } type RegionTargetHTTPSProxyObservation struct { diff --git a/apis/compute/v1beta1/zz_regiontargettcpproxy_types.go b/apis/compute/v1beta1/zz_regiontargettcpproxy_types.go index 1ac537ed9..c7aab9e04 100755 --- a/apis/compute/v1beta1/zz_regiontargettcpproxy_types.go +++ b/apis/compute/v1beta1/zz_regiontargettcpproxy_types.go @@ -31,6 +31,19 @@ import ( type RegionTargetTCPProxyInitParameters struct { + // A reference to the BackendService resource. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // An optional description of this resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` diff --git a/apis/compute/v1beta1/zz_regionurlmap_types.go b/apis/compute/v1beta1/zz_regionurlmap_types.go index aa54afe37..57be7a19d 100755 --- a/apis/compute/v1beta1/zz_regionurlmap_types.go +++ b/apis/compute/v1beta1/zz_regionurlmap_types.go @@ -1399,6 +1399,21 @@ type PathMatcherDefaultURLRedirectParameters struct { type PathMatcherInitParameters struct { + // A reference to a RegionBackendService resource. This will be used if + // none of the pathRules defined by this PathMatcher is matched by + // the URL's path portion. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"` + // When none of the specified hostRules match, the request is redirected to a URL specified // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or // defaultRouteAction must not be set. @@ -1540,6 +1555,19 @@ type PathRuleInitParameters struct { // Structure is documented below. RouteAction []RouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + // A reference to expected RegionBackendService resource the given URL should be mapped to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // When this rule is matched, the request is redirected to a URL specified by // urlRedirect. If urlRedirect is specified, service or routeAction must not be // set. @@ -1766,6 +1794,25 @@ type RegionURLMapInitParameters struct { // Structure is documented below. DefaultRouteAction []DefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"` + // The full or partial URL of the defaultService resource to which traffic is directed if + // none of the hostRules match. If defaultRouteAction is additionally specified, advanced + // routing actions like URL Rewrites, etc. take effect prior to sending the request to the + // backend. However, if defaultService is specified, defaultRouteAction cannot contain any + // weightedBackendServices. Conversely, if routeAction specifies any + // weightedBackendServices, service must not be specified. Only one of defaultService, + // defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"` + // When none of the specified hostRules match, the request is redirected to a URL specified // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or // defaultRouteAction must not be set. @@ -1975,6 +2022,21 @@ type RequestHeadersToAddParameters struct { } type RequestMirrorPolicyInitParameters struct { + + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` } type RequestMirrorPolicyObservation struct { @@ -2520,6 +2582,21 @@ type RouteActionParameters struct { } type RouteActionRequestMirrorPolicyInitParameters struct { + + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` } type RouteActionRequestMirrorPolicyObservation struct { @@ -2774,6 +2851,21 @@ type RouteActionWeightedBackendServicesHeaderActionParameters struct { type RouteActionWeightedBackendServicesInitParameters struct { + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // Specifies changes to request and response headers that need to take effect for // the selected backendService. headerAction specified here take effect before // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. @@ -3036,6 +3128,19 @@ type RouteRulesInitParameters struct { // Structure is documented below. RouteAction []RouteRulesRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + // A reference to expected RegionBackendService resource the given URL should be mapped to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // When this rule is matched, the request is redirected to a URL specified by // urlRedirect. If urlRedirect is specified, service or routeAction must not be // set. @@ -3810,6 +3915,19 @@ type TestInitParameters struct { // Path portion of the URL. Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // A reference to expected RegionBackendService resource the given URL should be mapped to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type TestObservation struct { @@ -4211,6 +4329,21 @@ type WeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { type WeightedBackendServicesInitParameters struct { + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionBackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a RegionBackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // Specifies changes to request and response headers that need to take effect for // the selected backendService. headerAction specified here take effect before // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. diff --git a/apis/compute/v1beta1/zz_route_types.go b/apis/compute/v1beta1/zz_route_types.go index 9fc05302e..b900568e3 100755 --- a/apis/compute/v1beta1/zz_route_types.go +++ b/apis/compute/v1beta1/zz_route_types.go @@ -39,6 +39,18 @@ type RouteInitParameters struct { // Only IPv4 is supported. DestRange *string `json:"destRange,omitempty" tf:"dest_range,omitempty"` + // The network that this route applies to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // URL to a gateway that should handle matching packets. // Currently, you can only specify the internet gateway, using a full or // partial valid URL: @@ -47,6 +59,24 @@ type RouteInitParameters struct { // Network IP address of an instance that should handle matching packets. NextHopIP *string `json:"nextHopIp,omitempty" tf:"next_hop_ip,omitempty"` + // The IP address or URL to a forwarding rule of type + // loadBalancingScheme=INTERNAL that should handle matching + // packets. + // With the GA provider you can only specify the forwarding + // rule as a partial or full URL. For example, the following + // are all valid values: + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + NextHopIlb *string `json:"nextHopIlb,omitempty" tf:"next_hop_ilb,omitempty"` + + // Reference to a ForwardingRule in compute to populate nextHopIlb. + // +kubebuilder:validation:Optional + NextHopIlbRef *v1.Reference `json:"nextHopIlbRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate nextHopIlb. + // +kubebuilder:validation:Optional + NextHopIlbSelector *v1.Selector `json:"nextHopIlbSelector,omitempty" tf:"-"` + // URL to an instance that should handle matching packets. // You can specify this as a full or partial URL. For example: NextHopInstance *string `json:"nextHopInstance,omitempty" tf:"next_hop_instance,omitempty"` @@ -54,6 +84,18 @@ type RouteInitParameters struct { // . NextHopInstanceZone *string `json:"nextHopInstanceZone,omitempty" tf:"next_hop_instance_zone,omitempty"` + // URL to a VpnTunnel that should handle matching packets. + // +crossplane:generate:reference:type=VPNTunnel + NextHopVPNTunnel *string `json:"nextHopVpnTunnel,omitempty" tf:"next_hop_vpn_tunnel,omitempty"` + + // Reference to a VPNTunnel to populate nextHopVpnTunnel. + // +kubebuilder:validation:Optional + NextHopVPNTunnelRef *v1.Reference `json:"nextHopVpnTunnelRef,omitempty" tf:"-"` + + // Selector for a VPNTunnel to populate nextHopVpnTunnel. + // +kubebuilder:validation:Optional + NextHopVPNTunnelSelector *v1.Selector `json:"nextHopVpnTunnelSelector,omitempty" tf:"-"` + // The priority of this route. Priority is used to break ties in cases // where there is more than one matching route of equal prefix length. // In the case of two routes with equal prefix length, the one with the diff --git a/apis/compute/v1beta1/zz_router_types.go b/apis/compute/v1beta1/zz_router_types.go index e913903a6..73972ea12 100755 --- a/apis/compute/v1beta1/zz_router_types.go +++ b/apis/compute/v1beta1/zz_router_types.go @@ -202,6 +202,19 @@ type RouterInitParameters struct { // attachments (interconnectAttachments). EncryptedInterconnectRouter *bool `json:"encryptedInterconnectRouter,omitempty" tf:"encrypted_interconnect_router,omitempty"` + // A reference to the network to which this router belongs. + // +crossplane:generate:reference:type=Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_routerinterface_types.go b/apis/compute/v1beta1/zz_routerinterface_types.go index 42e43c3c6..90ebc96cd 100755 --- a/apis/compute/v1beta1/zz_routerinterface_types.go +++ b/apis/compute/v1beta1/zz_routerinterface_types.go @@ -60,9 +60,36 @@ type RouterInterfaceInitParameters struct { // If not specified, the project region will be used. Changing this forces a new interface to be created. Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The name of the router this interface will be attached to. + // Changing this forces a new interface to be created. + // +crossplane:generate:reference:type=Router + Router *string `json:"router,omitempty" tf:"router,omitempty"` + + // Reference to a Router to populate router. + // +kubebuilder:validation:Optional + RouterRef *v1.Reference `json:"routerRef,omitempty" tf:"-"` + + // Selector for a Router to populate router. + // +kubebuilder:validation:Optional + RouterSelector *v1.Selector `json:"routerSelector,omitempty" tf:"-"` + // The URI of the subnetwork resource that this interface // belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here. Changing this forces a new interface to be created. Only one of vpn_tunnel, interconnect_attachment or subnetwork can be specified. Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The name or resource link to the VPN tunnel this + // interface will be linked to. Changing this forces a new interface to be created. Only + // one of vpn_tunnel, interconnect_attachment or subnetwork can be specified. + // +crossplane:generate:reference:type=VPNTunnel + VPNTunnel *string `json:"vpnTunnel,omitempty" tf:"vpn_tunnel,omitempty"` + + // Reference to a VPNTunnel to populate vpnTunnel. + // +kubebuilder:validation:Optional + VPNTunnelRef *v1.Reference `json:"vpnTunnelRef,omitempty" tf:"-"` + + // Selector for a VPNTunnel to populate vpnTunnel. + // +kubebuilder:validation:Optional + VPNTunnelSelector *v1.Selector `json:"vpnTunnelSelector,omitempty" tf:"-"` } type RouterInterfaceObservation struct { diff --git a/apis/compute/v1beta1/zz_routernat_types.go b/apis/compute/v1beta1/zz_routernat_types.go index 0b61edf9f..683492ccd 100755 --- a/apis/compute/v1beta1/zz_routernat_types.go +++ b/apis/compute/v1beta1/zz_routernat_types.go @@ -487,6 +487,18 @@ type RulesParameters struct { type SubnetworkInitParameters struct { + // Self-link of subnetwork to NAT + // +crossplane:generate:reference:type=Subnetwork + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a Subnetwork to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + // List of the secondary ranges of the subnetwork that are allowed // to use NAT. This can be populated only if // LIST_OF_SECONDARY_IP_RANGES is one of the values in diff --git a/apis/compute/v1beta1/zz_routerpeer_types.go b/apis/compute/v1beta1/zz_routerpeer_types.go index fd18ec6e5..1458cf05d 100755 --- a/apis/compute/v1beta1/zz_routerpeer_types.go +++ b/apis/compute/v1beta1/zz_routerpeer_types.go @@ -203,10 +203,37 @@ type RouterPeerInitParameters struct { // assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you. IPv6NexthopAddress *string `json:"ipv6NexthopAddress,omitempty" tf:"ipv6_nexthop_address,omitempty"` + // Name of the interface the BGP peer is associated with. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RouterInterface + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + Interface *string `json:"interface,omitempty" tf:"interface,omitempty"` + + // Reference to a RouterInterface in compute to populate interface. + // +kubebuilder:validation:Optional + InterfaceRef *v1.Reference `json:"interfaceRef,omitempty" tf:"-"` + + // Selector for a RouterInterface in compute to populate interface. + // +kubebuilder:validation:Optional + InterfaceSelector *v1.Selector `json:"interfaceSelector,omitempty" tf:"-"` + // Peer BGP Autonomous System Number (ASN). // Each BGP interface may use a different value. PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"` + // IP address of the BGP interface outside Google Cloud Platform. + // Only IPv4 is supported. Required if ip_address is set. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("address",false) + PeerIPAddress *string `json:"peerIpAddress,omitempty" tf:"peer_ip_address,omitempty"` + + // Reference to a Address in compute to populate peerIpAddress. + // +kubebuilder:validation:Optional + PeerIPAddressRef *v1.Reference `json:"peerIpAddressRef,omitempty" tf:"-"` + + // Selector for a Address in compute to populate peerIpAddress. + // +kubebuilder:validation:Optional + PeerIPAddressSelector *v1.Selector `json:"peerIpAddressSelector,omitempty" tf:"-"` + // IPv6 address of the BGP interface outside Google Cloud Platform. // The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. // If you do not specify the next hop addresses, Google Cloud automatically @@ -216,6 +243,36 @@ type RouterPeerInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where the router and BgpPeer reside. + // If it is not provided, the provider region is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Router + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false) + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Reference to a Router in compute to populate region. + // +kubebuilder:validation:Optional + RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"` + + // Selector for a Router in compute to populate region. + // +kubebuilder:validation:Optional + RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"` + + // The URI of the VM instance that is used as third-party router appliances + // such as Next Gen Firewalls, Virtual Routers, or Router Appliances. + // The VM instance must be located in zones contained in the same region as + // this Cloud Router. The VM instance is the peer side of the BGP session. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + RouterApplianceInstance *string `json:"routerApplianceInstance,omitempty" tf:"router_appliance_instance,omitempty"` + + // Reference to a Instance in compute to populate routerApplianceInstance. + // +kubebuilder:validation:Optional + RouterApplianceInstanceRef *v1.Reference `json:"routerApplianceInstanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate routerApplianceInstance. + // +kubebuilder:validation:Optional + RouterApplianceInstanceSelector *v1.Selector `json:"routerApplianceInstanceSelector,omitempty" tf:"-"` } type RouterPeerObservation struct { diff --git a/apis/compute/v1beta1/zz_serviceattachment_types.go b/apis/compute/v1beta1/zz_serviceattachment_types.go index f89541d66..96c4420d5 100755 --- a/apis/compute/v1beta1/zz_serviceattachment_types.go +++ b/apis/compute/v1beta1/zz_serviceattachment_types.go @@ -108,6 +108,18 @@ type ServiceAttachmentInitParameters struct { // destination servers. EnableProxyProtocol *bool `json:"enableProxyProtocol,omitempty" tf:"enable_proxy_protocol,omitempty"` + // An array of subnets that is provided for NAT in this service attachment. + // +crossplane:generate:reference:type=Subnetwork + NATSubnets []*string `json:"natSubnets,omitempty" tf:"nat_subnets,omitempty"` + + // References to Subnetwork to populate natSubnets. + // +kubebuilder:validation:Optional + NATSubnetsRefs []v1.Reference `json:"natSubnetsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnetwork to populate natSubnets. + // +kubebuilder:validation:Optional + NATSubnetsSelector *v1.Selector `json:"natSubnetsSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` @@ -117,6 +129,20 @@ type ServiceAttachmentInitParameters struct { // If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. // For newly created service attachment, this boolean defaults to true. ReconcileConnections *bool `json:"reconcileConnections,omitempty" tf:"reconcile_connections,omitempty"` + + // The URL of a forwarding rule that represents the service identified by + // this service attachment. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TargetService *string `json:"targetService,omitempty" tf:"target_service,omitempty"` + + // Reference to a ForwardingRule in compute to populate targetService. + // +kubebuilder:validation:Optional + TargetServiceRef *v1.Reference `json:"targetServiceRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate targetService. + // +kubebuilder:validation:Optional + TargetServiceSelector *v1.Selector `json:"targetServiceSelector,omitempty" tf:"-"` } type ServiceAttachmentObservation struct { diff --git a/apis/compute/v1beta1/zz_sharedvpchostproject_types.go b/apis/compute/v1beta1/zz_sharedvpchostproject_types.go index faabe668e..a745219d5 100755 --- a/apis/compute/v1beta1/zz_sharedvpchostproject_types.go +++ b/apis/compute/v1beta1/zz_sharedvpchostproject_types.go @@ -30,6 +30,19 @@ import ( ) type SharedVPCHostProjectInitParameters struct { + + // The ID of the project that will serve as a Shared VPC host project + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractProjectID() + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` } type SharedVPCHostProjectObservation struct { diff --git a/apis/compute/v1beta1/zz_sharedvpcserviceproject_types.go b/apis/compute/v1beta1/zz_sharedvpcserviceproject_types.go index dbce57f66..fd2d11132 100755 --- a/apis/compute/v1beta1/zz_sharedvpcserviceproject_types.go +++ b/apis/compute/v1beta1/zz_sharedvpcserviceproject_types.go @@ -33,6 +33,32 @@ type SharedVPCServiceProjectInitParameters struct { // The deletion policy for the shared VPC service. Setting ABANDON allows the resource to be abandoned rather than deleted. Possible values are: "ABANDON". DeletionPolicy *string `json:"deletionPolicy,omitempty" tf:"deletion_policy,omitempty"` + + // The ID of a host project to associate. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractProjectID() + HostProject *string `json:"hostProject,omitempty" tf:"host_project,omitempty"` + + // Reference to a Project in cloudplatform to populate hostProject. + // +kubebuilder:validation:Optional + HostProjectRef *v1.Reference `json:"hostProjectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate hostProject. + // +kubebuilder:validation:Optional + HostProjectSelector *v1.Selector `json:"hostProjectSelector,omitempty" tf:"-"` + + // The ID of the project that will serve as a Shared VPC service project. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractProjectID() + ServiceProject *string `json:"serviceProject,omitempty" tf:"service_project,omitempty"` + + // Reference to a Project in cloudplatform to populate serviceProject. + // +kubebuilder:validation:Optional + ServiceProjectRef *v1.Reference `json:"serviceProjectRef,omitempty" tf:"-"` + + // Selector for a Project in cloudplatform to populate serviceProject. + // +kubebuilder:validation:Optional + ServiceProjectSelector *v1.Selector `json:"serviceProjectSelector,omitempty" tf:"-"` } type SharedVPCServiceProjectObservation struct { diff --git a/apis/compute/v1beta1/zz_snapshot_types.go b/apis/compute/v1beta1/zz_snapshot_types.go index 4f2392a2f..10b35947e 100755 --- a/apis/compute/v1beta1/zz_snapshot_types.go +++ b/apis/compute/v1beta1/zz_snapshot_types.go @@ -106,12 +106,25 @@ type SnapshotInitParameters struct { // Structure is documented below. SnapshotEncryptionKey []SnapshotEncryptionKeyInitParameters `json:"snapshotEncryptionKey,omitempty" tf:"snapshot_encryption_key,omitempty"` + // A reference to the disk used to create this snapshot. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Disk + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"` + // The customer-supplied encryption key of the source snapshot. Required // if the source snapshot is protected by a customer-supplied encryption // key. // Structure is documented below. SourceDiskEncryptionKey []SourceDiskEncryptionKeyInitParameters `json:"sourceDiskEncryptionKey,omitempty" tf:"source_disk_encryption_key,omitempty"` + // Reference to a Disk in compute to populate sourceDisk. + // +kubebuilder:validation:Optional + SourceDiskRef *v1.Reference `json:"sourceDiskRef,omitempty" tf:"-"` + + // Selector for a Disk in compute to populate sourceDisk. + // +kubebuilder:validation:Optional + SourceDiskSelector *v1.Selector `json:"sourceDiskSelector,omitempty" tf:"-"` + // Cloud Storage bucket storage location of the snapshot (regional or multi-regional). StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"` diff --git a/apis/compute/v1beta1/zz_subnetwork_types.go b/apis/compute/v1beta1/zz_subnetwork_types.go index ece7b8552..bb99e0cbc 100755 --- a/apis/compute/v1beta1/zz_subnetwork_types.go +++ b/apis/compute/v1beta1/zz_subnetwork_types.go @@ -101,6 +101,19 @@ type SubnetworkInitParameters_2 struct { // Structure is documented below. LogConfig []SubnetworkLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + // The network this subnet belongs to. + // Only networks that are in the distributed mode can have subnetworks. + // +crossplane:generate:reference:type=Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // When enabled, VMs in this subnetwork without external IP addresses can // access Google APIs and services by using Private Google Access. PrivateIPGoogleAccess *bool `json:"privateIpGoogleAccess,omitempty" tf:"private_ip_google_access,omitempty"` diff --git a/apis/compute/v1beta1/zz_subnetworkiammember_types.go b/apis/compute/v1beta1/zz_subnetworkiammember_types.go index 83585cbda..4a2ed184e 100755 --- a/apis/compute/v1beta1/zz_subnetworkiammember_types.go +++ b/apis/compute/v1beta1/zz_subnetworkiammember_types.go @@ -67,6 +67,17 @@ type SubnetworkIAMMemberInitParameters struct { Region *string `json:"region,omitempty" tf:"region,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Subnetwork + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type SubnetworkIAMMemberObservation struct { diff --git a/apis/compute/v1beta1/zz_targetgrpcproxy_types.go b/apis/compute/v1beta1/zz_targetgrpcproxy_types.go index 1d51339e2..cc871f684 100755 --- a/apis/compute/v1beta1/zz_targetgrpcproxy_types.go +++ b/apis/compute/v1beta1/zz_targetgrpcproxy_types.go @@ -38,6 +38,21 @@ type TargetGRPCProxyInitParameters struct { // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + // URL to the UrlMap resource that defines the mapping from URL to + // the BackendService. The protocol field in the BackendService + // must be set to GRPC. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.URLMap + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // Reference to a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapRef *v1.Reference `json:"urlMapRef,omitempty" tf:"-"` + + // Selector for a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapSelector *v1.Selector `json:"urlMapSelector,omitempty" tf:"-"` + // If true, indicates that the BackendServices referenced by // the urlMap may be accessed by gRPC applications without using // a sidecar proxy. This will enable configuration checks on urlMap diff --git a/apis/compute/v1beta1/zz_targethttpproxy_types.go b/apis/compute/v1beta1/zz_targethttpproxy_types.go index d5ec23f1a..fd83e2efb 100755 --- a/apis/compute/v1beta1/zz_targethttpproxy_types.go +++ b/apis/compute/v1beta1/zz_targethttpproxy_types.go @@ -49,6 +49,20 @@ type TargetHTTPProxyInitParameters struct { // This field only applies when the forwarding rule that references // this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. ProxyBind *bool `json:"proxyBind,omitempty" tf:"proxy_bind,omitempty"` + + // A reference to the UrlMap resource that defines the mapping from URL + // to the BackendService. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.URLMap + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // Reference to a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapRef *v1.Reference `json:"urlMapRef,omitempty" tf:"-"` + + // Selector for a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapSelector *v1.Selector `json:"urlMapSelector,omitempty" tf:"-"` } type TargetHTTPProxyObservation struct { diff --git a/apis/compute/v1beta1/zz_targethttpsproxy_types.go b/apis/compute/v1beta1/zz_targethttpsproxy_types.go index 9fcf8c444..14b4ecd08 100755 --- a/apis/compute/v1beta1/zz_targethttpsproxy_types.go +++ b/apis/compute/v1beta1/zz_targethttpsproxy_types.go @@ -63,10 +63,37 @@ type TargetHTTPSProxyInitParameters struct { // Possible values are: NONE, ENABLE, DISABLE. QuicOverride *string `json:"quicOverride,omitempty" tf:"quic_override,omitempty"` + // A list of SslCertificate resource URLs or Certificate Manager certificate URLs that are used to authenticate + // connections between users and the load balancer. At least one resource must be specified. + // +crossplane:generate:reference:type=SSLCertificate + SSLCertificates []*string `json:"sslCertificates,omitempty" tf:"ssl_certificates,omitempty"` + + // References to SSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesRefs []v1.Reference `json:"sslCertificatesRefs,omitempty" tf:"-"` + + // Selector for a list of SSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesSelector *v1.Selector `json:"sslCertificatesSelector,omitempty" tf:"-"` + // A reference to the SslPolicy resource that will be associated with // the TargetHttpsProxy resource. If not set, the TargetHttpsProxy // resource will not have any SSL policy configured. SSLPolicy *string `json:"sslPolicy,omitempty" tf:"ssl_policy,omitempty"` + + // A reference to the UrlMap resource that defines the mapping from URL + // to the BackendService. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.URLMap + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // Reference to a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapRef *v1.Reference `json:"urlMapRef,omitempty" tf:"-"` + + // Selector for a URLMap in compute to populate urlMap. + // +kubebuilder:validation:Optional + URLMapSelector *v1.Selector `json:"urlMapSelector,omitempty" tf:"-"` } type TargetHTTPSProxyObservation struct { diff --git a/apis/compute/v1beta1/zz_targetinstance_types.go b/apis/compute/v1beta1/zz_targetinstance_types.go index 665ff03e3..0c38d9135 100755 --- a/apis/compute/v1beta1/zz_targetinstance_types.go +++ b/apis/compute/v1beta1/zz_targetinstance_types.go @@ -34,6 +34,24 @@ type TargetInstanceInitParameters struct { // An optional description of this resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The Compute instance VM handling traffic for this target instance. + // Accepts the instance self-link, relative path + // (e.g. projects/project/zones/zone/instances/instance) or name. If + // name is given, the zone will default to the given zone or + // the provider-default zone and the project will default to the + // provider-level project. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + // NAT option controlling how IPs are NAT'ed to the instance. // Currently only NO_NAT (default value) is supported. // Default value is NO_NAT. diff --git a/apis/compute/v1beta1/zz_targetpool_types.go b/apis/compute/v1beta1/zz_targetpool_types.go index 5dda1a151..c9db7831b 100755 --- a/apis/compute/v1beta1/zz_targetpool_types.go +++ b/apis/compute/v1beta1/zz_targetpool_types.go @@ -42,6 +42,19 @@ type TargetPoolInitParameters struct { // backup pool (which must also be set). FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"` + // List of zero or one health check name or self_link. Only + // legacy google_compute_http_health_check is supported. + // +crossplane:generate:reference:type=HTTPHealthCheck + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // References to HTTPHealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"` + + // Selector for a list of HTTPHealthCheck to populate healthChecks. + // +kubebuilder:validation:Optional + HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"` + // List of instances in the pool. They can be given as // URLs, or in the form of "zone/name". // +listType=set diff --git a/apis/compute/v1beta1/zz_targetsslproxy_types.go b/apis/compute/v1beta1/zz_targetsslproxy_types.go index 39e4e95d1..f9f366690 100755 --- a/apis/compute/v1beta1/zz_targetsslproxy_types.go +++ b/apis/compute/v1beta1/zz_targetsslproxy_types.go @@ -31,6 +31,19 @@ import ( type TargetSSLProxyInitParameters struct { + // A reference to the BackendService resource. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // A reference to the CertificateMap resource uri that identifies a certificate map // associated with the given target proxy. This field can only be set for global target proxies. // Accepted format is //certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificateMaps/{resourceName}. @@ -49,6 +62,20 @@ type TargetSSLProxyInitParameters struct { // Possible values are: NONE, PROXY_V1. ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + // A list of SslCertificate resources that are used to authenticate + // connections between users and the load balancer. At least one + // SSL certificate must be specified. + // +crossplane:generate:reference:type=SSLCertificate + SSLCertificates []*string `json:"sslCertificates,omitempty" tf:"ssl_certificates,omitempty"` + + // References to SSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesRefs []v1.Reference `json:"sslCertificatesRefs,omitempty" tf:"-"` + + // Selector for a list of SSLCertificate to populate sslCertificates. + // +kubebuilder:validation:Optional + SSLCertificatesSelector *v1.Selector `json:"sslCertificatesSelector,omitempty" tf:"-"` + // A reference to the SslPolicy resource that will be associated with // the TargetSslProxy resource. If not set, the TargetSslProxy // resource will not have any SSL policy configured. diff --git a/apis/compute/v1beta1/zz_targettcpproxy_types.go b/apis/compute/v1beta1/zz_targettcpproxy_types.go index b60f881c4..eaea200c5 100755 --- a/apis/compute/v1beta1/zz_targettcpproxy_types.go +++ b/apis/compute/v1beta1/zz_targettcpproxy_types.go @@ -31,6 +31,19 @@ import ( type TargetTCPProxyInitParameters struct { + // A reference to the BackendService resource. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // An optional description of this resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` diff --git a/apis/compute/v1beta1/zz_urlmap_types.go b/apis/compute/v1beta1/zz_urlmap_types.go index c3b041f90..36c60d911 100755 --- a/apis/compute/v1beta1/zz_urlmap_types.go +++ b/apis/compute/v1beta1/zz_urlmap_types.go @@ -1988,6 +1988,19 @@ type PathMatcherPathRuleInitParameters struct { // Structure is documented below. RouteAction []PathRuleRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + // The backend service or backend bucket link that should be matched by this test. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendBucket + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a BackendBucket in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a BackendBucket in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // When this rule is matched, the request is redirected to a URL specified by // urlRedirect. If urlRedirect is specified, service or routeAction must not be // set. @@ -2255,6 +2268,19 @@ type PathMatcherRouteRulesInitParameters struct { // Structure is documented below. RouteAction []PathMatcherRouteRulesRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + // The backend service or backend bucket link that should be matched by this test. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a BackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // When this rule is matched, the request is redirected to a URL specified by // urlRedirect. If urlRedirect is specified, service or routeAction must not be // set. @@ -3447,6 +3473,21 @@ type PathRuleRouteActionParameters struct { } type PathRuleRouteActionRequestMirrorPolicyInitParameters struct { + + // The default BackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` } type PathRuleRouteActionRequestMirrorPolicyObservation struct { @@ -3701,6 +3742,21 @@ type PathRuleRouteActionWeightedBackendServicesHeaderActionParameters struct { type PathRuleRouteActionWeightedBackendServicesInitParameters struct { + // The default BackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Reference to a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate backendService. + // +kubebuilder:validation:Optional + BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"` + // Specifies changes to request and response headers that need to take effect for // the selected backendService. headerAction specified here take effect before // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. @@ -5036,6 +5092,19 @@ type URLMapInitParameters struct { // Structure is documented below. DefaultRouteAction []URLMapDefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"` + // The backend service or backend bucket to use when none of the given rules match. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendBucket + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // Reference to a BackendBucket in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"` + + // Selector for a BackendBucket in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"` + // When none of the specified hostRules match, the request is redirected to a URL specified // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or // defaultRouteAction must not be set. @@ -5335,6 +5404,19 @@ type URLMapPathMatcherInitParameters struct { // Structure is documented below. DefaultRouteAction []PathMatcherDefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"` + // The backend service or backend bucket to use when none of the given paths match. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendBucket + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // Reference to a BackendBucket in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"` + + // Selector for a BackendBucket in compute to populate defaultService. + // +kubebuilder:validation:Optional + DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"` + // When none of the specified hostRules match, the request is redirected to a URL specified // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or // defaultRouteAction must not be set. @@ -5503,6 +5585,19 @@ type URLMapTestInitParameters struct { // Path portion of the URL. Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // The backend service or backend bucket link that should be matched by this test. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendBucket + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a BackendBucket in compute to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a BackendBucket in compute to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type URLMapTestObservation struct { diff --git a/apis/compute/v1beta1/zz_vpngateway_types.go b/apis/compute/v1beta1/zz_vpngateway_types.go index ec6295560..a7fcb2b7f 100755 --- a/apis/compute/v1beta1/zz_vpngateway_types.go +++ b/apis/compute/v1beta1/zz_vpngateway_types.go @@ -34,6 +34,19 @@ type VPNGatewayInitParameters struct { // An optional description of this resource. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The network this VPN gateway is accepting traffic for. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/compute/v1beta1/zz_vpntunnel_types.go b/apis/compute/v1beta1/zz_vpntunnel_types.go index 490aaf15c..912e77504 100755 --- a/apis/compute/v1beta1/zz_vpntunnel_types.go +++ b/apis/compute/v1beta1/zz_vpntunnel_types.go @@ -46,9 +46,21 @@ type VPNTunnelInitParameters struct { // +listType=set LocalTrafficSelector []*string `json:"localTrafficSelector,omitempty" tf:"local_traffic_selector,omitempty"` + // URL of the peer side external VPN gateway to which this VPN tunnel is connected. + // +crossplane:generate:reference:type=ExternalVPNGateway + PeerExternalGateway *string `json:"peerExternalGateway,omitempty" tf:"peer_external_gateway,omitempty"` + // The interface ID of the external VPN gateway to which this VPN tunnel is connected. PeerExternalGatewayInterface *float64 `json:"peerExternalGatewayInterface,omitempty" tf:"peer_external_gateway_interface,omitempty"` + // Reference to a ExternalVPNGateway to populate peerExternalGateway. + // +kubebuilder:validation:Optional + PeerExternalGatewayRef *v1.Reference `json:"peerExternalGatewayRef,omitempty" tf:"-"` + + // Selector for a ExternalVPNGateway to populate peerExternalGateway. + // +kubebuilder:validation:Optional + PeerExternalGatewaySelector *v1.Selector `json:"peerExternalGatewaySelector,omitempty" tf:"-"` + // URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. // If provided, the VPN tunnel will automatically use the same vpn_gateway_interface // ID in the peer GCP VPN gateway. @@ -69,8 +81,48 @@ type VPNTunnelInitParameters struct { // +listType=set RemoteTrafficSelector []*string `json:"remoteTrafficSelector,omitempty" tf:"remote_traffic_selector,omitempty"` + // URL of router resource to be used for dynamic routing. + // +crossplane:generate:reference:type=Router + Router *string `json:"router,omitempty" tf:"router,omitempty"` + + // Reference to a Router to populate router. + // +kubebuilder:validation:Optional + RouterRef *v1.Reference `json:"routerRef,omitempty" tf:"-"` + + // Selector for a Router to populate router. + // +kubebuilder:validation:Optional + RouterSelector *v1.Selector `json:"routerSelector,omitempty" tf:"-"` + + // URL of the Target VPN gateway with which this VPN tunnel is + // associated. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.VPNGateway + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TargetVPNGateway *string `json:"targetVpnGateway,omitempty" tf:"target_vpn_gateway,omitempty"` + + // Reference to a VPNGateway in compute to populate targetVpnGateway. + // +kubebuilder:validation:Optional + TargetVPNGatewayRef *v1.Reference `json:"targetVpnGatewayRef,omitempty" tf:"-"` + + // Selector for a VPNGateway in compute to populate targetVpnGateway. + // +kubebuilder:validation:Optional + TargetVPNGatewaySelector *v1.Selector `json:"targetVpnGatewaySelector,omitempty" tf:"-"` + + // URL of the VPN gateway with which this VPN tunnel is associated. + // This must be used if a High Availability VPN gateway resource is created. + // This field must reference a google_compute_ha_vpn_gateway resource. + // +crossplane:generate:reference:type=HaVPNGateway + VPNGateway *string `json:"vpnGateway,omitempty" tf:"vpn_gateway,omitempty"` + // The interface ID of the VPN gateway with which this VPN tunnel is associated. VPNGatewayInterface *float64 `json:"vpnGatewayInterface,omitempty" tf:"vpn_gateway_interface,omitempty"` + + // Reference to a HaVPNGateway to populate vpnGateway. + // +kubebuilder:validation:Optional + VPNGatewayRef *v1.Reference `json:"vpnGatewayRef,omitempty" tf:"-"` + + // Selector for a HaVPNGateway to populate vpnGateway. + // +kubebuilder:validation:Optional + VPNGatewaySelector *v1.Selector `json:"vpnGatewaySelector,omitempty" tf:"-"` } type VPNTunnelObservation struct { diff --git a/apis/container/v1beta1/zz_cluster_types.go b/apis/container/v1beta1/zz_cluster_types.go index b711fd142..963d4e98c 100755 --- a/apis/container/v1beta1/zz_cluster_types.go +++ b/apis/container/v1beta1/zz_cluster_types.go @@ -800,11 +800,26 @@ type ClusterInitParameters struct { // Defaults to monitoring.googleapis.com/kubernetes MonitoringService *string `json:"monitoringService,omitempty" tf:"monitoring_service,omitempty"` + // The name or self_link of the Google Compute Engine + // network to which the cluster is connected. For Shared VPC, set this to the self link of the + // shared network. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + // Configuration options for the // NetworkPolicy // feature. Structure is documented below. NetworkPolicy []NetworkPolicyInitParameters `json:"networkPolicy,omitempty" tf:"network_policy,omitempty"` + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // Determines whether alias IPs or routes will be used for pod IPs in the cluster. // Options are VPC_NATIVE or ROUTES. VPC_NATIVE enables IP aliasing, // and requires the ip_allocation_policy block to be defined. By default, when this field is unspecified and no ip_allocation_policy blocks are set, GKE will create a ROUTES-based cluster. @@ -874,6 +889,20 @@ type ClusterInitParameters struct { // Structure is documented below. ServiceExternalIpsConfig []ServiceExternalIpsConfigInitParameters `json:"serviceExternalIpsConfig,omitempty" tf:"service_external_ips_config,omitempty"` + // The name or self_link of the Google Compute Engine + // subnetwork in which the cluster's instances are launched. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Subnetwork + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` + // Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. // Structure is documented below. VerticalPodAutoscaling []VerticalPodAutoscalingInitParameters `json:"verticalPodAutoscaling,omitempty" tf:"vertical_pod_autoscaling,omitempty"` @@ -2995,6 +3024,20 @@ type NodeConfigInitParameters struct { // +mapType=granular ResourceLabels map[string]*string `json:"resourceLabels,omitempty" tf:"resource_labels,omitempty"` + // The service account to be used by the Node VMs. + // If not specified, the "default" service account is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + // Shielded Instance options. Structure is documented below. ShieldedInstanceConfig []NodeConfigShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` diff --git a/apis/container/v1beta1/zz_generated.deepcopy.go b/apis/container/v1beta1/zz_generated.deepcopy.go index 28bf47325..656b4cb6d 100644 --- a/apis/container/v1beta1/zz_generated.deepcopy.go +++ b/apis/container/v1beta1/zz_generated.deepcopy.go @@ -1530,6 +1530,11 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { *out = new(string) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } if in.NetworkPolicy != nil { in, out := &in.NetworkPolicy, &out.NetworkPolicy *out = make([]NetworkPolicyInitParameters, len(*in)) @@ -1537,6 +1542,16 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NetworkingMode != nil { in, out := &in.NetworkingMode, &out.NetworkingMode *out = new(string) @@ -1645,6 +1660,21 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.VerticalPodAutoscaling != nil { in, out := &in.VerticalPodAutoscaling, &out.VerticalPodAutoscaling *out = make([]VerticalPodAutoscalingInitParameters, len(*in)) @@ -6603,6 +6633,21 @@ func (in *NodeConfigInitParameters) DeepCopyInto(out *NodeConfigInitParameters) (*out)[key] = outVal } } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ShieldedInstanceConfig != nil { in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig *out = make([]NodeConfigShieldedInstanceConfigInitParameters, len(*in)) @@ -9040,6 +9085,21 @@ func (in *NodePoolNodeConfigInitParameters_2) DeepCopyInto(out *NodePoolNodeConf (*out)[key] = outVal } } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ShieldedInstanceConfig != nil { in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig *out = make([]NodePoolNodeConfigShieldedInstanceConfigInitParameters_2, len(*in)) diff --git a/apis/container/v1beta1/zz_generated.resolvers.go b/apis/container/v1beta1/zz_generated.resolvers.go index faa09940a..6f8d7da6c 100644 --- a/apis/container/v1beta1/zz_generated.resolvers.go +++ b/apis/container/v1beta1/zz_generated.resolvers.go @@ -85,6 +85,56 @@ func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubnetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.NodeConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountRef, + Selector: mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount") + } + mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnetwork), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.SubnetworkRef, + Selector: mg.Spec.InitProvider.SubnetworkSelector, + To: reference.To{ + List: &v1beta1.SubnetworkList{}, + Managed: &v1beta1.Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnetwork") + } + mg.Spec.InitProvider.Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetworkRef = rsp.ResolvedReference + return nil } @@ -128,6 +178,24 @@ func (mg *NodePool) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.NodeConfig[i3].ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NodeConfig[i3].ServiceAccountRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NodeConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountRef, + Selector: mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountSelector, + To: reference.To{ + List: &v1beta11.ServiceAccountList{}, + Managed: &v1beta11.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount") + } + mg.Spec.InitProvider.NodeConfig[i3].ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NodeConfig[i3].ServiceAccountRef = rsp.ResolvedReference + } return nil diff --git a/apis/container/v1beta1/zz_nodepool_types.go b/apis/container/v1beta1/zz_nodepool_types.go index 7c1bfc540..ca964699a 100755 --- a/apis/container/v1beta1/zz_nodepool_types.go +++ b/apis/container/v1beta1/zz_nodepool_types.go @@ -520,6 +520,18 @@ type NodePoolNodeConfigInitParameters_2 struct { // +mapType=granular ResourceLabels map[string]*string `json:"resourceLabels,omitempty" tf:"resource_labels,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + ShieldedInstanceConfig []NodePoolNodeConfigShieldedInstanceConfigInitParameters_2 `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` SoleTenantConfig []NodePoolNodeConfigSoleTenantConfigInitParameters `json:"soleTenantConfig,omitempty" tf:"sole_tenant_config,omitempty"` diff --git a/apis/datacatalog/v1beta1/zz_entry_types.go b/apis/datacatalog/v1beta1/zz_entry_types.go index 10bc8b04e..aa31b23af 100755 --- a/apis/datacatalog/v1beta1/zz_entry_types.go +++ b/apis/datacatalog/v1beta1/zz_entry_types.go @@ -84,6 +84,19 @@ type EntryInitParameters struct { // for example, "Analytics Data - Jan 2011". DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // The name of the entry group this entry is in. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datacatalog/v1beta1.EntryGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + 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 id of the entry to create. EntryID *string `json:"entryId,omitempty" tf:"entry_id,omitempty"` diff --git a/apis/datacatalog/v1beta1/zz_generated.deepcopy.go b/apis/datacatalog/v1beta1/zz_generated.deepcopy.go index 2312dbe7a..2480284b7 100644 --- a/apis/datacatalog/v1beta1/zz_generated.deepcopy.go +++ b/apis/datacatalog/v1beta1/zz_generated.deepcopy.go @@ -473,6 +473,21 @@ func (in *EntryInitParameters) DeepCopyInto(out *EntryInitParameters) { *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) @@ -1205,6 +1220,36 @@ func (in *TagInitParameters) DeepCopyInto(out *TagInitParameters) { (*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 TagInitParameters. diff --git a/apis/datacatalog/v1beta1/zz_generated.resolvers.go b/apis/datacatalog/v1beta1/zz_generated.resolvers.go index 79da0e78c..19946a535 100644 --- a/apis/datacatalog/v1beta1/zz_generated.resolvers.go +++ b/apis/datacatalog/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *Entry) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.EntryGroup = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.EntryGroupRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EntryGroup), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EntryGroupRef, + Selector: mg.Spec.InitProvider.EntryGroupSelector, + To: reference.To{ + List: &EntryGroupList{}, + Managed: &EntryGroup{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EntryGroup") + } + mg.Spec.InitProvider.EntryGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EntryGroupRef = rsp.ResolvedReference + return nil } @@ -90,5 +106,37 @@ func (mg *Tag) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Template = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TemplateRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &EntryList{}, + Managed: &Entry{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Template), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TemplateRef, + Selector: mg.Spec.InitProvider.TemplateSelector, + To: reference.To{ + List: &TagTemplateList{}, + Managed: &TagTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Template") + } + mg.Spec.InitProvider.Template = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TemplateRef = rsp.ResolvedReference + return nil } diff --git a/apis/datacatalog/v1beta1/zz_tag_types.go b/apis/datacatalog/v1beta1/zz_tag_types.go index 350d551d9..296cc2a19 100755 --- a/apis/datacatalog/v1beta1/zz_tag_types.go +++ b/apis/datacatalog/v1beta1/zz_tag_types.go @@ -120,6 +120,35 @@ type TagInitParameters struct { // 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. Fields []FieldsInitParameters `json:"fields,omitempty" 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/crossplane/upjet/pkg/resource.ExtractResourceID() + 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/crossplane/upjet/pkg/resource.ExtractResourceID() + 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:"-"` } type TagObservation struct { diff --git a/apis/datafusion/v1beta1/zz_generated.deepcopy.go b/apis/datafusion/v1beta1/zz_generated.deepcopy.go index 7942ff21a..8bd771411 100644 --- a/apis/datafusion/v1beta1/zz_generated.deepcopy.go +++ b/apis/datafusion/v1beta1/zz_generated.deepcopy.go @@ -103,6 +103,21 @@ func (in *AcceleratorsParameters) DeepCopy() *AcceleratorsParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CryptoKeyConfigInitParameters) DeepCopyInto(out *CryptoKeyConfigInitParameters) { *out = *in + if in.KeyReference != nil { + in, out := &in.KeyReference, &out.KeyReference + *out = new(string) + **out = **in + } + if in.KeyReferenceRef != nil { + in, out := &in.KeyReferenceRef, &out.KeyReferenceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KeyReferenceSelector != nil { + in, out := &in.KeyReferenceSelector, &out.KeyReferenceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyConfigInitParameters. @@ -173,6 +188,21 @@ func (in *EventPublishConfigInitParameters) DeepCopyInto(out *EventPublishConfig *out = new(bool) **out = **in } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventPublishConfigInitParameters. @@ -285,7 +315,9 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { if in.CryptoKeyConfig != nil { in, out := &in.CryptoKeyConfig, &out.CryptoKeyConfig *out = make([]CryptoKeyConfigInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.DataprocServiceAccount != nil { in, out := &in.DataprocServiceAccount, &out.DataprocServiceAccount diff --git a/apis/datafusion/v1beta1/zz_generated.resolvers.go b/apis/datafusion/v1beta1/zz_generated.resolvers.go index 903688bb7..84dd10255 100644 --- a/apis/datafusion/v1beta1/zz_generated.resolvers.go +++ b/apis/datafusion/v1beta1/zz_generated.resolvers.go @@ -69,6 +69,42 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.EventPublishConfig[i3].Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.EventPublishConfig[i3].TopicRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.CryptoKeyConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReference), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReferenceRef, + Selector: mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReferenceSelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReference") + } + mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReference = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CryptoKeyConfig[i3].KeyReferenceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EventPublishConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EventPublishConfig[i3].Topic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EventPublishConfig[i3].TopicRef, + Selector: mg.Spec.InitProvider.EventPublishConfig[i3].TopicSelector, + To: reference.To{ + List: &v1beta11.TopicList{}, + Managed: &v1beta11.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EventPublishConfig[i3].Topic") + } + mg.Spec.InitProvider.EventPublishConfig[i3].Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EventPublishConfig[i3].TopicRef = rsp.ResolvedReference + } return nil diff --git a/apis/datafusion/v1beta1/zz_instance_types.go b/apis/datafusion/v1beta1/zz_instance_types.go index 98ed03e68..0508235bb 100755 --- a/apis/datafusion/v1beta1/zz_instance_types.go +++ b/apis/datafusion/v1beta1/zz_instance_types.go @@ -65,6 +65,19 @@ type AcceleratorsParameters struct { } type CryptoKeyConfigInitParameters struct { + + // The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KeyReference *string `json:"keyReference,omitempty" tf:"key_reference,omitempty"` + + // Reference to a CryptoKey in kms to populate keyReference. + // +kubebuilder:validation:Optional + KeyReferenceRef *v1.Reference `json:"keyReferenceRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate keyReference. + // +kubebuilder:validation:Optional + KeyReferenceSelector *v1.Selector `json:"keyReferenceSelector,omitempty" tf:"-"` } type CryptoKeyConfigObservation struct { @@ -94,6 +107,19 @@ type EventPublishConfigInitParameters struct { // Option to enable Event Publishing. Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type EventPublishConfigObservation struct { diff --git a/apis/datalossprevention/v1beta1/zz_generated.deepcopy.go b/apis/datalossprevention/v1beta1/zz_generated.deepcopy.go index e315fa33d..8a6d93b0d 100644 --- a/apis/datalossprevention/v1beta1/zz_generated.deepcopy.go +++ b/apis/datalossprevention/v1beta1/zz_generated.deepcopy.go @@ -26863,11 +26863,41 @@ func (in *SurrogateTypeParameters) DeepCopy() *SurrogateTypeParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TableInitParameters) DeepCopyInto(out *TableInitParameters) { *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) **out = **in } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TableIDRef != nil { + in, out := &in.TableIDRef, &out.TableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TableIDSelector != nil { + in, out := &in.TableIDSelector, &out.TableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableInitParameters. diff --git a/apis/datalossprevention/v1beta1/zz_generated.resolvers.go b/apis/datalossprevention/v1beta1/zz_generated.resolvers.go index 0a143bd78..c3358cd3f 100644 --- a/apis/datalossprevention/v1beta1/zz_generated.resolvers.go +++ b/apis/datalossprevention/v1beta1/zz_generated.resolvers.go @@ -84,6 +84,58 @@ func (mg *JobTrigger) ResolveReferences(ctx context.Context, c client.Reader) er } } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.InspectJob); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.InspectJob[i3].Actions); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig); i6++ { + for i7 := 0; i7 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table); i7++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetIDRef, + Selector: mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetIDSelector, + To: reference.To{ + List: &v1beta1.DatasetList{}, + Managed: &v1beta1.Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetID") + } + mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].DatasetIDRef = rsp.ResolvedReference + + } + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.InspectJob); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.InspectJob[i3].Actions); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig); i6++ { + for i7 := 0; i7 < len(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table); i7++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableIDRef, + Selector: mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableIDSelector, + To: reference.To{ + List: &v1beta1.TableList{}, + Managed: &v1beta1.Table{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableID") + } + mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InspectJob[i3].Actions[i4].Deidentify[i5].TransformationDetailsStorageConfig[i6].Table[i7].TableIDRef = rsp.ResolvedReference + + } + } + } + } + } return nil } diff --git a/apis/datalossprevention/v1beta1/zz_jobtrigger_types.go b/apis/datalossprevention/v1beta1/zz_jobtrigger_types.go index 9b0c2b3ad..ec6e4ed2b 100755 --- a/apis/datalossprevention/v1beta1/zz_jobtrigger_types.go +++ b/apis/datalossprevention/v1beta1/zz_jobtrigger_types.go @@ -2663,8 +2663,34 @@ type StorageConfigParameters struct { type TableInitParameters struct { + // The ID of the dataset containing this table. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in bigquery to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + // The ID of the project containing this table. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The ID of the table. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 1,024 characters. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/bigquery/v1beta1.Table + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` + + // Reference to a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDRef *v1.Reference `json:"tableIdRef,omitempty" tf:"-"` + + // Selector for a Table in bigquery to populate tableId. + // +kubebuilder:validation:Optional + TableIDSelector *v1.Selector `json:"tableIdSelector,omitempty" tf:"-"` } type TableObservation struct { diff --git a/apis/dataproc/v1beta1/zz_cluster_types.go b/apis/dataproc/v1beta1/zz_cluster_types.go index 0d31799cf..ef7016049 100755 --- a/apis/dataproc/v1beta1/zz_cluster_types.go +++ b/apis/dataproc/v1beta1/zz_cluster_types.go @@ -843,6 +843,16 @@ type GceClusterConfigInitParameters struct { // Reservation Affinity for consuming zonal reservation. ReservationAffinity []ReservationAffinityInitParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"` + // The service account to be used by the Node VMs. + // If not specified, the "default" service account is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + // The set of Google API scopes // to be made available on all of the node VMs under the service_account // specified. Both OAuth2 URLs and gcloud @@ -851,6 +861,10 @@ type GceClusterConfigInitParameters struct { // +listType=set ServiceAccountScopes []*string `json:"serviceAccountScopes,omitempty" tf:"service_account_scopes,omitempty"` + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + // Shielded Instance Config for clusters using Compute Engine Shielded VMs. ShieldedInstanceConfig []ShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` diff --git a/apis/dataproc/v1beta1/zz_generated.deepcopy.go b/apis/dataproc/v1beta1/zz_generated.deepcopy.go index 0a85e936b..f1726fdde 100644 --- a/apis/dataproc/v1beta1/zz_generated.deepcopy.go +++ b/apis/dataproc/v1beta1/zz_generated.deepcopy.go @@ -3266,6 +3266,21 @@ func (in *ConfigWorkerConfigParameters) DeepCopy() *ConfigWorkerConfigParameters // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConsumersInitParameters) DeepCopyInto(out *ConsumersInitParameters) { *out = *in + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumersInitParameters. @@ -3668,6 +3683,16 @@ func (in *GceClusterConfigInitParameters) DeepCopyInto(out *GceClusterConfigInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } if in.ServiceAccountScopes != nil { in, out := &in.ServiceAccountScopes, &out.ServiceAccountScopes *out = make([]*string, len(*in)) @@ -3679,6 +3704,11 @@ func (in *GceClusterConfigInitParameters) DeepCopyInto(out *GceClusterConfigInit } } } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ShieldedInstanceConfig != nil { in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig *out = make([]ShieldedInstanceConfigInitParameters, len(*in)) @@ -5823,7 +5853,9 @@ func (in *JobInitParameters) DeepCopyInto(out *JobInitParameters) { if in.Placement != nil { in, out := &in.Placement, &out.Placement *out = make([]PlacementInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.PrestoConfig != nil { in, out := &in.PrestoConfig, &out.PrestoConfig @@ -5851,6 +5883,21 @@ func (in *JobInitParameters) DeepCopyInto(out *JobInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RegionRef != nil { + in, out := &in.RegionRef, &out.RegionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RegionSelector != nil { + in, out := &in.RegionSelector, &out.RegionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Scheduling != nil { in, out := &in.Scheduling, &out.Scheduling *out = make([]SchedulingInitParameters, len(*in)) @@ -8344,6 +8391,21 @@ func (in *MetastoreService) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MetastoreServiceEncryptionConfigInitParameters) DeepCopyInto(out *MetastoreServiceEncryptionConfigInitParameters) { *out = *in + if in.KMSKey != nil { + in, out := &in.KMSKey, &out.KMSKey + *out = new(string) + **out = **in + } + if in.KMSKeyRef != nil { + in, out := &in.KMSKeyRef, &out.KMSKeyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeySelector != nil { + in, out := &in.KMSKeySelector, &out.KMSKeySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetastoreServiceEncryptionConfigInitParameters. @@ -8417,7 +8479,9 @@ func (in *MetastoreServiceInitParameters) DeepCopyInto(out *MetastoreServiceInit if in.EncryptionConfig != nil { in, out := &in.EncryptionConfig, &out.EncryptionConfig *out = make([]MetastoreServiceEncryptionConfigInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.HiveMetastoreConfig != nil { in, out := &in.HiveMetastoreConfig, &out.HiveMetastoreConfig @@ -8903,7 +8967,9 @@ func (in *NetworkConfigInitParameters) DeepCopyInto(out *NetworkConfigInitParame if in.Consumers != nil { in, out := &in.Consumers, &out.Consumers *out = make([]ConsumersInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -10155,6 +10221,21 @@ func (in *PigJobQueryListParameters) DeepCopy() *PigJobQueryListParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlacementInitParameters) DeepCopyInto(out *PlacementInitParameters) { *out = *in + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.ClusterNameRef != nil { + in, out := &in.ClusterNameRef, &out.ClusterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ClusterNameSelector != nil { + in, out := &in.ClusterNameSelector, &out.ClusterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementInitParameters. diff --git a/apis/dataproc/v1beta1/zz_generated.resolvers.go b/apis/dataproc/v1beta1/zz_generated.resolvers.go index b87505c55..33f9280c6 100644 --- a/apis/dataproc/v1beta1/zz_generated.resolvers.go +++ b/apis/dataproc/v1beta1/zz_generated.resolvers.go @@ -55,6 +55,26 @@ func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ClusterConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccount), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccountRef, + Selector: mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccountSelector, + To: reference.To{ + List: &v1beta1.ServiceAccountList{}, + Managed: &v1beta1.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccount") + } + mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ClusterConfig[i3].GceClusterConfig[i4].ServiceAccountRef = rsp.ResolvedReference + + } + } return nil } @@ -100,6 +120,40 @@ func (mg *Job) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Region = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RegionRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.Placement); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Placement[i3].ClusterName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.Placement[i3].ClusterNameRef, + Selector: mg.Spec.InitProvider.Placement[i3].ClusterNameSelector, + To: reference.To{ + List: &ClusterList{}, + Managed: &Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Placement[i3].ClusterName") + } + mg.Spec.InitProvider.Placement[i3].ClusterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Placement[i3].ClusterNameRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Region), + Extract: resource.ExtractParamPath("region", false), + Reference: mg.Spec.InitProvider.RegionRef, + Selector: mg.Spec.InitProvider.RegionSelector, + To: reference.To{ + List: &ClusterList{}, + Managed: &Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Region") + } + mg.Spec.InitProvider.Region = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RegionRef = rsp.ResolvedReference + return nil } @@ -148,6 +202,44 @@ func (mg *MetastoreService) ResolveReferences(ctx context.Context, c client.Read } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EncryptionConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EncryptionConfig[i3].KMSKey), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EncryptionConfig[i3].KMSKeyRef, + Selector: mg.Spec.InitProvider.EncryptionConfig[i3].KMSKeySelector, + To: reference.To{ + List: &v1beta11.CryptoKeyList{}, + Managed: &v1beta11.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EncryptionConfig[i3].KMSKey") + } + mg.Spec.InitProvider.EncryptionConfig[i3].KMSKey = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EncryptionConfig[i3].KMSKeyRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.NetworkConfig[i3].Consumers); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].Subnetwork), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].SubnetworkRef, + Selector: mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].SubnetworkSelector, + To: reference.To{ + List: &v1beta12.SubnetworkList{}, + Managed: &v1beta12.Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].Subnetwork") + } + mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkConfig[i3].Consumers[i4].SubnetworkRef = rsp.ResolvedReference + + } + } return nil } diff --git a/apis/dataproc/v1beta1/zz_job_types.go b/apis/dataproc/v1beta1/zz_job_types.go index 1551b218b..7b858858a 100755 --- a/apis/dataproc/v1beta1/zz_job_types.go +++ b/apis/dataproc/v1beta1/zz_job_types.go @@ -228,6 +228,20 @@ type JobInitParameters struct { Reference []ReferenceInitParameters `json:"reference,omitempty" tf:"reference,omitempty"` + // The Cloud Dataproc region. This essentially determines which clusters are available + // for this job to be submitted to. If not specified, defaults to global. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dataproc/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false) + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Reference to a Cluster in dataproc to populate region. + // +kubebuilder:validation:Optional + RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"` + + // Selector for a Cluster in dataproc to populate region. + // +kubebuilder:validation:Optional + RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"` + Scheduling []SchedulingInitParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"` SparkConfig []SparkConfigInitParameters `json:"sparkConfig,omitempty" tf:"spark_config,omitempty"` @@ -482,6 +496,20 @@ type PigConfigParameters struct { } type PlacementInitParameters struct { + + // The name of the cluster where the job + // will be submitted. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dataproc/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` + + // Reference to a Cluster in dataproc to populate clusterName. + // +kubebuilder:validation:Optional + ClusterNameRef *v1.Reference `json:"clusterNameRef,omitempty" tf:"-"` + + // Selector for a Cluster in dataproc to populate clusterName. + // +kubebuilder:validation:Optional + ClusterNameSelector *v1.Selector `json:"clusterNameSelector,omitempty" tf:"-"` } type PlacementObservation struct { diff --git a/apis/dataproc/v1beta1/zz_metastoreservice_types.go b/apis/dataproc/v1beta1/zz_metastoreservice_types.go index ffe35e6f7..c7b710cae 100755 --- a/apis/dataproc/v1beta1/zz_metastoreservice_types.go +++ b/apis/dataproc/v1beta1/zz_metastoreservice_types.go @@ -30,6 +30,22 @@ import ( ) type ConsumersInitParameters struct { + + // The subnetwork of the customer project from which an IP address is reserved and used as the Dataproc Metastore service's endpoint. + // It is accessible to hosts in the subnet and to all hosts in a subnet in the same region and same network. + // There must be at least one IP address available in the subnet's primary range. The subnet is specified in the following form: + // `projects/{projectNumber}/regions/{region_id}/subnetworks/{subnetwork_id} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Subnetwork + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Reference to a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // Selector for a Subnetwork in compute to populate subnetwork. + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` } type ConsumersObservation struct { @@ -210,6 +226,20 @@ type MaintenanceWindowParameters struct { } type MetastoreServiceEncryptionConfigInitParameters struct { + + // The fully qualified customer provided Cloud KMS key name to use for customer data encryption. + // Use the following format: projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+) + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKey *string `json:"kmsKey,omitempty" tf:"kms_key,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKey. + // +kubebuilder:validation:Optional + KMSKeyRef *v1.Reference `json:"kmsKeyRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKey. + // +kubebuilder:validation:Optional + KMSKeySelector *v1.Selector `json:"kmsKeySelector,omitempty" tf:"-"` } type MetastoreServiceEncryptionConfigObservation struct { diff --git a/apis/datastream/v1beta1/zz_connectionprofile_types.go b/apis/datastream/v1beta1/zz_connectionprofile_types.go index 2117077f7..98c15f706 100755 --- a/apis/datastream/v1beta1/zz_connectionprofile_types.go +++ b/apis/datastream/v1beta1/zz_connectionprofile_types.go @@ -388,8 +388,45 @@ type OracleProfileParameters struct { type PostgresqlProfileInitParameters struct { + // Database for the PostgreSQL connection. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.Database + Database *string `json:"database,omitempty" tf:"database,omitempty"` + + // Reference to a Database in sql to populate database. + // +kubebuilder:validation:Optional + DatabaseRef *v1.Reference `json:"databaseRef,omitempty" tf:"-"` + + // Selector for a Database in sql to populate database. + // +kubebuilder:validation:Optional + DatabaseSelector *v1.Selector `json:"databaseSelector,omitempty" tf:"-"` + + // Hostname for the PostgreSQL connection. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.DatabaseInstance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("public_ip_address",true) + Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + + // Reference to a DatabaseInstance in sql to populate hostname. + // +kubebuilder:validation:Optional + HostnameRef *v1.Reference `json:"hostnameRef,omitempty" tf:"-"` + + // Selector for a DatabaseInstance in sql to populate hostname. + // +kubebuilder:validation:Optional + HostnameSelector *v1.Selector `json:"hostnameSelector,omitempty" tf:"-"` + // Port for the PostgreSQL connection. Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Username for the PostgreSQL connection. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/sql/v1beta1.User + Username *string `json:"username,omitempty" tf:"username,omitempty"` + + // Reference to a User in sql to populate username. + // +kubebuilder:validation:Optional + UsernameRef *v1.Reference `json:"usernameRef,omitempty" tf:"-"` + + // Selector for a User in sql to populate username. + // +kubebuilder:validation:Optional + UsernameSelector *v1.Selector `json:"usernameSelector,omitempty" tf:"-"` } type PostgresqlProfileObservation struct { @@ -460,6 +497,19 @@ type PostgresqlProfileParameters struct { } type PrivateConnectivityInitParameters struct { + + // A reference to a private connection resource. Format: projects/{project}/locations/{location}/privateConnections/{name} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/datastream/v1beta1.PrivateConnection + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PrivateConnection *string `json:"privateConnection,omitempty" tf:"private_connection,omitempty"` + + // Reference to a PrivateConnection in datastream to populate privateConnection. + // +kubebuilder:validation:Optional + PrivateConnectionRef *v1.Reference `json:"privateConnectionRef,omitempty" tf:"-"` + + // Selector for a PrivateConnection in datastream to populate privateConnection. + // +kubebuilder:validation:Optional + PrivateConnectionSelector *v1.Selector `json:"privateConnectionSelector,omitempty" tf:"-"` } type PrivateConnectivityObservation struct { diff --git a/apis/datastream/v1beta1/zz_generated.deepcopy.go b/apis/datastream/v1beta1/zz_generated.deepcopy.go index ce8a3adac..efd66618f 100644 --- a/apis/datastream/v1beta1/zz_generated.deepcopy.go +++ b/apis/datastream/v1beta1/zz_generated.deepcopy.go @@ -164,7 +164,9 @@ func (in *ConnectionProfileInitParameters) DeepCopyInto(out *ConnectionProfileIn if in.PrivateConnectivity != nil { in, out := &in.PrivateConnectivity, &out.PrivateConnectivity *out = make([]PrivateConnectivityInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Project != nil { in, out := &in.Project, &out.Project @@ -954,11 +956,56 @@ func (in *OracleProfileParameters) DeepCopy() *OracleProfileParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PostgresqlProfileInitParameters) DeepCopyInto(out *PostgresqlProfileInitParameters) { *out = *in + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.DatabaseRef != nil { + in, out := &in.DatabaseRef, &out.DatabaseRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatabaseSelector != nil { + in, out := &in.DatabaseSelector, &out.DatabaseSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(string) + **out = **in + } + if in.HostnameRef != nil { + in, out := &in.HostnameRef, &out.HostnameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HostnameSelector != nil { + in, out := &in.HostnameSelector, &out.HostnameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Port != nil { in, out := &in.Port, &out.Port *out = new(float64) **out = **in } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } + if in.UsernameRef != nil { + in, out := &in.UsernameRef, &out.UsernameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.UsernameSelector != nil { + in, out := &in.UsernameSelector, &out.UsernameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlProfileInitParameters. @@ -1345,6 +1392,21 @@ func (in *PrivateConnectionStatus) DeepCopy() *PrivateConnectionStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PrivateConnectivityInitParameters) DeepCopyInto(out *PrivateConnectivityInitParameters) { *out = *in + if in.PrivateConnection != nil { + in, out := &in.PrivateConnection, &out.PrivateConnection + *out = new(string) + **out = **in + } + if in.PrivateConnectionRef != nil { + in, out := &in.PrivateConnectionRef, &out.PrivateConnectionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PrivateConnectionSelector != nil { + in, out := &in.PrivateConnectionSelector, &out.PrivateConnectionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateConnectivityInitParameters. @@ -1490,6 +1552,21 @@ func (in *VPCPeeringConfigInitParameters) DeepCopyInto(out *VPCPeeringConfigInit *out = new(string) **out = **in } + if in.VPC != nil { + in, out := &in.VPC, &out.VPC + *out = new(string) + **out = **in + } + if in.VPCRef != nil { + in, out := &in.VPCRef, &out.VPCRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCSelector != nil { + in, out := &in.VPCSelector, &out.VPCSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConfigInitParameters. diff --git a/apis/datastream/v1beta1/zz_generated.resolvers.go b/apis/datastream/v1beta1/zz_generated.resolvers.go index e81f6d192..46217c20c 100644 --- a/apis/datastream/v1beta1/zz_generated.resolvers.go +++ b/apis/datastream/v1beta1/zz_generated.resolvers.go @@ -105,6 +105,78 @@ func (mg *ConnectionProfile) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.PrivateConnectivity[i3].PrivateConnection = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PrivateConnectivity[i3].PrivateConnectionRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PostgresqlProfile); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PostgresqlProfile[i3].Database), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.PostgresqlProfile[i3].DatabaseRef, + Selector: mg.Spec.InitProvider.PostgresqlProfile[i3].DatabaseSelector, + To: reference.To{ + List: &v1beta1.DatabaseList{}, + Managed: &v1beta1.Database{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PostgresqlProfile[i3].Database") + } + mg.Spec.InitProvider.PostgresqlProfile[i3].Database = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PostgresqlProfile[i3].DatabaseRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PostgresqlProfile); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PostgresqlProfile[i3].Hostname), + Extract: resource.ExtractParamPath("public_ip_address", true), + Reference: mg.Spec.InitProvider.PostgresqlProfile[i3].HostnameRef, + Selector: mg.Spec.InitProvider.PostgresqlProfile[i3].HostnameSelector, + To: reference.To{ + List: &v1beta1.DatabaseInstanceList{}, + Managed: &v1beta1.DatabaseInstance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PostgresqlProfile[i3].Hostname") + } + mg.Spec.InitProvider.PostgresqlProfile[i3].Hostname = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PostgresqlProfile[i3].HostnameRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PostgresqlProfile); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PostgresqlProfile[i3].Username), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.PostgresqlProfile[i3].UsernameRef, + Selector: mg.Spec.InitProvider.PostgresqlProfile[i3].UsernameSelector, + To: reference.To{ + List: &v1beta1.UserList{}, + Managed: &v1beta1.User{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PostgresqlProfile[i3].Username") + } + mg.Spec.InitProvider.PostgresqlProfile[i3].Username = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PostgresqlProfile[i3].UsernameRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PrivateConnectivity); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnection), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnectionRef, + Selector: mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnectionSelector, + To: reference.To{ + List: &PrivateConnectionList{}, + Managed: &PrivateConnection{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnection") + } + mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnection = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PrivateConnectivity[i3].PrivateConnectionRef = rsp.ResolvedReference + } return nil @@ -134,6 +206,24 @@ func (mg *PrivateConnection) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.VPCPeeringConfig[i3].VPC = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPCPeeringConfig[i3].VPCRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.VPCPeeringConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPCPeeringConfig[i3].VPC), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.VPCPeeringConfig[i3].VPCRef, + Selector: mg.Spec.InitProvider.VPCPeeringConfig[i3].VPCSelector, + To: reference.To{ + List: &v1beta11.NetworkList{}, + Managed: &v1beta11.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCPeeringConfig[i3].VPC") + } + mg.Spec.InitProvider.VPCPeeringConfig[i3].VPC = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPCPeeringConfig[i3].VPCRef = rsp.ResolvedReference + } return nil diff --git a/apis/datastream/v1beta1/zz_privateconnection_types.go b/apis/datastream/v1beta1/zz_privateconnection_types.go index c1dab1607..1d85c452d 100755 --- a/apis/datastream/v1beta1/zz_privateconnection_types.go +++ b/apis/datastream/v1beta1/zz_privateconnection_types.go @@ -130,6 +130,20 @@ type VPCPeeringConfigInitParameters struct { // A free subnet for peering. (CIDR of /29) Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"` + + // Fully qualified name of the VPC that Datastream will peer to. + // Format: projects/{project}/global/{networks}/{name} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + VPC *string `json:"vpc,omitempty" tf:"vpc,omitempty"` + + // Reference to a Network in compute to populate vpc. + // +kubebuilder:validation:Optional + VPCRef *v1.Reference `json:"vpcRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate vpc. + // +kubebuilder:validation:Optional + VPCSelector *v1.Selector `json:"vpcSelector,omitempty" tf:"-"` } type VPCPeeringConfigObservation struct { diff --git a/apis/dialogflowcx/v1beta1/zz_entitytype_types.go b/apis/dialogflowcx/v1beta1/zz_entitytype_types.go index d8ff2f9cf..b15bdc80e 100755 --- a/apis/dialogflowcx/v1beta1/zz_entitytype_types.go +++ b/apis/dialogflowcx/v1beta1/zz_entitytype_types.go @@ -97,6 +97,20 @@ type EntityTypeInitParameters struct { // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + // The agent to create a entity type for. + // Format: projects//locations//agents/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging. Redact *bool `json:"redact,omitempty" tf:"redact,omitempty"` } diff --git a/apis/dialogflowcx/v1beta1/zz_environment_types.go b/apis/dialogflowcx/v1beta1/zz_environment_types.go index 930583060..a4c56253a 100755 --- a/apis/dialogflowcx/v1beta1/zz_environment_types.go +++ b/apis/dialogflowcx/v1beta1/zz_environment_types.go @@ -37,6 +37,20 @@ type EnvironmentInitParameters struct { // The human-readable name of the environment (unique in an agent). Limit of 64 characters. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // The Agent to create an Environment for. + // Format: projects//locations//agents/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. // Structure is documented below. VersionConfigs []VersionConfigsInitParameters `json:"versionConfigs,omitempty" tf:"version_configs,omitempty"` @@ -100,6 +114,19 @@ type EnvironmentParameters struct { } type VersionConfigsInitParameters struct { + + // Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Version + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Version *string `json:"version,omitempty" tf:"version,omitempty"` + + // Reference to a Version in dialogflowcx to populate version. + // +kubebuilder:validation:Optional + VersionRef *v1.Reference `json:"versionRef,omitempty" tf:"-"` + + // Selector for a Version in dialogflowcx to populate version. + // +kubebuilder:validation:Optional + VersionSelector *v1.Selector `json:"versionSelector,omitempty" tf:"-"` } type VersionConfigsObservation struct { diff --git a/apis/dialogflowcx/v1beta1/zz_flow_types.go b/apis/dialogflowcx/v1beta1/zz_flow_types.go index e33628054..b828e148a 100755 --- a/apis/dialogflowcx/v1beta1/zz_flow_types.go +++ b/apis/dialogflowcx/v1beta1/zz_flow_types.go @@ -118,6 +118,20 @@ type FlowInitParameters struct { // Structure is documented below. NluSettings []NluSettingsInitParameters `json:"nluSettings,omitempty" tf:"nlu_settings,omitempty"` + // The agent to create a flow for. + // Format: projects//locations//agents/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // A flow's transition route group serve two purposes: // They are responsible for matching the user's first utterances in the flow. // They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. diff --git a/apis/dialogflowcx/v1beta1/zz_generated.deepcopy.go b/apis/dialogflowcx/v1beta1/zz_generated.deepcopy.go index 37edaa41a..ef4ab6d6c 100644 --- a/apis/dialogflowcx/v1beta1/zz_generated.deepcopy.go +++ b/apis/dialogflowcx/v1beta1/zz_generated.deepcopy.go @@ -545,6 +545,21 @@ func (in *EntityTypeInitParameters) DeepCopyInto(out *EntityTypeInitParameters) *out = new(string) **out = **in } + 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.Redact != nil { in, out := &in.Redact, &out.Redact *out = new(bool) @@ -1077,10 +1092,27 @@ func (in *EnvironmentInitParameters) DeepCopyInto(out *EnvironmentInitParameters *out = new(string) **out = **in } + 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.VersionConfigs != nil { in, out := &in.VersionConfigs, &out.VersionConfigs *out = make([]VersionConfigsInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -1738,6 +1770,21 @@ func (in *FlowInitParameters) DeepCopyInto(out *FlowInitParameters) { (*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.TransitionRouteGroups != nil { in, out := &in.TransitionRouteGroups, &out.TransitionRouteGroups *out = make([]*string, len(*in)) @@ -2670,6 +2717,21 @@ func (in *IntentInitParameters) DeepCopyInto(out *IntentInitParameters) { (*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.Priority != nil { in, out := &in.Priority, &out.Priority *out = new(float64) @@ -3347,6 +3409,21 @@ func (in *PageInitParameters) DeepCopyInto(out *PageInitParameters) { *out = new(string) **out = **in } + 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.TransitionRouteGroups != nil { in, out := &in.TransitionRouteGroups, &out.TransitionRouteGroups *out = make([]*string, len(*in)) @@ -3620,6 +3697,21 @@ func (in *PageTransitionRoutesInitParameters) DeepCopyInto(out *PageTransitionRo *out = new(string) **out = **in } + if in.TargetPage != nil { + in, out := &in.TargetPage, &out.TargetPage + *out = new(string) + **out = **in + } + if in.TargetPageRef != nil { + in, out := &in.TargetPageRef, &out.TargetPageRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TargetPageSelector != nil { + in, out := &in.TargetPageSelector, &out.TargetPageSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.TriggerFulfillment != nil { in, out := &in.TriggerFulfillment, &out.TriggerFulfillment *out = make([]PageTransitionRoutesTriggerFulfillmentInitParameters, len(*in)) @@ -5161,6 +5253,21 @@ func (in *Version) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VersionConfigsInitParameters) DeepCopyInto(out *VersionConfigsInitParameters) { *out = *in + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } + if in.VersionRef != nil { + in, out := &in.VersionRef, &out.VersionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VersionSelector != nil { + in, out := &in.VersionSelector, &out.VersionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionConfigsInitParameters. @@ -5236,6 +5343,21 @@ func (in *VersionInitParameters) DeepCopyInto(out *VersionInitParameters) { *out = new(string) **out = **in } + 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) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInitParameters. @@ -5529,6 +5651,21 @@ func (in *WebhookInitParameters) DeepCopyInto(out *WebhookInitParameters) { (*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.SecuritySettings != nil { in, out := &in.SecuritySettings, &out.SecuritySettings *out = new(string) diff --git a/apis/dialogflowcx/v1beta1/zz_generated.resolvers.go b/apis/dialogflowcx/v1beta1/zz_generated.resolvers.go index 9cade7076..caa9d2661 100644 --- a/apis/dialogflowcx/v1beta1/zz_generated.resolvers.go +++ b/apis/dialogflowcx/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *EntityType) ResolveReferences(ctx context.Context, c client.Reader) er 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.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } @@ -91,6 +107,40 @@ func (mg *Environment) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.VersionConfigs[i3].Version = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VersionConfigs[i3].VersionRef = rsp.ResolvedReference + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.VersionConfigs); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VersionConfigs[i3].Version), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.VersionConfigs[i3].VersionRef, + Selector: mg.Spec.InitProvider.VersionConfigs[i3].VersionSelector, + To: reference.To{ + List: &VersionList{}, + Managed: &Version{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VersionConfigs[i3].Version") + } + mg.Spec.InitProvider.VersionConfigs[i3].Version = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VersionConfigs[i3].VersionRef = rsp.ResolvedReference + } return nil @@ -119,6 +169,22 @@ func (mg *Flow) ResolveReferences(ctx context.Context, c client.Reader) error { 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.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } @@ -145,6 +211,22 @@ func (mg *Intent) ResolveReferences(ctx context.Context, c client.Reader) error 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.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } @@ -188,6 +270,40 @@ func (mg *Page) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.TransitionRoutes[i3].TargetPage = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TransitionRoutes[i3].TargetPageRef = rsp.ResolvedReference + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Parent), + Extract: resource.ExtractParamPath("start_flow", true), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.TransitionRoutes); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TransitionRoutes[i3].TargetPage), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TransitionRoutes[i3].TargetPageRef, + Selector: mg.Spec.InitProvider.TransitionRoutes[i3].TargetPageSelector, + To: reference.To{ + List: &PageList{}, + Managed: &Page{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TransitionRoutes[i3].TargetPage") + } + mg.Spec.InitProvider.TransitionRoutes[i3].TargetPage = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TransitionRoutes[i3].TargetPageRef = rsp.ResolvedReference + } return nil @@ -216,6 +332,22 @@ func (mg *Version) ResolveReferences(ctx context.Context, c client.Reader) error 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.InitProvider.Parent), + Extract: resource.ExtractParamPath("start_flow", true), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } @@ -242,5 +374,21 @@ func (mg *Webhook) ResolveReferences(ctx context.Context, c client.Reader) error 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.InitProvider.Parent), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ParentRef, + Selector: mg.Spec.InitProvider.ParentSelector, + To: reference.To{ + List: &AgentList{}, + Managed: &Agent{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Parent") + } + mg.Spec.InitProvider.Parent = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentRef = rsp.ResolvedReference + return nil } diff --git a/apis/dialogflowcx/v1beta1/zz_intent_types.go b/apis/dialogflowcx/v1beta1/zz_intent_types.go index 984ab19e6..056c9945a 100755 --- a/apis/dialogflowcx/v1beta1/zz_intent_types.go +++ b/apis/dialogflowcx/v1beta1/zz_intent_types.go @@ -56,6 +56,20 @@ type IntentInitParameters struct { // Structure is documented below. Parameters []ParametersInitParameters `json:"parameters,omitempty" tf:"parameters,omitempty"` + // The agent to create an intent for. + // Format: projects//locations//agents/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // The priority of this intent. Higher numbers represent higher priorities. // If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console. // If the supplied value is negative, the intent is ignored in runtime detect intent requests. diff --git a/apis/dialogflowcx/v1beta1/zz_page_types.go b/apis/dialogflowcx/v1beta1/zz_page_types.go index ce094e3da..5c58354c7 100755 --- a/apis/dialogflowcx/v1beta1/zz_page_types.go +++ b/apis/dialogflowcx/v1beta1/zz_page_types.go @@ -506,6 +506,20 @@ type PageInitParameters struct { // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + // The flow to create a page for. + // Format: projects//locations//agents//flows/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("start_flow",true) + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. // If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes. // If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. @@ -669,6 +683,20 @@ type PageTransitionRoutesInitParameters struct { // Format: projects//locations//agents//flows/. TargetFlow *string `json:"targetFlow,omitempty" tf:"target_flow,omitempty"` + // The target page to transition to. + // Format: projects//locations//agents//flows//pages/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Page + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + TargetPage *string `json:"targetPage,omitempty" tf:"target_page,omitempty"` + + // Reference to a Page in dialogflowcx to populate targetPage. + // +kubebuilder:validation:Optional + TargetPageRef *v1.Reference `json:"targetPageRef,omitempty" tf:"-"` + + // Selector for a Page in dialogflowcx to populate targetPage. + // +kubebuilder:validation:Optional + TargetPageSelector *v1.Selector `json:"targetPageSelector,omitempty" tf:"-"` + // The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. // Structure is documented below. TriggerFulfillment []PageTransitionRoutesTriggerFulfillmentInitParameters `json:"triggerFulfillment,omitempty" tf:"trigger_fulfillment,omitempty"` diff --git a/apis/dialogflowcx/v1beta1/zz_version_types.go b/apis/dialogflowcx/v1beta1/zz_version_types.go index 27c3427b4..31911350e 100755 --- a/apis/dialogflowcx/v1beta1/zz_version_types.go +++ b/apis/dialogflowcx/v1beta1/zz_version_types.go @@ -36,6 +36,20 @@ type VersionInitParameters struct { // The human-readable name of the version. Limit of 64 characters. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The Flow to create an Version for. + // Format: projects//locations//agents//flows/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("start_flow",true) + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` } type VersionNluSettingsInitParameters struct { diff --git a/apis/dialogflowcx/v1beta1/zz_webhook_types.go b/apis/dialogflowcx/v1beta1/zz_webhook_types.go index 5a6132807..bbb4a4b24 100755 --- a/apis/dialogflowcx/v1beta1/zz_webhook_types.go +++ b/apis/dialogflowcx/v1beta1/zz_webhook_types.go @@ -163,6 +163,20 @@ type WebhookInitParameters struct { // Structure is documented below. GenericWebService []GenericWebServiceInitParameters `json:"genericWebService,omitempty" tf:"generic_web_service,omitempty"` + // The agent to create a webhook for. + // Format: projects//locations//agents/. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dialogflowcx/v1beta1.Agent + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Reference to a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentRef *v1.Reference `json:"parentRef,omitempty" tf:"-"` + + // Selector for a Agent in dialogflowcx to populate parent. + // +kubebuilder:validation:Optional + ParentSelector *v1.Selector `json:"parentSelector,omitempty" tf:"-"` + // Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/. SecuritySettings *string `json:"securitySettings,omitempty" tf:"security_settings,omitempty"` diff --git a/apis/dns/v1beta1/zz_generated.deepcopy.go b/apis/dns/v1beta1/zz_generated.deepcopy.go index 5951f9712..c70c15740 100644 --- a/apis/dns/v1beta1/zz_generated.deepcopy.go +++ b/apis/dns/v1beta1/zz_generated.deepcopy.go @@ -895,6 +895,21 @@ func (in *GeoParameters) DeepCopy() *GeoParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GkeClustersInitParameters) DeepCopyInto(out *GkeClustersInitParameters) { *out = *in + if in.GkeClusterName != nil { + in, out := &in.GkeClusterName, &out.GkeClusterName + *out = new(string) + **out = **in + } + if in.GkeClusterNameRef != nil { + in, out := &in.GkeClusterNameRef, &out.GkeClusterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GkeClusterNameSelector != nil { + in, out := &in.GkeClusterNameSelector, &out.GkeClusterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClustersInitParameters. @@ -1949,6 +1964,21 @@ func (in *ManagedZoneStatus) DeepCopy() *ManagedZoneStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworksInitParameters) DeepCopyInto(out *NetworksInitParameters) { *out = *in + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } + if in.NetworkURLRef != nil { + in, out := &in.NetworkURLRef, &out.NetworkURLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkURLSelector != nil { + in, out := &in.NetworkURLSelector, &out.NetworkURLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksInitParameters. @@ -2017,7 +2047,9 @@ func (in *PeeringConfigInitParameters) DeepCopyInto(out *PeeringConfigInitParame if in.TargetNetwork != nil { in, out := &in.TargetNetwork, &out.TargetNetwork *out = make([]TargetNetworkInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -2130,7 +2162,9 @@ func (in *PolicyInitParameters) DeepCopyInto(out *PolicyInitParameters) { if in.Networks != nil { in, out := &in.Networks, &out.Networks *out = make([]PolicyNetworksInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Project != nil { in, out := &in.Project, &out.Project @@ -2184,6 +2218,21 @@ func (in *PolicyList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PolicyNetworksInitParameters) DeepCopyInto(out *PolicyNetworksInitParameters) { *out = *in + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyNetworksInitParameters. @@ -2526,6 +2575,21 @@ func (in *PrimaryInitParameters) DeepCopy() *PrimaryInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PrimaryInternalLoadBalancersInitParameters) DeepCopyInto(out *PrimaryInternalLoadBalancersInitParameters) { *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.IPAddressRef != nil { + in, out := &in.IPAddressRef, &out.IPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IPAddressSelector != nil { + in, out := &in.IPAddressSelector, &out.IPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IPProtocol != nil { in, out := &in.IPProtocol, &out.IPProtocol *out = new(string) @@ -2536,11 +2600,56 @@ func (in *PrimaryInternalLoadBalancersInitParameters) DeepCopyInto(out *PrimaryI *out = new(string) **out = **in } + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } + if in.NetworkURLRef != nil { + in, out := &in.NetworkURLRef, &out.NetworkURLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkURLSelector != nil { + in, out := &in.NetworkURLSelector, &out.NetworkURLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Port != nil { in, out := &in.Port, &out.Port *out = new(string) **out = **in } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectRef != nil { + in, out := &in.ProjectRef, &out.ProjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectSelector != nil { + in, out := &in.ProjectSelector, &out.ProjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RegionRef != nil { + in, out := &in.RegionRef, &out.RegionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RegionSelector != nil { + in, out := &in.RegionSelector, &out.RegionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrimaryInternalLoadBalancersInitParameters. @@ -2743,12 +2852,16 @@ func (in *PrivateVisibilityConfigInitParameters) DeepCopyInto(out *PrivateVisibi if in.GkeClusters != nil { in, out := &in.GkeClusters, &out.GkeClusters *out = make([]GkeClustersInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Networks != nil { in, out := &in.Networks, &out.Networks *out = make([]NetworksInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -2850,6 +2963,21 @@ func (in *RecordSet) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RecordSetInitParameters) DeepCopyInto(out *RecordSetInitParameters) { *out = *in + if in.ManagedZone != nil { + in, out := &in.ManagedZone, &out.ManagedZone + *out = new(string) + **out = **in + } + if in.ManagedZoneRef != nil { + in, out := &in.ManagedZoneRef, &out.ManagedZoneRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ManagedZoneSelector != nil { + in, out := &in.ManagedZoneSelector, &out.ManagedZoneSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -3299,6 +3427,21 @@ func (in *TargetNameServersParameters) DeepCopy() *TargetNameServersParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TargetNetworkInitParameters) DeepCopyInto(out *TargetNetworkInitParameters) { *out = *in + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } + if in.NetworkURLRef != nil { + in, out := &in.NetworkURLRef, &out.NetworkURLRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkURLSelector != nil { + in, out := &in.NetworkURLSelector, &out.NetworkURLSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetNetworkInitParameters. diff --git a/apis/dns/v1beta1/zz_generated.resolvers.go b/apis/dns/v1beta1/zz_generated.resolvers.go index fcd0bf814..9e1208382 100644 --- a/apis/dns/v1beta1/zz_generated.resolvers.go +++ b/apis/dns/v1beta1/zz_generated.resolvers.go @@ -95,6 +95,66 @@ func (mg *ManagedZone) ResolveReferences(ctx context.Context, c client.Reader) e } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PeeringConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURL), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURLRef, + Selector: mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURLSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURL") + } + mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PeeringConfig[i3].TargetNetwork[i4].NetworkURLRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PrivateVisibilityConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterNameRef, + Selector: mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterNameSelector, + To: reference.To{ + List: &v1beta11.ClusterList{}, + Managed: &v1beta11.Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterName") + } + mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PrivateVisibilityConfig[i3].GkeClusters[i4].GkeClusterNameRef = rsp.ResolvedReference + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PrivateVisibilityConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURL), + Extract: common.SelfLinkExtractor(), + Reference: mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURLRef, + Selector: mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURLSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURL") + } + mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PrivateVisibilityConfig[i3].Networks[i4].NetworkURLRef = rsp.ResolvedReference + + } + } return nil } @@ -123,6 +183,24 @@ func (mg *Policy) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Networks[i3].NetworkURL = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Networks[i3].NetworkRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Networks); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Networks[i3].NetworkURL), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Networks[i3].NetworkRef, + Selector: mg.Spec.InitProvider.Networks[i3].NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Networks[i3].NetworkURL") + } + mg.Spec.InitProvider.Networks[i3].NetworkURL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Networks[i3].NetworkRef = rsp.ResolvedReference + } return nil @@ -247,6 +325,118 @@ func (mg *RecordSet) ResolveReferences(ctx context.Context, c client.Reader) err } } } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ManagedZone), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ManagedZoneRef, + Selector: mg.Spec.InitProvider.ManagedZoneSelector, + To: reference.To{ + List: &ManagedZoneList{}, + Managed: &ManagedZone{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ManagedZone") + } + mg.Spec.InitProvider.ManagedZone = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ManagedZoneRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.RoutingPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddress), + Extract: resource.ExtractParamPath("ip_address", false), + Reference: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddressRef, + Selector: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddressSelector, + To: reference.To{ + List: &v1beta1.ForwardingRuleList{}, + Managed: &v1beta1.ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddress") + } + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].IPAddressRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.RoutingPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURL), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURLRef, + Selector: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURLSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURL") + } + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURL = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].NetworkURLRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.RoutingPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Project), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].ProjectRef, + Selector: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].ProjectSelector, + To: reference.To{ + List: &v1beta1.ForwardingRuleList{}, + Managed: &v1beta1.ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Project") + } + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Project = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].ProjectRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.RoutingPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Region), + Extract: resource.ExtractParamPath("region", false), + Reference: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].RegionRef, + Selector: mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].RegionSelector, + To: reference.To{ + List: &v1beta1.ForwardingRuleList{}, + Managed: &v1beta1.ForwardingRule{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Region") + } + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].Region = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RoutingPolicy[i3].PrimaryBackup[i4].Primary[i5].InternalLoadBalancers[i6].RegionRef = rsp.ResolvedReference + + } + } + } + } return nil } diff --git a/apis/dns/v1beta1/zz_managedzone_types.go b/apis/dns/v1beta1/zz_managedzone_types.go index 4d525826f..67c435cc2 100755 --- a/apis/dns/v1beta1/zz_managedzone_types.go +++ b/apis/dns/v1beta1/zz_managedzone_types.go @@ -217,6 +217,21 @@ type ForwardingConfigParameters struct { } type GkeClustersInitParameters struct { + + // The resource name of the cluster to bind this ManagedZone to. + // This should be specified in the format like + // projects/*/locations/*/clusters/* + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/container/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + GkeClusterName *string `json:"gkeClusterName,omitempty" tf:"gke_cluster_name,omitempty"` + + // Reference to a Cluster in container to populate gkeClusterName. + // +kubebuilder:validation:Optional + GkeClusterNameRef *v1.Reference `json:"gkeClusterNameRef,omitempty" tf:"-"` + + // Selector for a Cluster in container to populate gkeClusterName. + // +kubebuilder:validation:Optional + GkeClusterNameSelector *v1.Selector `json:"gkeClusterNameSelector,omitempty" tf:"-"` } type GkeClustersObservation struct { @@ -422,6 +437,21 @@ type ManagedZoneParameters struct { } type NetworksInitParameters struct { + + // The id or fully qualified URL of the VPC network to forward queries to. + // This should be formatted like projects/{project}/global/networks/{network} or + // https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + NetworkURL *string `json:"networkUrl,omitempty" tf:"network_url,omitempty"` + + // Reference to a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLRef *v1.Reference `json:"networkUrlRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLSelector *v1.Selector `json:"networkUrlSelector,omitempty" tf:"-"` } type NetworksObservation struct { @@ -553,6 +583,21 @@ type TargetNameServersParameters struct { } type TargetNetworkInitParameters struct { + + // The id or fully qualified URL of the VPC network to forward queries to. + // This should be formatted like projects/{project}/global/networks/{network} or + // https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor() + NetworkURL *string `json:"networkUrl,omitempty" tf:"network_url,omitempty"` + + // Reference to a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLRef *v1.Reference `json:"networkUrlRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLSelector *v1.Selector `json:"networkUrlSelector,omitempty" tf:"-"` } type TargetNetworkObservation struct { diff --git a/apis/dns/v1beta1/zz_policy_types.go b/apis/dns/v1beta1/zz_policy_types.go index ab9911f9f..a9615e134 100755 --- a/apis/dns/v1beta1/zz_policy_types.go +++ b/apis/dns/v1beta1/zz_policy_types.go @@ -126,6 +126,23 @@ type PolicyInitParameters struct { } type PolicyNetworksInitParameters struct { + + // Reference to a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + + // The id or fully qualified URL of the VPC network to forward queries to. + // This should be formatted like projects/{project}/global/networks/{network} or + // https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + // +crossplane:generate:reference:refFieldName=NetworkRef + // +crossplane:generate:reference:selectorFieldName=NetworkSelector + NetworkURL *string `json:"networkUrl,omitempty" tf:"network_url,omitempty"` } type PolicyNetworksObservation struct { diff --git a/apis/dns/v1beta1/zz_recordset_types.go b/apis/dns/v1beta1/zz_recordset_types.go index e51571e6e..3d9c3e26a 100755 --- a/apis/dns/v1beta1/zz_recordset_types.go +++ b/apis/dns/v1beta1/zz_recordset_types.go @@ -385,14 +385,67 @@ type PrimaryInitParameters struct { type PrimaryInternalLoadBalancersInitParameters struct { + // The frontend IP address of the load balancer. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("ip_address",false) + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Reference to a ForwardingRule in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"` + // The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"] IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"` // The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb"] LoadBalancerType *string `json:"loadBalancerType,omitempty" tf:"load_balancer_type,omitempty"` + // The fully qualified url of the network in which the load balancer belongs. This should be formatted like projects/{project}/global/networks/{network} or https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + NetworkURL *string `json:"networkUrl,omitempty" tf:"network_url,omitempty"` + + // Reference to a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLRef *v1.Reference `json:"networkUrlRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate networkUrl. + // +kubebuilder:validation:Optional + NetworkURLSelector *v1.Selector `json:"networkUrlSelector,omitempty" tf:"-"` + // The configured port of the load balancer. Port *string `json:"port,omitempty" tf:"port,omitempty"` + + // The ID of the project in which the resource belongs. If it + // is not provided, the provider project is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reference to a ForwardingRule in compute to populate project. + // +kubebuilder:validation:Optional + ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate project. + // +kubebuilder:validation:Optional + ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"` + + // The region of the load balancer. Only needed for regional load balancers. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ForwardingRule + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false) + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Reference to a ForwardingRule in compute to populate region. + // +kubebuilder:validation:Optional + RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"` + + // Selector for a ForwardingRule in compute to populate region. + // +kubebuilder:validation:Optional + RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"` } type PrimaryInternalLoadBalancersObservation struct { @@ -509,6 +562,19 @@ type PrimaryParameters struct { type RecordSetInitParameters struct { + // The name of the zone in which this record set will + // reside. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/dns/v1beta1.ManagedZone + ManagedZone *string `json:"managedZone,omitempty" tf:"managed_zone,omitempty"` + + // Reference to a ManagedZone in dns to populate managedZone. + // +kubebuilder:validation:Optional + ManagedZoneRef *v1.Reference `json:"managedZoneRef,omitempty" tf:"-"` + + // Selector for a ManagedZone in dns to populate managedZone. + // +kubebuilder:validation:Optional + ManagedZoneSelector *v1.Selector `json:"managedZoneSelector,omitempty" tf:"-"` + // The DNS name this record set will apply to. Name *string `json:"name,omitempty" tf:"name,omitempty"` diff --git a/apis/eventarc/v1beta1/zz_generated.deepcopy.go b/apis/eventarc/v1beta1/zz_generated.deepcopy.go index 6224927b1..da89066ab 100644 --- a/apis/eventarc/v1beta1/zz_generated.deepcopy.go +++ b/apis/eventarc/v1beta1/zz_generated.deepcopy.go @@ -267,6 +267,21 @@ func (in *CloudRunServiceInitParameters) DeepCopyInto(out *CloudRunServiceInitPa *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunServiceInitParameters. diff --git a/apis/eventarc/v1beta1/zz_generated.resolvers.go b/apis/eventarc/v1beta1/zz_generated.resolvers.go index 09c7e032f..55c4b3090 100644 --- a/apis/eventarc/v1beta1/zz_generated.resolvers.go +++ b/apis/eventarc/v1beta1/zz_generated.resolvers.go @@ -52,6 +52,26 @@ func (mg *Trigger) ResolveReferences(ctx context.Context, c client.Reader) error } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Destination); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Destination[i3].CloudRunService); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].Service), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].ServiceRef, + Selector: mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].ServiceSelector, + To: reference.To{ + List: &v1beta1.ServiceList{}, + Managed: &v1beta1.Service{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].Service") + } + mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Destination[i3].CloudRunService[i4].ServiceRef = rsp.ResolvedReference + + } + } return nil } diff --git a/apis/eventarc/v1beta1/zz_trigger_types.go b/apis/eventarc/v1beta1/zz_trigger_types.go index b267349ce..40ab1a039 100755 --- a/apis/eventarc/v1beta1/zz_trigger_types.go +++ b/apis/eventarc/v1beta1/zz_trigger_types.go @@ -36,6 +36,18 @@ type CloudRunServiceInitParameters struct { // Required. The region the Cloud Run service is deployed in. Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Required. Name of the GKE service. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudrun/v1beta1.Service + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a Service in cloudrun to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a Service in cloudrun to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` } type CloudRunServiceObservation struct { diff --git a/apis/filestore/v1beta1/zz_backup_types.go b/apis/filestore/v1beta1/zz_backup_types.go index 4541ce4e2..3b98e1ca8 100755 --- a/apis/filestore/v1beta1/zz_backup_types.go +++ b/apis/filestore/v1beta1/zz_backup_types.go @@ -44,6 +44,19 @@ type BackupInitParameters struct { // Name of the file share in the source Cloud Filestore instance that the backup is created from. SourceFileShare *string `json:"sourceFileShare,omitempty" tf:"source_file_share,omitempty"` + + // The resource name of the source Cloud Filestore instance, in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, used to create this backup. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/filestore/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + SourceInstance *string `json:"sourceInstance,omitempty" tf:"source_instance,omitempty"` + + // Reference to a Instance in filestore to populate sourceInstance. + // +kubebuilder:validation:Optional + SourceInstanceRef *v1.Reference `json:"sourceInstanceRef,omitempty" tf:"-"` + + // Selector for a Instance in filestore to populate sourceInstance. + // +kubebuilder:validation:Optional + SourceInstanceSelector *v1.Selector `json:"sourceInstanceSelector,omitempty" tf:"-"` } type BackupObservation struct { diff --git a/apis/filestore/v1beta1/zz_generated.deepcopy.go b/apis/filestore/v1beta1/zz_generated.deepcopy.go index 5d8abedf4..7a7fccf84 100644 --- a/apis/filestore/v1beta1/zz_generated.deepcopy.go +++ b/apis/filestore/v1beta1/zz_generated.deepcopy.go @@ -86,6 +86,21 @@ func (in *BackupInitParameters) DeepCopyInto(out *BackupInitParameters) { *out = new(string) **out = **in } + if in.SourceInstance != nil { + in, out := &in.SourceInstance, &out.SourceInstance + *out = new(string) + **out = **in + } + if in.SourceInstanceRef != nil { + in, out := &in.SourceInstanceRef, &out.SourceInstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SourceInstanceSelector != nil { + in, out := &in.SourceInstanceSelector, &out.SourceInstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupInitParameters. @@ -470,6 +485,21 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.KMSKeyNameRef != nil { + in, out := &in.KMSKeyNameRef, &out.KMSKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyNameSelector != nil { + in, out := &in.KMSKeyNameSelector, &out.KMSKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]*string, len(*in)) diff --git a/apis/filestore/v1beta1/zz_generated.resolvers.go b/apis/filestore/v1beta1/zz_generated.resolvers.go index 8ecb5be28..674787072 100644 --- a/apis/filestore/v1beta1/zz_generated.resolvers.go +++ b/apis/filestore/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *Backup) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.SourceInstance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SourceInstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SourceInstance), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SourceInstanceRef, + Selector: mg.Spec.InitProvider.SourceInstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SourceInstance") + } + mg.Spec.InitProvider.SourceInstance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SourceInstanceRef = rsp.ResolvedReference + return nil } @@ -75,6 +91,22 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.KMSKeyNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.KMSKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.KMSKeyNameRef, + Selector: mg.Spec.InitProvider.KMSKeyNameSelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.KMSKeyName") + } + mg.Spec.InitProvider.KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.KMSKeyNameRef = rsp.ResolvedReference + return nil } diff --git a/apis/filestore/v1beta1/zz_instance_types.go b/apis/filestore/v1beta1/zz_instance_types.go index 43ea48d2f..1ef373e79 100755 --- a/apis/filestore/v1beta1/zz_instance_types.go +++ b/apis/filestore/v1beta1/zz_instance_types.go @@ -90,6 +90,19 @@ type InstanceInitParameters struct { // Structure is documented below. FileShares []FileSharesInitParameters `json:"fileShares,omitempty" tf:"file_shares,omitempty"` + // KMS key name used for data encryption. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameRef *v1.Reference `json:"kmsKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameSelector *v1.Selector `json:"kmsKeyNameSelector,omitempty" tf:"-"` + // Resource labels to represent user-provided metadata. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` diff --git a/apis/firebaserules/v1beta1/zz_generated.deepcopy.go b/apis/firebaserules/v1beta1/zz_generated.deepcopy.go index 498dcc058..fad9f25c4 100644 --- a/apis/firebaserules/v1beta1/zz_generated.deepcopy.go +++ b/apis/firebaserules/v1beta1/zz_generated.deepcopy.go @@ -206,6 +206,21 @@ func (in *ReleaseInitParameters) DeepCopyInto(out *ReleaseInitParameters) { *out = new(string) **out = **in } + if in.RulesetName != nil { + in, out := &in.RulesetName, &out.RulesetName + *out = new(string) + **out = **in + } + if in.RulesetNameRef != nil { + in, out := &in.RulesetNameRef, &out.RulesetNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RulesetNameSelector != nil { + in, out := &in.RulesetNameSelector, &out.RulesetNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseInitParameters. diff --git a/apis/firebaserules/v1beta1/zz_generated.resolvers.go b/apis/firebaserules/v1beta1/zz_generated.resolvers.go index c4b47194e..00a1a1d6e 100644 --- a/apis/firebaserules/v1beta1/zz_generated.resolvers.go +++ b/apis/firebaserules/v1beta1/zz_generated.resolvers.go @@ -47,5 +47,21 @@ func (mg *Release) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.RulesetName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RulesetNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RulesetName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RulesetNameRef, + Selector: mg.Spec.InitProvider.RulesetNameSelector, + To: reference.To{ + List: &RulesetList{}, + Managed: &Ruleset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RulesetName") + } + mg.Spec.InitProvider.RulesetName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RulesetNameRef = rsp.ResolvedReference + return nil } diff --git a/apis/firebaserules/v1beta1/zz_release_types.go b/apis/firebaserules/v1beta1/zz_release_types.go index 29711e0a2..dd734203d 100755 --- a/apis/firebaserules/v1beta1/zz_release_types.go +++ b/apis/firebaserules/v1beta1/zz_release_types.go @@ -33,6 +33,18 @@ type ReleaseInitParameters struct { // The project for the resource Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Name of the Ruleset referred to by this Release. The Ruleset must exist for the Release to be created. + // +crossplane:generate:reference:type=Ruleset + RulesetName *string `json:"rulesetName,omitempty" tf:"ruleset_name,omitempty"` + + // Reference to a Ruleset to populate rulesetName. + // +kubebuilder:validation:Optional + RulesetNameRef *v1.Reference `json:"rulesetNameRef,omitempty" tf:"-"` + + // Selector for a Ruleset to populate rulesetName. + // +kubebuilder:validation:Optional + RulesetNameSelector *v1.Selector `json:"rulesetNameSelector,omitempty" tf:"-"` } type ReleaseObservation struct { diff --git a/apis/gke/v1beta1/zz_backupbackupplan_types.go b/apis/gke/v1beta1/zz_backupbackupplan_types.go index 831f70282..bed6b997c 100755 --- a/apis/gke/v1beta1/zz_backupbackupplan_types.go +++ b/apis/gke/v1beta1/zz_backupbackupplan_types.go @@ -39,6 +39,19 @@ type BackupBackupPlanInitParameters struct { // Structure is documented below. BackupSchedule []BackupScheduleInitParameters `json:"backupSchedule,omitempty" tf:"backup_schedule,omitempty"` + // The source cluster from which Backups will be created via this BackupPlan. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/container/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` + + // Reference to a Cluster in container to populate cluster. + // +kubebuilder:validation:Optional + ClusterRef *v1.Reference `json:"clusterRef,omitempty" tf:"-"` + + // Selector for a Cluster in container to populate cluster. + // +kubebuilder:validation:Optional + ClusterSelector *v1.Selector `json:"clusterSelector,omitempty" tf:"-"` + // This flag indicates whether this BackupPlan has been deactivated. // Setting this field to True locks the BackupPlan such that no further updates will be allowed // (except deletes), including the deactivated field itself. It also prevents any new Backups @@ -308,6 +321,19 @@ type BackupScheduleParameters struct { } type EncryptionKeyInitParameters struct { + + // Google Cloud KMS encryption key. Format: projects//locations//keyRings//cryptoKeys/ + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + GCPKMSEncryptionKey *string `json:"gcpKmsEncryptionKey,omitempty" tf:"gcp_kms_encryption_key,omitempty"` + + // Reference to a CryptoKey in kms to populate gcpKmsEncryptionKey. + // +kubebuilder:validation:Optional + GCPKMSEncryptionKeyRef *v1.Reference `json:"gcpKmsEncryptionKeyRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate gcpKmsEncryptionKey. + // +kubebuilder:validation:Optional + GCPKMSEncryptionKeySelector *v1.Selector `json:"gcpKmsEncryptionKeySelector,omitempty" tf:"-"` } type EncryptionKeyObservation struct { diff --git a/apis/gke/v1beta1/zz_generated.deepcopy.go b/apis/gke/v1beta1/zz_generated.deepcopy.go index 9e5b157f2..38f8e32a7 100644 --- a/apis/gke/v1beta1/zz_generated.deepcopy.go +++ b/apis/gke/v1beta1/zz_generated.deepcopy.go @@ -69,6 +69,21 @@ func (in *BackupBackupPlanInitParameters) DeepCopyInto(out *BackupBackupPlanInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } + if in.ClusterRef != nil { + in, out := &in.ClusterRef, &out.ClusterRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ClusterSelector != nil { + in, out := &in.ClusterSelector, &out.ClusterSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Deactivated != nil { in, out := &in.Deactivated, &out.Deactivated *out = new(bool) @@ -391,7 +406,9 @@ func (in *BackupConfigInitParameters) DeepCopyInto(out *BackupConfigInitParamete if in.EncryptionKey != nil { in, out := &in.EncryptionKey, &out.EncryptionKey *out = make([]EncryptionKeyInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.IncludeSecrets != nil { in, out := &in.IncludeSecrets, &out.IncludeSecrets @@ -609,6 +626,21 @@ func (in *BackupScheduleParameters) DeepCopy() *BackupScheduleParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EncryptionKeyInitParameters) DeepCopyInto(out *EncryptionKeyInitParameters) { *out = *in + if in.GCPKMSEncryptionKey != nil { + in, out := &in.GCPKMSEncryptionKey, &out.GCPKMSEncryptionKey + *out = new(string) + **out = **in + } + if in.GCPKMSEncryptionKeyRef != nil { + in, out := &in.GCPKMSEncryptionKeyRef, &out.GCPKMSEncryptionKeyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GCPKMSEncryptionKeySelector != nil { + in, out := &in.GCPKMSEncryptionKeySelector, &out.GCPKMSEncryptionKeySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyInitParameters. diff --git a/apis/gke/v1beta1/zz_generated.resolvers.go b/apis/gke/v1beta1/zz_generated.resolvers.go index 3bcbf0869..96fd45d2e 100644 --- a/apis/gke/v1beta1/zz_generated.resolvers.go +++ b/apis/gke/v1beta1/zz_generated.resolvers.go @@ -70,5 +70,41 @@ func (mg *BackupBackupPlan) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Cluster = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ClusterRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.BackupConfig); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKey), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKeyRef, + Selector: mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKeySelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKey") + } + mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKey = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BackupConfig[i3].EncryptionKey[i4].GCPKMSEncryptionKeyRef = rsp.ResolvedReference + + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Cluster), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ClusterRef, + Selector: mg.Spec.InitProvider.ClusterSelector, + To: reference.To{ + List: &v1beta11.ClusterList{}, + Managed: &v1beta11.Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Cluster") + } + mg.Spec.InitProvider.Cluster = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ClusterRef = rsp.ResolvedReference + return nil } diff --git a/apis/gkehub/v1beta1/zz_generated.deepcopy.go b/apis/gkehub/v1beta1/zz_generated.deepcopy.go index 806c105b9..a68b211ec 100644 --- a/apis/gkehub/v1beta1/zz_generated.deepcopy.go +++ b/apis/gkehub/v1beta1/zz_generated.deepcopy.go @@ -181,7 +181,9 @@ func (in *EndpointInitParameters) DeepCopyInto(out *EndpointInitParameters) { if in.GkeCluster != nil { in, out := &in.GkeCluster, &out.GkeCluster *out = make([]GkeClusterInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -242,6 +244,21 @@ func (in *EndpointParameters) DeepCopy() *EndpointParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GkeClusterInitParameters) DeepCopyInto(out *GkeClusterInitParameters) { *out = *in + if in.ResourceLink != nil { + in, out := &in.ResourceLink, &out.ResourceLink + *out = new(string) + **out = **in + } + if in.ResourceLinkRef != nil { + in, out := &in.ResourceLinkRef, &out.ResourceLinkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ResourceLinkSelector != nil { + in, out := &in.ResourceLinkSelector, &out.ResourceLinkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClusterInitParameters. @@ -373,6 +390,21 @@ func (in *MembershipIAMMemberInitParameters) DeepCopyInto(out *MembershipIAMMemb *out = new(string) **out = **in } + if in.MembershipID != nil { + in, out := &in.MembershipID, &out.MembershipID + *out = new(string) + **out = **in + } + if in.MembershipIDRef != nil { + in, out := &in.MembershipIDRef, &out.MembershipIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MembershipIDSelector != nil { + in, out := &in.MembershipIDSelector, &out.MembershipIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) diff --git a/apis/gkehub/v1beta1/zz_generated.resolvers.go b/apis/gkehub/v1beta1/zz_generated.resolvers.go index 5fa0cab14..e643b8688 100644 --- a/apis/gkehub/v1beta1/zz_generated.resolvers.go +++ b/apis/gkehub/v1beta1/zz_generated.resolvers.go @@ -53,6 +53,26 @@ func (mg *Membership) ResolveReferences(ctx context.Context, c client.Reader) er } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Endpoint); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Endpoint[i3].GkeCluster); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLink), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLinkRef, + Selector: mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLinkSelector, + To: reference.To{ + List: &v1beta1.ClusterList{}, + Managed: &v1beta1.Cluster{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLink") + } + mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLink = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Endpoint[i3].GkeCluster[i4].ResourceLinkRef = rsp.ResolvedReference + + } + } return nil } @@ -80,5 +100,21 @@ func (mg *MembershipIAMMember) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.MembershipID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.MembershipIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MembershipID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.MembershipIDRef, + Selector: mg.Spec.InitProvider.MembershipIDSelector, + To: reference.To{ + List: &MembershipList{}, + Managed: &Membership{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MembershipID") + } + mg.Spec.InitProvider.MembershipID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MembershipIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/gkehub/v1beta1/zz_membership_types.go b/apis/gkehub/v1beta1/zz_membership_types.go index cd1c84d04..6dec9cab7 100755 --- a/apis/gkehub/v1beta1/zz_membership_types.go +++ b/apis/gkehub/v1beta1/zz_membership_types.go @@ -74,6 +74,22 @@ type EndpointParameters struct { } type GkeClusterInitParameters struct { + + // Self-link of the GCP resource for the GKE cluster. + // For example: //container.googleapis.com/projects/my-project/zones/us-west1-a/clusters/my-cluster. + // It can be at the most 1000 characters in length.googleapis.com/${google_container_cluster.my-cluster.id}" or + // google_container_cluster.my-cluster.id. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/container/v1beta1.Cluster + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ResourceLink *string `json:"resourceLink,omitempty" tf:"resource_link,omitempty"` + + // Reference to a Cluster in container to populate resourceLink. + // +kubebuilder:validation:Optional + ResourceLinkRef *v1.Reference `json:"resourceLinkRef,omitempty" tf:"-"` + + // Selector for a Cluster in container to populate resourceLink. + // +kubebuilder:validation:Optional + ResourceLinkSelector *v1.Selector `json:"resourceLinkSelector,omitempty" tf:"-"` } type GkeClusterObservation struct { diff --git a/apis/gkehub/v1beta1/zz_membershipiammember_types.go b/apis/gkehub/v1beta1/zz_membershipiammember_types.go index 756d4c8c5..c06f2cdcb 100755 --- a/apis/gkehub/v1beta1/zz_membershipiammember_types.go +++ b/apis/gkehub/v1beta1/zz_membershipiammember_types.go @@ -62,6 +62,17 @@ type MembershipIAMMemberInitParameters struct { Member *string `json:"member,omitempty" tf:"member,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/gkehub/v1beta1.Membership + MembershipID *string `json:"membershipId,omitempty" tf:"membership_id,omitempty"` + + // Reference to a Membership in gkehub to populate membershipId. + // +kubebuilder:validation:Optional + MembershipIDRef *v1.Reference `json:"membershipIdRef,omitempty" tf:"-"` + + // Selector for a Membership in gkehub to populate membershipId. + // +kubebuilder:validation:Optional + MembershipIDSelector *v1.Selector `json:"membershipIdSelector,omitempty" tf:"-"` + Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/healthcare/v1beta1/zz_consentstore_types.go b/apis/healthcare/v1beta1/zz_consentstore_types.go index 120293f21..718c493d4 100755 --- a/apis/healthcare/v1beta1/zz_consentstore_types.go +++ b/apis/healthcare/v1beta1/zz_consentstore_types.go @@ -31,6 +31,20 @@ import ( type ConsentStoreInitParameters struct { + // Identifies the dataset addressed by this request. Must be in the format + // 'projects/{project}/locations/{location}/datasets/{dataset}' + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/healthcare/v1beta1.Dataset + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Dataset *string `json:"dataset,omitempty" tf:"dataset,omitempty"` + + // Reference to a Dataset in healthcare to populate dataset. + // +kubebuilder:validation:Optional + DatasetRef *v1.Reference `json:"datasetRef,omitempty" tf:"-"` + + // Selector for a Dataset in healthcare to populate dataset. + // +kubebuilder:validation:Optional + DatasetSelector *v1.Selector `json:"datasetSelector,omitempty" tf:"-"` + // Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents. // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". DefaultConsentTTL *string `json:"defaultConsentTtl,omitempty" tf:"default_consent_ttl,omitempty"` diff --git a/apis/healthcare/v1beta1/zz_datasetiammember_types.go b/apis/healthcare/v1beta1/zz_datasetiammember_types.go index 87ee8fdb7..b2164c179 100755 --- a/apis/healthcare/v1beta1/zz_datasetiammember_types.go +++ b/apis/healthcare/v1beta1/zz_datasetiammember_types.go @@ -60,6 +60,17 @@ type ConditionParameters struct { type DatasetIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/healthcare/v1beta1.Dataset + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // Reference to a Dataset in healthcare to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDRef *v1.Reference `json:"datasetIdRef,omitempty" tf:"-"` + + // Selector for a Dataset in healthcare to populate datasetId. + // +kubebuilder:validation:Optional + DatasetIDSelector *v1.Selector `json:"datasetIdSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/healthcare/v1beta1/zz_generated.deepcopy.go b/apis/healthcare/v1beta1/zz_generated.deepcopy.go index e0afb23d7..cc97a927d 100644 --- a/apis/healthcare/v1beta1/zz_generated.deepcopy.go +++ b/apis/healthcare/v1beta1/zz_generated.deepcopy.go @@ -145,6 +145,21 @@ func (in *ConsentStore) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConsentStoreInitParameters) DeepCopyInto(out *ConsentStoreInitParameters) { *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.DatasetRef != nil { + in, out := &in.DatasetRef, &out.DatasetRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetSelector != nil { + in, out := &in.DatasetSelector, &out.DatasetSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultConsentTTL != nil { in, out := &in.DefaultConsentTTL, &out.DefaultConsentTTL *out = new(string) @@ -436,6 +451,21 @@ func (in *DatasetIAMMemberInitParameters) DeepCopyInto(out *DatasetIAMMemberInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DatasetIDRef != nil { + in, out := &in.DatasetIDRef, &out.DatasetIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatasetIDSelector != nil { + in, out := &in.DatasetIDSelector, &out.DatasetIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) diff --git a/apis/healthcare/v1beta1/zz_generated.resolvers.go b/apis/healthcare/v1beta1/zz_generated.resolvers.go index fcf43143b..1e7ca3840 100644 --- a/apis/healthcare/v1beta1/zz_generated.resolvers.go +++ b/apis/healthcare/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *ConsentStore) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Dataset = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DatasetRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Dataset), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DatasetRef, + Selector: mg.Spec.InitProvider.DatasetSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Dataset") + } + mg.Spec.InitProvider.Dataset = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatasetRef = rsp.ResolvedReference + return nil } @@ -74,5 +90,21 @@ func (mg *DatasetIAMMember) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.DatasetID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DatasetIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DatasetID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DatasetIDRef, + Selector: mg.Spec.InitProvider.DatasetIDSelector, + To: reference.To{ + List: &DatasetList{}, + Managed: &Dataset{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DatasetID") + } + mg.Spec.InitProvider.DatasetID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatasetIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/iap/v1beta1/zz_generated.deepcopy.go b/apis/iap/v1beta1/zz_generated.deepcopy.go index 17f94688e..e9ab1f28b 100644 --- a/apis/iap/v1beta1/zz_generated.deepcopy.go +++ b/apis/iap/v1beta1/zz_generated.deepcopy.go @@ -1147,6 +1147,21 @@ func (in *WebBackendServiceIAMMemberInitParameters) DeepCopyInto(out *WebBackend *out = new(string) **out = **in } + if in.WebBackendService != nil { + in, out := &in.WebBackendService, &out.WebBackendService + *out = new(string) + **out = **in + } + if in.WebBackendServiceRef != nil { + in, out := &in.WebBackendServiceRef, &out.WebBackendServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.WebBackendServiceSelector != nil { + in, out := &in.WebBackendServiceSelector, &out.WebBackendServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberInitParameters. @@ -1755,6 +1770,21 @@ func (in *WebTypeAppEngineIAMMemberConditionParameters) DeepCopy() *WebTypeAppEn // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WebTypeAppEngineIAMMemberInitParameters) DeepCopyInto(out *WebTypeAppEngineIAMMemberInitParameters) { *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.AppIDRef != nil { + in, out := &in.AppIDRef, &out.AppIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AppIDSelector != nil { + in, out := &in.AppIDSelector, &out.AppIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Condition != nil { in, out := &in.Condition, &out.Condition *out = make([]WebTypeAppEngineIAMMemberConditionInitParameters, len(*in)) diff --git a/apis/iap/v1beta1/zz_generated.resolvers.go b/apis/iap/v1beta1/zz_generated.resolvers.go index a48fc97e7..36b036669 100644 --- a/apis/iap/v1beta1/zz_generated.resolvers.go +++ b/apis/iap/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *WebBackendServiceIAMMember) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.WebBackendService = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.WebBackendServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.WebBackendService), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.WebBackendServiceRef, + Selector: mg.Spec.InitProvider.WebBackendServiceSelector, + To: reference.To{ + List: &v1beta1.BackendServiceList{}, + Managed: &v1beta1.BackendService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.WebBackendService") + } + mg.Spec.InitProvider.WebBackendService = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.WebBackendServiceRef = rsp.ResolvedReference + return nil } @@ -75,5 +91,21 @@ func (mg *WebTypeAppEngineIAMMember) ResolveReferences(ctx context.Context, c cl mg.Spec.ForProvider.AppID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AppIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AppID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.AppIDRef, + Selector: mg.Spec.InitProvider.AppIDSelector, + To: reference.To{ + List: &v1beta11.ApplicationList{}, + Managed: &v1beta11.Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AppID") + } + mg.Spec.InitProvider.AppID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AppIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/iap/v1beta1/zz_webbackendserviceiammember_types.go b/apis/iap/v1beta1/zz_webbackendserviceiammember_types.go index be730c627..93a3ce486 100755 --- a/apis/iap/v1beta1/zz_webbackendserviceiammember_types.go +++ b/apis/iap/v1beta1/zz_webbackendserviceiammember_types.go @@ -65,6 +65,17 @@ type WebBackendServiceIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.BackendService + WebBackendService *string `json:"webBackendService,omitempty" tf:"web_backend_service,omitempty"` + + // Reference to a BackendService in compute to populate webBackendService. + // +kubebuilder:validation:Optional + WebBackendServiceRef *v1.Reference `json:"webBackendServiceRef,omitempty" tf:"-"` + + // Selector for a BackendService in compute to populate webBackendService. + // +kubebuilder:validation:Optional + WebBackendServiceSelector *v1.Selector `json:"webBackendServiceSelector,omitempty" tf:"-"` } type WebBackendServiceIAMMemberObservation struct { diff --git a/apis/iap/v1beta1/zz_webtypeappengineiammember_types.go b/apis/iap/v1beta1/zz_webtypeappengineiammember_types.go index ecf318b48..1a51b5c26 100755 --- a/apis/iap/v1beta1/zz_webtypeappengineiammember_types.go +++ b/apis/iap/v1beta1/zz_webtypeappengineiammember_types.go @@ -58,6 +58,18 @@ type WebTypeAppEngineIAMMemberConditionParameters struct { } type WebTypeAppEngineIAMMemberInitParameters struct { + + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/appengine/v1beta1.Application + AppID *string `json:"appId,omitempty" tf:"app_id,omitempty"` + + // Reference to a Application in appengine to populate appId. + // +kubebuilder:validation:Optional + AppIDRef *v1.Reference `json:"appIdRef,omitempty" tf:"-"` + + // Selector for a Application in appengine to populate appId. + // +kubebuilder:validation:Optional + AppIDSelector *v1.Selector `json:"appIdSelector,omitempty" tf:"-"` + Condition []WebTypeAppEngineIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` Member *string `json:"member,omitempty" tf:"member,omitempty"` diff --git a/apis/identityplatform/v1beta1/zz_generated.deepcopy.go b/apis/identityplatform/v1beta1/zz_generated.deepcopy.go index 8a34edd78..650262bc8 100644 --- a/apis/identityplatform/v1beta1/zz_generated.deepcopy.go +++ b/apis/identityplatform/v1beta1/zz_generated.deepcopy.go @@ -1783,6 +1783,21 @@ func (in *TenantDefaultSupportedIdPConfigInitParameters) DeepCopyInto(out *Tenan *out = new(string) **out = **in } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } + if in.TenantRef != nil { + in, out := &in.TenantRef, &out.TenantRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TenantSelector != nil { + in, out := &in.TenantSelector, &out.TenantSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigInitParameters. @@ -2127,6 +2142,21 @@ func (in *TenantInboundSAMLConfigInitParameters) DeepCopyInto(out *TenantInbound (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } + if in.TenantRef != nil { + in, out := &in.TenantRef, &out.TenantRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TenantSelector != nil { + in, out := &in.TenantSelector, &out.TenantSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigInitParameters. @@ -2538,6 +2568,21 @@ func (in *TenantOAuthIdPConfigInitParameters) DeepCopyInto(out *TenantOAuthIdPCo *out = new(string) **out = **in } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } + if in.TenantRef != nil { + in, out := &in.TenantRef, &out.TenantRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TenantSelector != nil { + in, out := &in.TenantSelector, &out.TenantSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigInitParameters. diff --git a/apis/identityplatform/v1beta1/zz_generated.resolvers.go b/apis/identityplatform/v1beta1/zz_generated.resolvers.go index d376fc06e..3a591b27f 100644 --- a/apis/identityplatform/v1beta1/zz_generated.resolvers.go +++ b/apis/identityplatform/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *TenantDefaultSupportedIdPConfig) ResolveReferences(ctx context.Context mg.Spec.ForProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TenantRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Tenant), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.TenantRef, + Selector: mg.Spec.InitProvider.TenantSelector, + To: reference.To{ + List: &TenantList{}, + Managed: &Tenant{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Tenant") + } + mg.Spec.InitProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TenantRef = rsp.ResolvedReference + return nil } @@ -74,6 +90,22 @@ func (mg *TenantInboundSAMLConfig) ResolveReferences(ctx context.Context, c clie mg.Spec.ForProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TenantRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Tenant), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.TenantRef, + Selector: mg.Spec.InitProvider.TenantSelector, + To: reference.To{ + List: &TenantList{}, + Managed: &Tenant{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Tenant") + } + mg.Spec.InitProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TenantRef = rsp.ResolvedReference + return nil } @@ -100,5 +132,21 @@ func (mg *TenantOAuthIdPConfig) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TenantRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Tenant), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.TenantRef, + Selector: mg.Spec.InitProvider.TenantSelector, + To: reference.To{ + List: &TenantList{}, + Managed: &Tenant{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Tenant") + } + mg.Spec.InitProvider.Tenant = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TenantRef = rsp.ResolvedReference + return nil } diff --git a/apis/identityplatform/v1beta1/zz_tenantdefaultsupportedidpconfig_types.go b/apis/identityplatform/v1beta1/zz_tenantdefaultsupportedidpconfig_types.go index bc0cd04db..03312e558 100755 --- a/apis/identityplatform/v1beta1/zz_tenantdefaultsupportedidpconfig_types.go +++ b/apis/identityplatform/v1beta1/zz_tenantdefaultsupportedidpconfig_types.go @@ -40,6 +40,19 @@ type TenantDefaultSupportedIdPConfigInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the tenant where this DefaultSupportedIdpConfig resource exists + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/identityplatform/v1beta1.Tenant + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + Tenant *string `json:"tenant,omitempty" tf:"tenant,omitempty"` + + // Reference to a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantRef *v1.Reference `json:"tenantRef,omitempty" tf:"-"` + + // Selector for a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantSelector *v1.Selector `json:"tenantSelector,omitempty" tf:"-"` } type TenantDefaultSupportedIdPConfigObservation struct { diff --git a/apis/identityplatform/v1beta1/zz_tenantinboundsamlconfig_types.go b/apis/identityplatform/v1beta1/zz_tenantinboundsamlconfig_types.go index 5efe1e243..853e864c6 100755 --- a/apis/identityplatform/v1beta1/zz_tenantinboundsamlconfig_types.go +++ b/apis/identityplatform/v1beta1/zz_tenantinboundsamlconfig_types.go @@ -133,6 +133,19 @@ type TenantInboundSAMLConfigInitParameters struct { // and accept an authentication assertion issued by a SAML identity provider. // Structure is documented below. SpConfig []TenantInboundSAMLConfigSpConfigInitParameters `json:"spConfig,omitempty" tf:"sp_config,omitempty"` + + // The name of the tenant where this inbound SAML config resource exists + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/identityplatform/v1beta1.Tenant + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + Tenant *string `json:"tenant,omitempty" tf:"tenant,omitempty"` + + // Reference to a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantRef *v1.Reference `json:"tenantRef,omitempty" tf:"-"` + + // Selector for a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantSelector *v1.Selector `json:"tenantSelector,omitempty" tf:"-"` } type TenantInboundSAMLConfigObservation struct { diff --git a/apis/identityplatform/v1beta1/zz_tenantoauthidpconfig_types.go b/apis/identityplatform/v1beta1/zz_tenantoauthidpconfig_types.go index 1786bdd70..00709d13e 100755 --- a/apis/identityplatform/v1beta1/zz_tenantoauthidpconfig_types.go +++ b/apis/identityplatform/v1beta1/zz_tenantoauthidpconfig_types.go @@ -46,6 +46,19 @@ type TenantOAuthIdPConfigInitParameters struct { // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the tenant where this OIDC IDP configuration resource exists + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/identityplatform/v1beta1.Tenant + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + Tenant *string `json:"tenant,omitempty" tf:"tenant,omitempty"` + + // Reference to a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantRef *v1.Reference `json:"tenantRef,omitempty" tf:"-"` + + // Selector for a Tenant in identityplatform to populate tenant. + // +kubebuilder:validation:Optional + TenantSelector *v1.Selector `json:"tenantSelector,omitempty" tf:"-"` } type TenantOAuthIdPConfigObservation struct { diff --git a/apis/kms/v1beta1/zz_cryptokeyiammember_types.go b/apis/kms/v1beta1/zz_cryptokeyiammember_types.go index 4723ed48d..facc57fe8 100755 --- a/apis/kms/v1beta1/zz_cryptokeyiammember_types.go +++ b/apis/kms/v1beta1/zz_cryptokeyiammember_types.go @@ -60,6 +60,18 @@ type ConditionParameters struct { type CryptoKeyIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=CryptoKey + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + CryptoKeyID *string `json:"cryptoKeyId,omitempty" tf:"crypto_key_id,omitempty"` + + // Reference to a CryptoKey to populate cryptoKeyId. + // +kubebuilder:validation:Optional + CryptoKeyIDRef *v1.Reference `json:"cryptoKeyIdRef,omitempty" tf:"-"` + + // Selector for a CryptoKey to populate cryptoKeyId. + // +kubebuilder:validation:Optional + CryptoKeyIDSelector *v1.Selector `json:"cryptoKeyIdSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/kms/v1beta1/zz_cryptokeyversion_types.go b/apis/kms/v1beta1/zz_cryptokeyversion_types.go index 265e5c410..55221cfdb 100755 --- a/apis/kms/v1beta1/zz_cryptokeyversion_types.go +++ b/apis/kms/v1beta1/zz_cryptokeyversion_types.go @@ -74,6 +74,20 @@ type CertChainsParameters struct { type CryptoKeyVersionInitParameters struct { + // The name of the cryptoKey associated with the CryptoKeyVersions. + // Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyring}}/cryptoKeys/{{cryptoKey}}' + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + CryptoKey *string `json:"cryptoKey,omitempty" tf:"crypto_key,omitempty"` + + // Reference to a CryptoKey in kms to populate cryptoKey. + // +kubebuilder:validation:Optional + CryptoKeyRef *v1.Reference `json:"cryptoKeyRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate cryptoKey. + // +kubebuilder:validation:Optional + CryptoKeySelector *v1.Selector `json:"cryptoKeySelector,omitempty" tf:"-"` + // The current state of the CryptoKeyVersion. // Possible values are: PENDING_GENERATION, ENABLED, DISABLED, DESTROYED, DESTROY_SCHEDULED, PENDING_IMPORT, IMPORT_FAILED. State *string `json:"state,omitempty" tf:"state,omitempty"` diff --git a/apis/kms/v1beta1/zz_generated.deepcopy.go b/apis/kms/v1beta1/zz_generated.deepcopy.go index 01f69c6f6..e538dc584 100644 --- a/apis/kms/v1beta1/zz_generated.deepcopy.go +++ b/apis/kms/v1beta1/zz_generated.deepcopy.go @@ -308,6 +308,21 @@ func (in *CryptoKeyIAMMemberInitParameters) DeepCopyInto(out *CryptoKeyIAMMember (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.CryptoKeyID != nil { + in, out := &in.CryptoKeyID, &out.CryptoKeyID + *out = new(string) + **out = **in + } + if in.CryptoKeyIDRef != nil { + in, out := &in.CryptoKeyIDRef, &out.CryptoKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CryptoKeyIDSelector != nil { + in, out := &in.CryptoKeyIDSelector, &out.CryptoKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) @@ -802,6 +817,21 @@ func (in *CryptoKeyVersion) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CryptoKeyVersionInitParameters) DeepCopyInto(out *CryptoKeyVersionInitParameters) { *out = *in + if in.CryptoKey != nil { + in, out := &in.CryptoKey, &out.CryptoKey + *out = new(string) + **out = **in + } + if in.CryptoKeyRef != nil { + in, out := &in.CryptoKeyRef, &out.CryptoKeyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CryptoKeySelector != nil { + in, out := &in.CryptoKeySelector, &out.CryptoKeySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.State != nil { in, out := &in.State, &out.State *out = new(string) @@ -1187,6 +1217,21 @@ func (in *KeyRingIAMMemberInitParameters) DeepCopyInto(out *KeyRingIAMMemberInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.KeyRingID != nil { + in, out := &in.KeyRingID, &out.KeyRingID + *out = new(string) + **out = **in + } + if in.KeyRingIDRef != nil { + in, out := &in.KeyRingIDRef, &out.KeyRingIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KeyRingIDSelector != nil { + in, out := &in.KeyRingIDSelector, &out.KeyRingIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) @@ -1870,6 +1915,21 @@ func (in *SecretCiphertext) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SecretCiphertextInitParameters) DeepCopyInto(out *SecretCiphertextInitParameters) { *out = *in + if in.CryptoKey != nil { + in, out := &in.CryptoKey, &out.CryptoKey + *out = new(string) + **out = **in + } + if in.CryptoKeyRef != nil { + in, out := &in.CryptoKeyRef, &out.CryptoKeyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CryptoKeySelector != nil { + in, out := &in.CryptoKeySelector, &out.CryptoKeySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Plaintext != nil { in, out := &in.Plaintext, &out.Plaintext *out = new(string) diff --git a/apis/kms/v1beta1/zz_generated.resolvers.go b/apis/kms/v1beta1/zz_generated.resolvers.go index f76689605..21311350d 100644 --- a/apis/kms/v1beta1/zz_generated.resolvers.go +++ b/apis/kms/v1beta1/zz_generated.resolvers.go @@ -75,6 +75,22 @@ func (mg *CryptoKeyIAMMember) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.CryptoKeyID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CryptoKeyIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CryptoKeyID), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CryptoKeyIDRef, + Selector: mg.Spec.InitProvider.CryptoKeyIDSelector, + To: reference.To{ + List: &CryptoKeyList{}, + Managed: &CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CryptoKeyID") + } + mg.Spec.InitProvider.CryptoKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CryptoKeyIDRef = rsp.ResolvedReference + return nil } @@ -101,6 +117,22 @@ func (mg *CryptoKeyVersion) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.CryptoKey = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CryptoKeyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CryptoKey), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CryptoKeyRef, + Selector: mg.Spec.InitProvider.CryptoKeySelector, + To: reference.To{ + List: &CryptoKeyList{}, + Managed: &CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CryptoKey") + } + mg.Spec.InitProvider.CryptoKey = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CryptoKeyRef = rsp.ResolvedReference + return nil } @@ -127,6 +159,22 @@ func (mg *KeyRingIAMMember) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.KeyRingID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.KeyRingIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.KeyRingID), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.KeyRingIDRef, + Selector: mg.Spec.InitProvider.KeyRingIDSelector, + To: reference.To{ + List: &KeyRingList{}, + Managed: &KeyRing{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.KeyRingID") + } + mg.Spec.InitProvider.KeyRingID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.KeyRingIDRef = rsp.ResolvedReference + return nil } @@ -179,5 +227,21 @@ func (mg *SecretCiphertext) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.CryptoKey = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CryptoKeyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CryptoKey), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CryptoKeyRef, + Selector: mg.Spec.InitProvider.CryptoKeySelector, + To: reference.To{ + List: &CryptoKeyList{}, + Managed: &CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CryptoKey") + } + mg.Spec.InitProvider.CryptoKey = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CryptoKeyRef = rsp.ResolvedReference + return nil } diff --git a/apis/kms/v1beta1/zz_keyringiammember_types.go b/apis/kms/v1beta1/zz_keyringiammember_types.go index c2e5d6f5d..8d465502c 100755 --- a/apis/kms/v1beta1/zz_keyringiammember_types.go +++ b/apis/kms/v1beta1/zz_keyringiammember_types.go @@ -60,6 +60,18 @@ type KeyRingIAMMemberConditionParameters struct { type KeyRingIAMMemberInitParameters struct { Condition []KeyRingIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=KeyRing + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + KeyRingID *string `json:"keyRingId,omitempty" tf:"key_ring_id,omitempty"` + + // Reference to a KeyRing to populate keyRingId. + // +kubebuilder:validation:Optional + KeyRingIDRef *v1.Reference `json:"keyRingIdRef,omitempty" tf:"-"` + + // Selector for a KeyRing to populate keyRingId. + // +kubebuilder:validation:Optional + KeyRingIDSelector *v1.Selector `json:"keyRingIdSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/kms/v1beta1/zz_secretciphertext_types.go b/apis/kms/v1beta1/zz_secretciphertext_types.go index 7525e2626..8ff5e4001 100755 --- a/apis/kms/v1beta1/zz_secretciphertext_types.go +++ b/apis/kms/v1beta1/zz_secretciphertext_types.go @@ -31,6 +31,20 @@ import ( type SecretCiphertextInitParameters struct { + // The full name of the CryptoKey that will be used to encrypt the provided plaintext. + // Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}' + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + CryptoKey *string `json:"cryptoKey,omitempty" tf:"crypto_key,omitempty"` + + // Reference to a CryptoKey in kms to populate cryptoKey. + // +kubebuilder:validation:Optional + CryptoKeyRef *v1.Reference `json:"cryptoKeyRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate cryptoKey. + // +kubebuilder:validation:Optional + CryptoKeySelector *v1.Selector `json:"cryptoKeySelector,omitempty" tf:"-"` + // The plaintext to be encrypted. // Note: This property is sensitive and will not be displayed in the plan. Plaintext *string `json:"plaintext,omitempty" tf:"plaintext,omitempty"` diff --git a/apis/logging/v1beta1/zz_generated.deepcopy.go b/apis/logging/v1beta1/zz_generated.deepcopy.go index 90b0c6fd2..359f8940f 100644 --- a/apis/logging/v1beta1/zz_generated.deepcopy.go +++ b/apis/logging/v1beta1/zz_generated.deepcopy.go @@ -1841,6 +1841,21 @@ func (in *MetricDescriptorParameters) DeepCopy() *MetricDescriptorParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MetricInitParameters) DeepCopyInto(out *MetricInitParameters) { *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketNameRef != nil { + in, out := &in.BucketNameRef, &out.BucketNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketNameSelector != nil { + in, out := &in.BucketNameSelector, &out.BucketNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.BucketOptions != nil { in, out := &in.BucketOptions, &out.BucketOptions *out = make([]BucketOptionsInitParameters, len(*in)) @@ -2170,6 +2185,21 @@ func (in *ProjectBucketConfig) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectBucketConfigCmekSettingsInitParameters) DeepCopyInto(out *ProjectBucketConfigCmekSettingsInitParameters) { *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.KMSKeyNameRef != nil { + in, out := &in.KMSKeyNameRef, &out.KMSKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyNameSelector != nil { + in, out := &in.KMSKeyNameSelector, &out.KMSKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectBucketConfigCmekSettingsInitParameters. @@ -2253,7 +2283,9 @@ func (in *ProjectBucketConfigInitParameters) DeepCopyInto(out *ProjectBucketConf if in.CmekSettings != nil { in, out := &in.CmekSettings, &out.CmekSettings *out = make([]ProjectBucketConfigCmekSettingsInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Description != nil { in, out := &in.Description, &out.Description diff --git a/apis/logging/v1beta1/zz_generated.resolvers.go b/apis/logging/v1beta1/zz_generated.resolvers.go index c482f1569..3af4540cc 100644 --- a/apis/logging/v1beta1/zz_generated.resolvers.go +++ b/apis/logging/v1beta1/zz_generated.resolvers.go @@ -155,6 +155,22 @@ func (mg *Metric) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.BucketName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.BucketName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.BucketNameRef, + Selector: mg.Spec.InitProvider.BucketNameSelector, + To: reference.To{ + List: &ProjectBucketConfigList{}, + Managed: &ProjectBucketConfig{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BucketName") + } + mg.Spec.InitProvider.BucketName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketNameRef = rsp.ResolvedReference + return nil } @@ -199,5 +215,24 @@ func (mg *ProjectBucketConfig) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Project = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ProjectRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.CmekSettings); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CmekSettings[i3].KMSKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CmekSettings[i3].KMSKeyNameRef, + Selector: mg.Spec.InitProvider.CmekSettings[i3].KMSKeyNameSelector, + To: reference.To{ + List: &v1beta11.CryptoKeyList{}, + Managed: &v1beta11.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CmekSettings[i3].KMSKeyName") + } + mg.Spec.InitProvider.CmekSettings[i3].KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CmekSettings[i3].KMSKeyNameRef = rsp.ResolvedReference + + } + return nil } diff --git a/apis/logging/v1beta1/zz_metric_types.go b/apis/logging/v1beta1/zz_metric_types.go index 07bc9d5eb..ced630f55 100755 --- a/apis/logging/v1beta1/zz_metric_types.go +++ b/apis/logging/v1beta1/zz_metric_types.go @@ -331,6 +331,20 @@ type MetricDescriptorParameters struct { type MetricInitParameters struct { + // The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects + // are supported. The bucket has to be in the same project as the metric. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/logging/v1beta1.ProjectBucketConfig + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Reference to a ProjectBucketConfig in logging to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"` + + // Selector for a ProjectBucketConfig in logging to populate bucketName. + // +kubebuilder:validation:Optional + BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"` + // The bucketOptions are required when the logs-based metric is using a DISTRIBUTION value type and it // describes the bucket boundaries used to create a histogram of the extracted values. // Structure is documented below. diff --git a/apis/logging/v1beta1/zz_projectbucketconfig_types.go b/apis/logging/v1beta1/zz_projectbucketconfig_types.go index 03c2284fe..3cbc7c495 100755 --- a/apis/logging/v1beta1/zz_projectbucketconfig_types.go +++ b/apis/logging/v1beta1/zz_projectbucketconfig_types.go @@ -30,6 +30,24 @@ import ( ) type ProjectBucketConfigCmekSettingsInitParameters struct { + + // The resource name for the configured Cloud KMS key. + // KMS key name format: + // 'projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]' + // To enable CMEK for the bucket, set this field to a valid kmsKeyName for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key. + // The Cloud KMS key used by the bucket can be updated by changing the kmsKeyName to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked. + // See Enabling CMEK for Logging Buckets for more information. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameRef *v1.Reference `json:"kmsKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameSelector *v1.Selector `json:"kmsKeyNameSelector,omitempty" tf:"-"` } type ProjectBucketConfigCmekSettingsObservation struct { diff --git a/apis/memcache/v1beta1/zz_generated.deepcopy.go b/apis/memcache/v1beta1/zz_generated.deepcopy.go index e98177431..e3f396b11 100644 --- a/apis/memcache/v1beta1/zz_generated.deepcopy.go +++ b/apis/memcache/v1beta1/zz_generated.deepcopy.go @@ -55,6 +55,21 @@ func (in *Instance) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = *in + if in.AuthorizedNetwork != nil { + in, out := &in.AuthorizedNetwork, &out.AuthorizedNetwork + *out = new(string) + **out = **in + } + if in.AuthorizedNetworkRef != nil { + in, out := &in.AuthorizedNetworkRef, &out.AuthorizedNetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AuthorizedNetworkSelector != nil { + in, out := &in.AuthorizedNetworkSelector, &out.AuthorizedNetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DisplayName != nil { in, out := &in.DisplayName, &out.DisplayName *out = new(string) diff --git a/apis/memcache/v1beta1/zz_generated.resolvers.go b/apis/memcache/v1beta1/zz_generated.resolvers.go index 4a086327c..a59ff7dda 100644 --- a/apis/memcache/v1beta1/zz_generated.resolvers.go +++ b/apis/memcache/v1beta1/zz_generated.resolvers.go @@ -49,5 +49,21 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.AuthorizedNetwork = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AuthorizedNetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AuthorizedNetwork), + Extract: resource.ExtractParamPath("network", false), + Reference: mg.Spec.InitProvider.AuthorizedNetworkRef, + Selector: mg.Spec.InitProvider.AuthorizedNetworkSelector, + To: reference.To{ + List: &v1beta1.ConnectionList{}, + Managed: &v1beta1.Connection{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AuthorizedNetwork") + } + mg.Spec.InitProvider.AuthorizedNetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AuthorizedNetworkRef = rsp.ResolvedReference + return nil } diff --git a/apis/memcache/v1beta1/zz_instance_types.go b/apis/memcache/v1beta1/zz_instance_types.go index 6d7064418..c69d0cbf1 100755 --- a/apis/memcache/v1beta1/zz_instance_types.go +++ b/apis/memcache/v1beta1/zz_instance_types.go @@ -31,6 +31,20 @@ import ( type InstanceInitParameters struct { + // The full name of the GCE network to connect the instance to. If not provided, + // 'default' will be used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/servicenetworking/v1beta1.Connection + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("network",false) + AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"` + + // Reference to a Connection in servicenetworking to populate authorizedNetwork. + // +kubebuilder:validation:Optional + AuthorizedNetworkRef *v1.Reference `json:"authorizedNetworkRef,omitempty" tf:"-"` + + // Selector for a Connection in servicenetworking to populate authorizedNetwork. + // +kubebuilder:validation:Optional + AuthorizedNetworkSelector *v1.Selector `json:"authorizedNetworkSelector,omitempty" tf:"-"` + // A user-visible name for the instance. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` diff --git a/apis/monitoring/v1beta1/zz_generated.deepcopy.go b/apis/monitoring/v1beta1/zz_generated.deepcopy.go index 28d638748..e4c7046ab 100644 --- a/apis/monitoring/v1beta1/zz_generated.deepcopy.go +++ b/apis/monitoring/v1beta1/zz_generated.deepcopy.go @@ -3811,6 +3811,21 @@ func (in *GroupInitParameters) DeepCopyInto(out *GroupInitParameters) { *out = new(bool) **out = **in } + if in.ParentName != nil { + in, out := &in.ParentName, &out.ParentName + *out = new(string) + **out = **in + } + if in.ParentNameRef != nil { + in, out := &in.ParentNameRef, &out.ParentNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ParentNameSelector != nil { + in, out := &in.ParentNameSelector, &out.ParentNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -6227,6 +6242,21 @@ func (in *RequestBasedSliParameters) DeepCopy() *RequestBasedSliParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ResourceGroupInitParameters) DeepCopyInto(out *ResourceGroupInitParameters) { *out = *in + if in.GroupID != nil { + in, out := &in.GroupID, &out.GroupID + *out = new(string) + **out = **in + } + if in.GroupIDRef != nil { + in, out := &in.GroupIDRef, &out.GroupIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GroupIDSelector != nil { + in, out := &in.GroupIDSelector, &out.GroupIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ResourceType != nil { in, out := &in.ResourceType, &out.ResourceType *out = new(string) @@ -6378,6 +6408,21 @@ func (in *SLOInitParameters) DeepCopyInto(out *SLOInitParameters) { *out = new(string) **out = **in } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceSelector != nil { + in, out := &in.ServiceSelector, &out.ServiceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.UserLabels != nil { in, out := &in.UserLabels, &out.UserLabels *out = make(map[string]*string, len(*in)) diff --git a/apis/monitoring/v1beta1/zz_generated.resolvers.go b/apis/monitoring/v1beta1/zz_generated.resolvers.go index 0cef8bcc8..a93c5d309 100644 --- a/apis/monitoring/v1beta1/zz_generated.resolvers.go +++ b/apis/monitoring/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *Group) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.ParentName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ParentNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ParentName), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.ParentNameRef, + Selector: mg.Spec.InitProvider.ParentNameSelector, + To: reference.To{ + List: &GroupList{}, + Managed: &Group{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ParentName") + } + mg.Spec.InitProvider.ParentName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParentNameRef = rsp.ResolvedReference + return nil } @@ -74,6 +90,22 @@ func (mg *SLO) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Service), + Extract: resource.ExtractParamPath("service_id", false), + Reference: mg.Spec.InitProvider.ServiceRef, + Selector: mg.Spec.InitProvider.ServiceSelector, + To: reference.To{ + List: &CustomServiceList{}, + Managed: &CustomService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Service") + } + mg.Spec.InitProvider.Service = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceRef = rsp.ResolvedReference + return nil } @@ -101,6 +133,24 @@ func (mg *UptimeCheckConfig) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.ResourceGroup[i3].GroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroup[i3].GroupIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ResourceGroup); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ResourceGroup[i3].GroupID), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.ResourceGroup[i3].GroupIDRef, + Selector: mg.Spec.InitProvider.ResourceGroup[i3].GroupIDSelector, + To: reference.To{ + List: &GroupList{}, + Managed: &Group{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ResourceGroup[i3].GroupID") + } + mg.Spec.InitProvider.ResourceGroup[i3].GroupID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ResourceGroup[i3].GroupIDRef = rsp.ResolvedReference + } return nil diff --git a/apis/monitoring/v1beta1/zz_group_types.go b/apis/monitoring/v1beta1/zz_group_types.go index 24725eab3..d9800d038 100755 --- a/apis/monitoring/v1beta1/zz_group_types.go +++ b/apis/monitoring/v1beta1/zz_group_types.go @@ -44,6 +44,21 @@ type GroupInitParameters struct { // groups that are clusters. IsCluster *bool `json:"isCluster,omitempty" tf:"is_cluster,omitempty"` + // The name of the group's parent, if it has one. The format is + // "projects/{project_id_or_number}/groups/{group_id}". For + // groups with no parent, parentName is the empty string, "". + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/monitoring/v1beta1.Group + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + ParentName *string `json:"parentName,omitempty" tf:"parent_name,omitempty"` + + // Reference to a Group in monitoring to populate parentName. + // +kubebuilder:validation:Optional + ParentNameRef *v1.Reference `json:"parentNameRef,omitempty" tf:"-"` + + // Selector for a Group in monitoring to populate parentName. + // +kubebuilder:validation:Optional + ParentNameSelector *v1.Selector `json:"parentNameSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/monitoring/v1beta1/zz_slo_types.go b/apis/monitoring/v1beta1/zz_slo_types.go index c11552b5a..e619c3a74 100755 --- a/apis/monitoring/v1beta1/zz_slo_types.go +++ b/apis/monitoring/v1beta1/zz_slo_types.go @@ -1142,6 +1142,19 @@ type SLOInitParameters struct { // The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. SLOID *string `json:"sloId,omitempty" tf:"slo_id,omitempty"` + // ID of the service to which this SLO belongs. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/monitoring/v1beta1.CustomService + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("service_id",false) + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Reference to a CustomService in monitoring to populate service. + // +kubebuilder:validation:Optional + ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"` + + // Selector for a CustomService in monitoring to populate service. + // +kubebuilder:validation:Optional + ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"` + // This field is intended to be used for organizing and identifying the AlertPolicy // objects.The field can contain up to 64 entries. Each key and value is limited // to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values diff --git a/apis/monitoring/v1beta1/zz_uptimecheckconfig_types.go b/apis/monitoring/v1beta1/zz_uptimecheckconfig_types.go index bcb656e73..4bef43e5b 100755 --- a/apis/monitoring/v1beta1/zz_uptimecheckconfig_types.go +++ b/apis/monitoring/v1beta1/zz_uptimecheckconfig_types.go @@ -339,6 +339,19 @@ type MonitoredResourceParameters struct { type ResourceGroupInitParameters struct { + // The group of resources being monitored. Should be the name of a group + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/monitoring/v1beta1.Group + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"` + + // Reference to a Group in monitoring to populate groupId. + // +kubebuilder:validation:Optional + GroupIDRef *v1.Reference `json:"groupIdRef,omitempty" tf:"-"` + + // Selector for a Group in monitoring to populate groupId. + // +kubebuilder:validation:Optional + GroupIDSelector *v1.Selector `json:"groupIdSelector,omitempty" tf:"-"` + // The resource type of the group members. // Possible values are: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER. ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"` diff --git a/apis/networkconnectivity/v1beta1/zz_generated.deepcopy.go b/apis/networkconnectivity/v1beta1/zz_generated.deepcopy.go index 29e4bc799..b8eda8275 100644 --- a/apis/networkconnectivity/v1beta1/zz_generated.deepcopy.go +++ b/apis/networkconnectivity/v1beta1/zz_generated.deepcopy.go @@ -297,6 +297,21 @@ func (in *InstancesInitParameters) DeepCopyInto(out *InstancesInitParameters) { *out = new(string) **out = **in } + if in.VirtualMachine != nil { + in, out := &in.VirtualMachine, &out.VirtualMachine + *out = new(string) + **out = **in + } + if in.VirtualMachineRef != nil { + in, out := &in.VirtualMachineRef, &out.VirtualMachineRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualMachineSelector != nil { + in, out := &in.VirtualMachineSelector, &out.VirtualMachineSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesInitParameters. @@ -721,6 +736,21 @@ func (in *SpokeInitParameters) DeepCopyInto(out *SpokeInitParameters) { *out = new(string) **out = **in } + if in.Hub != nil { + in, out := &in.Hub, &out.Hub + *out = new(string) + **out = **in + } + if in.HubRef != nil { + in, out := &in.HubRef, &out.HubRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HubSelector != nil { + in, out := &in.HubSelector, &out.HubSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]*string, len(*in)) diff --git a/apis/networkconnectivity/v1beta1/zz_generated.resolvers.go b/apis/networkconnectivity/v1beta1/zz_generated.resolvers.go index b93c1e539..58852cd77 100644 --- a/apis/networkconnectivity/v1beta1/zz_generated.resolvers.go +++ b/apis/networkconnectivity/v1beta1/zz_generated.resolvers.go @@ -69,6 +69,42 @@ func (mg *Spoke) ResolveReferences(ctx context.Context, c client.Reader) error { } } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Hub), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.HubRef, + Selector: mg.Spec.InitProvider.HubSelector, + To: reference.To{ + List: &HubList{}, + Managed: &Hub{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Hub") + } + mg.Spec.InitProvider.Hub = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.HubRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.LinkedRouterApplianceInstances); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachine), + Extract: resource.ExtractParamPath("self_link", true), + Reference: mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachineRef, + Selector: mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachineSelector, + To: reference.To{ + List: &v1beta1.InstanceList{}, + Managed: &v1beta1.Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachine") + } + mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachine = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LinkedRouterApplianceInstances[i3].Instances[i4].VirtualMachineRef = rsp.ResolvedReference + + } + } return nil } diff --git a/apis/networkconnectivity/v1beta1/zz_spoke_types.go b/apis/networkconnectivity/v1beta1/zz_spoke_types.go index 1b5a34dbf..9726a8a5a 100755 --- a/apis/networkconnectivity/v1beta1/zz_spoke_types.go +++ b/apis/networkconnectivity/v1beta1/zz_spoke_types.go @@ -33,6 +33,19 @@ type InstancesInitParameters struct { // The IP address on the VM to use for peering. IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // The URI of the virtual machine resource + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true) + VirtualMachine *string `json:"virtualMachine,omitempty" tf:"virtual_machine,omitempty"` + + // Reference to a Instance in compute to populate virtualMachine. + // +kubebuilder:validation:Optional + VirtualMachineRef *v1.Reference `json:"virtualMachineRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate virtualMachine. + // +kubebuilder:validation:Optional + VirtualMachineSelector *v1.Selector `json:"virtualMachineSelector,omitempty" tf:"-"` } type InstancesObservation struct { @@ -157,6 +170,19 @@ type SpokeInitParameters struct { // An optional description of the spoke. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Immutable. The URI of the hub that this spoke is attached to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/networkconnectivity/v1beta1.Hub + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Hub *string `json:"hub,omitempty" tf:"hub,omitempty"` + + // Reference to a Hub in networkconnectivity to populate hub. + // +kubebuilder:validation:Optional + HubRef *v1.Reference `json:"hubRef,omitempty" tf:"-"` + + // Selector for a Hub in networkconnectivity to populate hub. + // +kubebuilder:validation:Optional + HubSelector *v1.Selector `json:"hubSelector,omitempty" tf:"-"` + // Optional labels in key:value format. For more information about labels, see Requirements for labels. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` diff --git a/apis/networkmanagement/v1beta1/zz_connectivitytest_types.go b/apis/networkmanagement/v1beta1/zz_connectivitytest_types.go index bbffe4f2d..72073e930 100755 --- a/apis/networkmanagement/v1beta1/zz_connectivitytest_types.go +++ b/apis/networkmanagement/v1beta1/zz_connectivitytest_types.go @@ -234,9 +234,65 @@ type ConnectivityTestParameters struct { type DestinationInitParameters struct { + // The IP address of the endpoint, which can be an external or + // internal IP. An IPv6 address is only allowed when the test's + // destination is a global load balancer VIP. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("address",false) + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Reference to a Address in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"` + + // Selector for a Address in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"` + + // A Compute Engine instance URI. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + + // A Compute Engine network URI. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The IP protocol port of the endpoint. Only applicable when // protocol is TCP or UDP. Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Project ID where the endpoint is located. The Project ID can be + // derived from the URI if you provide a VM instance or network URI. + // The following are two cases where you must provide the project ID: + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Reference to a Address in compute to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"` + + // Selector for a Address in compute to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` } type DestinationObservation struct { @@ -332,6 +388,47 @@ type DestinationParameters struct { type SourceInitParameters struct { + // The IP address of the endpoint, which can be an external or + // internal IP. An IPv6 address is only allowed when the test's + // destination is a global load balancer VIP. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("address",false) + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Reference to a Address in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"` + + // Selector for a Address in compute to populate ipAddress. + // +kubebuilder:validation:Optional + IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"` + + // A Compute Engine instance URI. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance in compute to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + + // A Compute Engine network URI. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // Type of the network where the endpoint is located. // Possible values are: GCP_NETWORK, NON_GCP_NETWORK. NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` @@ -339,6 +436,21 @@ type SourceInitParameters struct { // The IP protocol port of the endpoint. Only applicable when // protocol is TCP or UDP. Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Project ID where the endpoint is located. The Project ID can be + // derived from the URI if you provide a VM instance or network URI. + // The following are two cases where you must provide the project ID: + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false) + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Reference to a Address in compute to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"` + + // Selector for a Address in compute to populate projectId. + // +kubebuilder:validation:Optional + ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"` } type SourceObservation struct { diff --git a/apis/networkmanagement/v1beta1/zz_generated.deepcopy.go b/apis/networkmanagement/v1beta1/zz_generated.deepcopy.go index 27df87600..9b0b30b35 100644 --- a/apis/networkmanagement/v1beta1/zz_generated.deepcopy.go +++ b/apis/networkmanagement/v1beta1/zz_generated.deepcopy.go @@ -355,11 +355,71 @@ func (in *ConnectivityTestStatus) DeepCopy() *ConnectivityTestStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DestinationInitParameters) DeepCopyInto(out *DestinationInitParameters) { *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.IPAddressRef != nil { + in, out := &in.IPAddressRef, &out.IPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IPAddressSelector != nil { + in, out := &in.IPAddressSelector, &out.IPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Port != nil { in, out := &in.Port, &out.Port *out = new(float64) **out = **in } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.ProjectIDRef != nil { + in, out := &in.ProjectIDRef, &out.ProjectIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectIDSelector != nil { + in, out := &in.ProjectIDSelector, &out.ProjectIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationInitParameters. @@ -495,6 +555,51 @@ func (in *DestinationParameters) DeepCopy() *DestinationParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SourceInitParameters) DeepCopyInto(out *SourceInitParameters) { *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.IPAddressRef != nil { + in, out := &in.IPAddressRef, &out.IPAddressRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IPAddressSelector != nil { + in, out := &in.IPAddressSelector, &out.IPAddressSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.NetworkType != nil { in, out := &in.NetworkType, &out.NetworkType *out = new(string) @@ -505,6 +610,21 @@ func (in *SourceInitParameters) DeepCopyInto(out *SourceInitParameters) { *out = new(float64) **out = **in } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.ProjectIDRef != nil { + in, out := &in.ProjectIDRef, &out.ProjectIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ProjectIDSelector != nil { + in, out := &in.ProjectIDSelector, &out.ProjectIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceInitParameters. diff --git a/apis/networkmanagement/v1beta1/zz_generated.resolvers.go b/apis/networkmanagement/v1beta1/zz_generated.resolvers.go index 4736f9361..32a68775b 100644 --- a/apis/networkmanagement/v1beta1/zz_generated.resolvers.go +++ b/apis/networkmanagement/v1beta1/zz_generated.resolvers.go @@ -176,6 +176,150 @@ func (mg *ConnectivityTest) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Source[i3].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Source[i3].ProjectIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Destination); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Destination[i3].IPAddress), + Extract: resource.ExtractParamPath("address", false), + Reference: mg.Spec.InitProvider.Destination[i3].IPAddressRef, + Selector: mg.Spec.InitProvider.Destination[i3].IPAddressSelector, + To: reference.To{ + List: &v1beta1.AddressList{}, + Managed: &v1beta1.Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Destination[i3].IPAddress") + } + mg.Spec.InitProvider.Destination[i3].IPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Destination[i3].IPAddressRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Destination); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Destination[i3].Instance), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Destination[i3].InstanceRef, + Selector: mg.Spec.InitProvider.Destination[i3].InstanceSelector, + To: reference.To{ + List: &v1beta1.InstanceList{}, + Managed: &v1beta1.Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Destination[i3].Instance") + } + mg.Spec.InitProvider.Destination[i3].Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Destination[i3].InstanceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Destination); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Destination[i3].Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Destination[i3].NetworkRef, + Selector: mg.Spec.InitProvider.Destination[i3].NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Destination[i3].Network") + } + mg.Spec.InitProvider.Destination[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Destination[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Destination); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Destination[i3].ProjectID), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.Destination[i3].ProjectIDRef, + Selector: mg.Spec.InitProvider.Destination[i3].ProjectIDSelector, + To: reference.To{ + List: &v1beta1.AddressList{}, + Managed: &v1beta1.Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Destination[i3].ProjectID") + } + mg.Spec.InitProvider.Destination[i3].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Destination[i3].ProjectIDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Source); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Source[i3].IPAddress), + Extract: resource.ExtractParamPath("address", false), + Reference: mg.Spec.InitProvider.Source[i3].IPAddressRef, + Selector: mg.Spec.InitProvider.Source[i3].IPAddressSelector, + To: reference.To{ + List: &v1beta1.AddressList{}, + Managed: &v1beta1.Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Source[i3].IPAddress") + } + mg.Spec.InitProvider.Source[i3].IPAddress = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Source[i3].IPAddressRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Source); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Source[i3].Instance), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Source[i3].InstanceRef, + Selector: mg.Spec.InitProvider.Source[i3].InstanceSelector, + To: reference.To{ + List: &v1beta1.InstanceList{}, + Managed: &v1beta1.Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Source[i3].Instance") + } + mg.Spec.InitProvider.Source[i3].Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Source[i3].InstanceRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Source); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Source[i3].Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Source[i3].NetworkRef, + Selector: mg.Spec.InitProvider.Source[i3].NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Source[i3].Network") + } + mg.Spec.InitProvider.Source[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Source[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Source); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Source[i3].ProjectID), + Extract: resource.ExtractParamPath("project", false), + Reference: mg.Spec.InitProvider.Source[i3].ProjectIDRef, + Selector: mg.Spec.InitProvider.Source[i3].ProjectIDSelector, + To: reference.To{ + List: &v1beta1.AddressList{}, + Managed: &v1beta1.Address{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Source[i3].ProjectID") + } + mg.Spec.InitProvider.Source[i3].ProjectID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Source[i3].ProjectIDRef = rsp.ResolvedReference + } return nil diff --git a/apis/notebooks/v1beta1/zz_generated.deepcopy.go b/apis/notebooks/v1beta1/zz_generated.deepcopy.go index f821a9d41..ba8bab92d 100644 --- a/apis/notebooks/v1beta1/zz_generated.deepcopy.go +++ b/apis/notebooks/v1beta1/zz_generated.deepcopy.go @@ -1206,6 +1206,21 @@ func (in *InstanceIAMMemberInitParameters) DeepCopyInto(out *InstanceIAMMemberIn (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.InstanceNameRef != nil { + in, out := &in.InstanceNameRef, &out.InstanceNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceNameSelector != nil { + in, out := &in.InstanceNameSelector, &out.InstanceNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Location != nil { in, out := &in.Location, &out.Location *out = new(string) @@ -2644,6 +2659,21 @@ func (in *RuntimeIAMMemberInitParameters) DeepCopyInto(out *RuntimeIAMMemberInit *out = new(string) **out = **in } + if in.RuntimeName != nil { + in, out := &in.RuntimeName, &out.RuntimeName + *out = new(string) + **out = **in + } + if in.RuntimeNameRef != nil { + in, out := &in.RuntimeNameRef, &out.RuntimeNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RuntimeNameSelector != nil { + in, out := &in.RuntimeNameSelector, &out.RuntimeNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeIAMMemberInitParameters. diff --git a/apis/notebooks/v1beta1/zz_generated.resolvers.go b/apis/notebooks/v1beta1/zz_generated.resolvers.go index 1bc227f33..d74f15e5e 100644 --- a/apis/notebooks/v1beta1/zz_generated.resolvers.go +++ b/apis/notebooks/v1beta1/zz_generated.resolvers.go @@ -47,6 +47,22 @@ func (mg *InstanceIAMMember) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.InstanceName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceNameRef, + Selector: mg.Spec.InitProvider.InstanceNameSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceName") + } + mg.Spec.InitProvider.InstanceName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceNameRef = rsp.ResolvedReference + return nil } @@ -73,5 +89,21 @@ func (mg *RuntimeIAMMember) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.RuntimeName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RuntimeNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RuntimeName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RuntimeNameRef, + Selector: mg.Spec.InitProvider.RuntimeNameSelector, + To: reference.To{ + List: &RuntimeList{}, + Managed: &Runtime{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RuntimeName") + } + mg.Spec.InitProvider.RuntimeName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RuntimeNameRef = rsp.ResolvedReference + return nil } diff --git a/apis/notebooks/v1beta1/zz_instanceiammember_types.go b/apis/notebooks/v1beta1/zz_instanceiammember_types.go index c6ec326c0..36e01cfc2 100755 --- a/apis/notebooks/v1beta1/zz_instanceiammember_types.go +++ b/apis/notebooks/v1beta1/zz_instanceiammember_types.go @@ -60,6 +60,17 @@ type ConditionParameters struct { type InstanceIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Instance + InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"` + + // Reference to a Instance to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameRef *v1.Reference `json:"instanceNameRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instanceName. + // +kubebuilder:validation:Optional + InstanceNameSelector *v1.Selector `json:"instanceNameSelector,omitempty" tf:"-"` + Location *string `json:"location,omitempty" tf:"location,omitempty"` Member *string `json:"member,omitempty" tf:"member,omitempty"` diff --git a/apis/notebooks/v1beta1/zz_runtimeiammember_types.go b/apis/notebooks/v1beta1/zz_runtimeiammember_types.go index 2e1bee82c..517754b5c 100755 --- a/apis/notebooks/v1beta1/zz_runtimeiammember_types.go +++ b/apis/notebooks/v1beta1/zz_runtimeiammember_types.go @@ -67,6 +67,17 @@ type RuntimeIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Runtime + RuntimeName *string `json:"runtimeName,omitempty" tf:"runtime_name,omitempty"` + + // Reference to a Runtime to populate runtimeName. + // +kubebuilder:validation:Optional + RuntimeNameRef *v1.Reference `json:"runtimeNameRef,omitempty" tf:"-"` + + // Selector for a Runtime to populate runtimeName. + // +kubebuilder:validation:Optional + RuntimeNameSelector *v1.Selector `json:"runtimeNameSelector,omitempty" tf:"-"` } type RuntimeIAMMemberObservation struct { diff --git a/apis/privateca/v1beta1/zz_capooliammember_types.go b/apis/privateca/v1beta1/zz_capooliammember_types.go index f3645941c..2e19e25fd 100755 --- a/apis/privateca/v1beta1/zz_capooliammember_types.go +++ b/apis/privateca/v1beta1/zz_capooliammember_types.go @@ -30,6 +30,19 @@ import ( ) type CAPoolIAMMemberInitParameters struct { + + // +crossplane:generate:reference:type=CAPool + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + CAPool *string `json:"caPool,omitempty" tf:"ca_pool,omitempty"` + + // Reference to a CAPool to populate caPool. + // +kubebuilder:validation:Optional + CAPoolRef *v1.Reference `json:"caPoolRef,omitempty" tf:"-"` + + // Selector for a CAPool to populate caPool. + // +kubebuilder:validation:Optional + CAPoolSelector *v1.Selector `json:"caPoolSelector,omitempty" tf:"-"` + Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` Location *string `json:"location,omitempty" tf:"location,omitempty"` diff --git a/apis/privateca/v1beta1/zz_certificate_types.go b/apis/privateca/v1beta1/zz_certificate_types.go index 1cc6cdaff..e3736162d 100755 --- a/apis/privateca/v1beta1/zz_certificate_types.go +++ b/apis/privateca/v1beta1/zz_certificate_types.go @@ -121,6 +121,38 @@ type CertificateDescriptionParameters struct { type CertificateInitParameters struct { + // The Certificate Authority ID that should issue the certificate. For example, to issue a Certificate from + // a Certificate Authority with resource name projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca, + // argument pool should be set to projects/my-project/locations/us-central1/caPools/my-pool, argument certificate_authority + // should be set to my-ca. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/privateca/v1beta1.CertificateAuthority + CertificateAuthority *string `json:"certificateAuthority,omitempty" tf:"certificate_authority,omitempty"` + + // Reference to a CertificateAuthority in privateca to populate certificateAuthority. + // +kubebuilder:validation:Optional + CertificateAuthorityRef *v1.Reference `json:"certificateAuthorityRef,omitempty" tf:"-"` + + // Selector for a CertificateAuthority in privateca to populate certificateAuthority. + // +kubebuilder:validation:Optional + CertificateAuthoritySelector *v1.Selector `json:"certificateAuthoritySelector,omitempty" tf:"-"` + + // The resource name for a CertificateTemplate used to issue this certificate, + // in the format projects/*/locations/*/certificateTemplates/*. If this is specified, + // the caller must have the necessary permission to use this template. If this is + // omitted, no template will be used. This template must be in the same location + // as the Certificate. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/privateca/v1beta1.CertificateTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + CertificateTemplate *string `json:"certificateTemplate,omitempty" tf:"certificate_template,omitempty"` + + // Reference to a CertificateTemplate in privateca to populate certificateTemplate. + // +kubebuilder:validation:Optional + CertificateTemplateRef *v1.Reference `json:"certificateTemplateRef,omitempty" tf:"-"` + + // Selector for a CertificateTemplate in privateca to populate certificateTemplate. + // +kubebuilder:validation:Optional + CertificateTemplateSelector *v1.Selector `json:"certificateTemplateSelector,omitempty" tf:"-"` + // The config used to create a self-signed X.509 certificate or CSR. // Structure is documented below. Config []ConfigInitParameters `json:"config,omitempty" tf:"config,omitempty"` diff --git a/apis/privateca/v1beta1/zz_certificateauthority_types.go b/apis/privateca/v1beta1/zz_certificateauthority_types.go index d52f7e966..5973734be 100755 --- a/apis/privateca/v1beta1/zz_certificateauthority_types.go +++ b/apis/privateca/v1beta1/zz_certificateauthority_types.go @@ -1215,6 +1215,22 @@ type PemIssuerChainParameters struct { type SubordinateConfigInitParameters struct { + // This can refer to a CertificateAuthority that was used to create a + // subordinate CertificateAuthority. This field is used for information + // and usability purposes only. The resource name is in the format + // projects/*/locations/*/caPools/*/certificateAuthorities/*. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/privateca/v1beta1.CertificateAuthority + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true) + CertificateAuthority *string `json:"certificateAuthority,omitempty" tf:"certificate_authority,omitempty"` + + // Reference to a CertificateAuthority in privateca to populate certificateAuthority. + // +kubebuilder:validation:Optional + CertificateAuthorityRef *v1.Reference `json:"certificateAuthorityRef,omitempty" tf:"-"` + + // Selector for a CertificateAuthority in privateca to populate certificateAuthority. + // +kubebuilder:validation:Optional + CertificateAuthoritySelector *v1.Selector `json:"certificateAuthoritySelector,omitempty" tf:"-"` + // Contains the PEM certificate chain for the issuers of this CertificateAuthority, // but not pem certificate for this CA itself. // Structure is documented below. diff --git a/apis/privateca/v1beta1/zz_certificatetemplateiammember_types.go b/apis/privateca/v1beta1/zz_certificatetemplateiammember_types.go index 6fd7d5e94..7077aa860 100755 --- a/apis/privateca/v1beta1/zz_certificatetemplateiammember_types.go +++ b/apis/privateca/v1beta1/zz_certificatetemplateiammember_types.go @@ -58,6 +58,19 @@ type CertificateTemplateIAMMemberConditionParameters struct { } type CertificateTemplateIAMMemberInitParameters struct { + + // +crossplane:generate:reference:type=CertificateTemplate + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + CertificateTemplate *string `json:"certificateTemplate,omitempty" tf:"certificate_template,omitempty"` + + // Reference to a CertificateTemplate to populate certificateTemplate. + // +kubebuilder:validation:Optional + CertificateTemplateRef *v1.Reference `json:"certificateTemplateRef,omitempty" tf:"-"` + + // Selector for a CertificateTemplate to populate certificateTemplate. + // +kubebuilder:validation:Optional + CertificateTemplateSelector *v1.Selector `json:"certificateTemplateSelector,omitempty" tf:"-"` + Condition []CertificateTemplateIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` Location *string `json:"location,omitempty" tf:"location,omitempty"` diff --git a/apis/privateca/v1beta1/zz_generated.deepcopy.go b/apis/privateca/v1beta1/zz_generated.deepcopy.go index 1ed0c635b..6804c3338 100644 --- a/apis/privateca/v1beta1/zz_generated.deepcopy.go +++ b/apis/privateca/v1beta1/zz_generated.deepcopy.go @@ -975,6 +975,21 @@ func (in *CAPoolIAMMember) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CAPoolIAMMemberInitParameters) DeepCopyInto(out *CAPoolIAMMemberInitParameters) { *out = *in + if in.CAPool != nil { + in, out := &in.CAPool, &out.CAPool + *out = new(string) + **out = **in + } + if in.CAPoolRef != nil { + in, out := &in.CAPoolRef, &out.CAPoolRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CAPoolSelector != nil { + in, out := &in.CAPoolSelector, &out.CAPoolSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Condition != nil { in, out := &in.Condition, &out.Condition *out = make([]ConditionInitParameters, len(*in)) @@ -2283,6 +2298,36 @@ func (in *CertificateDescriptionParameters) DeepCopy() *CertificateDescriptionPa // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CertificateInitParameters) DeepCopyInto(out *CertificateInitParameters) { *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(string) + **out = **in + } + if in.CertificateAuthorityRef != nil { + in, out := &in.CertificateAuthorityRef, &out.CertificateAuthorityRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CertificateAuthoritySelector != nil { + in, out := &in.CertificateAuthoritySelector, &out.CertificateAuthoritySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.CertificateTemplate != nil { + in, out := &in.CertificateTemplate, &out.CertificateTemplate + *out = new(string) + **out = **in + } + if in.CertificateTemplateRef != nil { + in, out := &in.CertificateTemplateRef, &out.CertificateTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CertificateTemplateSelector != nil { + in, out := &in.CertificateTemplateSelector, &out.CertificateTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Config != nil { in, out := &in.Config, &out.Config *out = make([]ConfigInitParameters, len(*in)) @@ -2784,6 +2829,21 @@ func (in *CertificateTemplateIAMMemberConditionParameters) DeepCopy() *Certifica // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CertificateTemplateIAMMemberInitParameters) DeepCopyInto(out *CertificateTemplateIAMMemberInitParameters) { *out = *in + if in.CertificateTemplate != nil { + in, out := &in.CertificateTemplate, &out.CertificateTemplate + *out = new(string) + **out = **in + } + if in.CertificateTemplateRef != nil { + in, out := &in.CertificateTemplateRef, &out.CertificateTemplateRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CertificateTemplateSelector != nil { + in, out := &in.CertificateTemplateSelector, &out.CertificateTemplateSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Condition != nil { in, out := &in.Condition, &out.Condition *out = make([]CertificateTemplateIAMMemberConditionInitParameters, len(*in)) @@ -9456,6 +9516,21 @@ func (in *SubjectParameters) DeepCopy() *SubjectParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SubordinateConfigInitParameters) DeepCopyInto(out *SubordinateConfigInitParameters) { *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(string) + **out = **in + } + if in.CertificateAuthorityRef != nil { + in, out := &in.CertificateAuthorityRef, &out.CertificateAuthorityRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CertificateAuthoritySelector != nil { + in, out := &in.CertificateAuthoritySelector, &out.CertificateAuthoritySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PemIssuerChain != nil { in, out := &in.PemIssuerChain, &out.PemIssuerChain *out = make([]PemIssuerChainInitParameters, len(*in)) diff --git a/apis/privateca/v1beta1/zz_generated.resolvers.go b/apis/privateca/v1beta1/zz_generated.resolvers.go index 73a79674f..eb00e733d 100644 --- a/apis/privateca/v1beta1/zz_generated.resolvers.go +++ b/apis/privateca/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *CAPoolIAMMember) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.CAPool = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CAPoolRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CAPool), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CAPoolRef, + Selector: mg.Spec.InitProvider.CAPoolSelector, + To: reference.To{ + List: &CAPoolList{}, + Managed: &CAPool{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CAPool") + } + mg.Spec.InitProvider.CAPool = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CAPoolRef = rsp.ResolvedReference + return nil } @@ -107,6 +123,38 @@ func (mg *Certificate) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.Pool = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PoolRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CertificateAuthority), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.CertificateAuthorityRef, + Selector: mg.Spec.InitProvider.CertificateAuthoritySelector, + To: reference.To{ + List: &CertificateAuthorityList{}, + Managed: &CertificateAuthority{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CertificateAuthority") + } + mg.Spec.InitProvider.CertificateAuthority = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CertificateAuthorityRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CertificateTemplate), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CertificateTemplateRef, + Selector: mg.Spec.InitProvider.CertificateTemplateSelector, + To: reference.To{ + List: &CertificateTemplateList{}, + Managed: &CertificateTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CertificateTemplate") + } + mg.Spec.InitProvider.CertificateTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CertificateTemplateRef = rsp.ResolvedReference + return nil } @@ -150,6 +198,24 @@ func (mg *CertificateAuthority) ResolveReferences(ctx context.Context, c client. mg.Spec.ForProvider.SubordinateConfig[i3].CertificateAuthority = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubordinateConfig[i3].CertificateAuthorityRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.SubordinateConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthority), + Extract: resource.ExtractParamPath("name", true), + Reference: mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthorityRef, + Selector: mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthoritySelector, + To: reference.To{ + List: &CertificateAuthorityList{}, + Managed: &CertificateAuthority{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthority") + } + mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthority = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubordinateConfig[i3].CertificateAuthorityRef = rsp.ResolvedReference + } return nil @@ -178,5 +244,21 @@ func (mg *CertificateTemplateIAMMember) ResolveReferences(ctx context.Context, c mg.Spec.ForProvider.CertificateTemplate = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CertificateTemplateRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CertificateTemplate), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CertificateTemplateRef, + Selector: mg.Spec.InitProvider.CertificateTemplateSelector, + To: reference.To{ + List: &CertificateTemplateList{}, + Managed: &CertificateTemplate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CertificateTemplate") + } + mg.Spec.InitProvider.CertificateTemplate = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CertificateTemplateRef = rsp.ResolvedReference + return nil } diff --git a/apis/pubsub/v1beta1/zz_generated.deepcopy.go b/apis/pubsub/v1beta1/zz_generated.deepcopy.go index e9f99190d..5529f508b 100644 --- a/apis/pubsub/v1beta1/zz_generated.deepcopy.go +++ b/apis/pubsub/v1beta1/zz_generated.deepcopy.go @@ -298,6 +298,21 @@ func (in *ConditionParameters) DeepCopy() *ConditionParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DeadLetterPolicyInitParameters) DeepCopyInto(out *DeadLetterPolicyInitParameters) { *out = *in + if in.DeadLetterTopic != nil { + in, out := &in.DeadLetterTopic, &out.DeadLetterTopic + *out = new(string) + **out = **in + } + if in.DeadLetterTopicRef != nil { + in, out := &in.DeadLetterTopicRef, &out.DeadLetterTopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DeadLetterTopicSelector != nil { + in, out := &in.DeadLetterTopicSelector, &out.DeadLetterTopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MaxDeliveryAttempts != nil { in, out := &in.MaxDeliveryAttempts, &out.MaxDeliveryAttempts *out = new(float64) @@ -726,6 +741,21 @@ func (in *LiteSubscriptionInitParameters) DeepCopyInto(out *LiteSubscriptionInit *out = new(string) **out = **in } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionInitParameters. @@ -954,7 +984,9 @@ func (in *LiteTopicInitParameters) DeepCopyInto(out *LiteTopicInitParameters) { if in.ReservationConfig != nil { in, out := &in.ReservationConfig, &out.ReservationConfig *out = make([]ReservationConfigInitParameters, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.RetentionConfig != nil { in, out := &in.RetentionConfig, &out.RetentionConfig @@ -1596,6 +1628,21 @@ func (in *PushConfigParameters) DeepCopy() *PushConfigParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ReservationConfigInitParameters) DeepCopyInto(out *ReservationConfigInitParameters) { *out = *in + if in.ThroughputReservation != nil { + in, out := &in.ThroughputReservation, &out.ThroughputReservation + *out = new(string) + **out = **in + } + if in.ThroughputReservationRef != nil { + in, out := &in.ThroughputReservationRef, &out.ThroughputReservationRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ThroughputReservationSelector != nil { + in, out := &in.ThroughputReservationSelector, &out.ThroughputReservationSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationConfigInitParameters. @@ -2151,6 +2198,21 @@ func (in *SubscriptionIAMMemberInitParameters) DeepCopyInto(out *SubscriptionIAM *out = new(string) **out = **in } + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } + if in.SubscriptionRef != nil { + in, out := &in.SubscriptionRef, &out.SubscriptionRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubscriptionSelector != nil { + in, out := &in.SubscriptionSelector, &out.SubscriptionSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberInitParameters. @@ -2423,6 +2485,21 @@ func (in *SubscriptionInitParameters) DeepCopyInto(out *SubscriptionInitParamete (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionInitParameters. @@ -2898,6 +2975,21 @@ func (in *TopicIAMMemberInitParameters) DeepCopyInto(out *TopicIAMMemberInitPara *out = new(string) **out = **in } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberInitParameters. @@ -3084,6 +3176,21 @@ func (in *TopicIAMMemberStatus) DeepCopy() *TopicIAMMemberStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TopicInitParameters) DeepCopyInto(out *TopicInitParameters) { *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.KMSKeyNameRef != nil { + in, out := &in.KMSKeyNameRef, &out.KMSKeyNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyNameSelector != nil { + in, out := &in.KMSKeyNameSelector, &out.KMSKeyNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]*string, len(*in)) diff --git a/apis/pubsub/v1beta1/zz_generated.resolvers.go b/apis/pubsub/v1beta1/zz_generated.resolvers.go index 7b2449602..5ae60a3a4 100644 --- a/apis/pubsub/v1beta1/zz_generated.resolvers.go +++ b/apis/pubsub/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *LiteSubscription) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TopicRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Topic), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TopicRef, + Selector: mg.Spec.InitProvider.TopicSelector, + To: reference.To{ + List: &LiteTopicList{}, + Managed: &LiteTopic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Topic") + } + mg.Spec.InitProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TopicRef = rsp.ResolvedReference + return nil } @@ -76,6 +92,24 @@ func (mg *LiteTopic) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.ReservationConfig[i3].ThroughputReservation = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ReservationConfig[i3].ThroughputReservationRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ReservationConfig); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservation), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservationRef, + Selector: mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservationSelector, + To: reference.To{ + List: &LiteReservationList{}, + Managed: &LiteReservation{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservation") + } + mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservation = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ReservationConfig[i3].ThroughputReservationRef = rsp.ResolvedReference + } return nil @@ -122,6 +156,40 @@ func (mg *Subscription) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TopicRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.DeadLetterPolicy); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopicRef, + Selector: mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopicSelector, + To: reference.To{ + List: &TopicList{}, + Managed: &Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopic") + } + mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DeadLetterPolicy[i3].DeadLetterTopicRef = rsp.ResolvedReference + + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Topic), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TopicRef, + Selector: mg.Spec.InitProvider.TopicSelector, + To: reference.To{ + List: &TopicList{}, + Managed: &Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Topic") + } + mg.Spec.InitProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TopicRef = rsp.ResolvedReference + return nil } @@ -148,6 +216,22 @@ func (mg *SubscriptionIAMMember) ResolveReferences(ctx context.Context, c client mg.Spec.ForProvider.Subscription = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SubscriptionRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subscription), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.SubscriptionRef, + Selector: mg.Spec.InitProvider.SubscriptionSelector, + To: reference.To{ + List: &SubscriptionList{}, + Managed: &Subscription{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subscription") + } + mg.Spec.InitProvider.Subscription = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubscriptionRef = rsp.ResolvedReference + return nil } @@ -174,6 +258,22 @@ func (mg *Topic) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.KMSKeyNameRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.KMSKeyName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.KMSKeyNameRef, + Selector: mg.Spec.InitProvider.KMSKeyNameSelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.KMSKeyName") + } + mg.Spec.InitProvider.KMSKeyName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.KMSKeyNameRef = rsp.ResolvedReference + return nil } @@ -200,5 +300,21 @@ func (mg *TopicIAMMember) ResolveReferences(ctx context.Context, c client.Reader mg.Spec.ForProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TopicRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Topic), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TopicRef, + Selector: mg.Spec.InitProvider.TopicSelector, + To: reference.To{ + List: &TopicList{}, + Managed: &Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Topic") + } + mg.Spec.InitProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TopicRef = rsp.ResolvedReference + return nil } diff --git a/apis/pubsub/v1beta1/zz_litesubscription_types.go b/apis/pubsub/v1beta1/zz_litesubscription_types.go index c3673c6ed..6bc08dd0b 100755 --- a/apis/pubsub/v1beta1/zz_litesubscription_types.go +++ b/apis/pubsub/v1beta1/zz_litesubscription_types.go @@ -63,6 +63,18 @@ type LiteSubscriptionInitParameters struct { // The region of the pubsub lite topic. Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A reference to a Topic resource. + // +crossplane:generate:reference:type=LiteTopic + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a LiteTopic to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a LiteTopic to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type LiteSubscriptionObservation struct { diff --git a/apis/pubsub/v1beta1/zz_litetopic_types.go b/apis/pubsub/v1beta1/zz_litetopic_types.go index e02a84efd..78cdb0aec 100755 --- a/apis/pubsub/v1beta1/zz_litetopic_types.go +++ b/apis/pubsub/v1beta1/zz_litetopic_types.go @@ -172,6 +172,18 @@ type PartitionConfigParameters struct { } type ReservationConfigInitParameters struct { + + // The Reservation to use for this topic's throughput capacity. + // +crossplane:generate:reference:type=LiteReservation + ThroughputReservation *string `json:"throughputReservation,omitempty" tf:"throughput_reservation,omitempty"` + + // Reference to a LiteReservation to populate throughputReservation. + // +kubebuilder:validation:Optional + ThroughputReservationRef *v1.Reference `json:"throughputReservationRef,omitempty" tf:"-"` + + // Selector for a LiteReservation to populate throughputReservation. + // +kubebuilder:validation:Optional + ThroughputReservationSelector *v1.Selector `json:"throughputReservationSelector,omitempty" tf:"-"` } type ReservationConfigObservation struct { diff --git a/apis/pubsub/v1beta1/zz_subscription_types.go b/apis/pubsub/v1beta1/zz_subscription_types.go index 0667b8e08..67d658644 100755 --- a/apis/pubsub/v1beta1/zz_subscription_types.go +++ b/apis/pubsub/v1beta1/zz_subscription_types.go @@ -86,6 +86,27 @@ type BigqueryConfigParameters struct { type DeadLetterPolicyInitParameters struct { + // The name of the topic to which dead letter messages should be published. + // Format is projects/{project}/topics/{topic}. + // The Cloud Pub/Sub service account associated with the enclosing subscription's + // parent project (i.e., + // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have + // permission to Publish() to this topic. + // The operation will fail if the topic does not exist. + // Users should ensure that there is a subscription attached to this topic + // since messages published to a topic with no subscriptions are lost. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + DeadLetterTopic *string `json:"deadLetterTopic,omitempty" tf:"dead_letter_topic,omitempty"` + + // Reference to a Topic in pubsub to populate deadLetterTopic. + // +kubebuilder:validation:Optional + DeadLetterTopicRef *v1.Reference `json:"deadLetterTopicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate deadLetterTopic. + // +kubebuilder:validation:Optional + DeadLetterTopicSelector *v1.Selector `json:"deadLetterTopicSelector,omitempty" tf:"-"` + // The maximum number of delivery attempts for any message. The value must be // between 5 and 100. // The number of delivery attempts is defined as 1 + (the sum of number of @@ -511,6 +532,18 @@ type SubscriptionInitParameters struct { // RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message // Structure is documented below. RetryPolicy []RetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // A reference to a Topic resource. + // +crossplane:generate:reference:type=Topic + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type SubscriptionObservation struct { diff --git a/apis/pubsub/v1beta1/zz_subscriptioniammember_types.go b/apis/pubsub/v1beta1/zz_subscriptioniammember_types.go index 4f4acecbe..74e37cf5b 100755 --- a/apis/pubsub/v1beta1/zz_subscriptioniammember_types.go +++ b/apis/pubsub/v1beta1/zz_subscriptioniammember_types.go @@ -65,6 +65,17 @@ type SubscriptionIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Subscription + Subscription *string `json:"subscription,omitempty" tf:"subscription,omitempty"` + + // Reference to a Subscription to populate subscription. + // +kubebuilder:validation:Optional + SubscriptionRef *v1.Reference `json:"subscriptionRef,omitempty" tf:"-"` + + // Selector for a Subscription to populate subscription. + // +kubebuilder:validation:Optional + SubscriptionSelector *v1.Selector `json:"subscriptionSelector,omitempty" tf:"-"` } type SubscriptionIAMMemberObservation struct { diff --git a/apis/pubsub/v1beta1/zz_topic_types.go b/apis/pubsub/v1beta1/zz_topic_types.go index 0e4745f87..2f5ed3e5c 100755 --- a/apis/pubsub/v1beta1/zz_topic_types.go +++ b/apis/pubsub/v1beta1/zz_topic_types.go @@ -109,6 +109,23 @@ type SchemaSettingsParameters struct { type TopicInitParameters struct { + // The resource name of the Cloud KMS CryptoKey to be used to protect access + // to messages published on this topic. Your project's PubSub service account + // (service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com) must have + // roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature. + // The expected format is projects/*/locations/*/keyRings/*/cryptoKeys/* + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // Reference to a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameRef *v1.Reference `json:"kmsKeyNameRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate kmsKeyName. + // +kubebuilder:validation:Optional + KMSKeyNameSelector *v1.Selector `json:"kmsKeyNameSelector,omitempty" tf:"-"` + // A set of key/value label pairs to assign to this Topic. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` diff --git a/apis/pubsub/v1beta1/zz_topiciammember_types.go b/apis/pubsub/v1beta1/zz_topiciammember_types.go index d52388b69..d8e273665 100755 --- a/apis/pubsub/v1beta1/zz_topiciammember_types.go +++ b/apis/pubsub/v1beta1/zz_topiciammember_types.go @@ -65,6 +65,17 @@ type TopicIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Topic + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type TopicIAMMemberObservation struct { diff --git a/apis/redis/v1beta1/zz_generated.deepcopy.go b/apis/redis/v1beta1/zz_generated.deepcopy.go index 5040dbccf..7147f78b9 100644 --- a/apis/redis/v1beta1/zz_generated.deepcopy.go +++ b/apis/redis/v1beta1/zz_generated.deepcopy.go @@ -75,6 +75,21 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(string) **out = **in } + if in.CustomerManagedKey != nil { + in, out := &in.CustomerManagedKey, &out.CustomerManagedKey + *out = new(string) + **out = **in + } + if in.CustomerManagedKeyRef != nil { + in, out := &in.CustomerManagedKeyRef, &out.CustomerManagedKeyRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CustomerManagedKeySelector != nil { + in, out := &in.CustomerManagedKeySelector, &out.CustomerManagedKeySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DisplayName != nil { in, out := &in.DisplayName, &out.DisplayName *out = new(string) diff --git a/apis/redis/v1beta1/zz_generated.resolvers.go b/apis/redis/v1beta1/zz_generated.resolvers.go index f8a8745f3..66da14313 100644 --- a/apis/redis/v1beta1/zz_generated.resolvers.go +++ b/apis/redis/v1beta1/zz_generated.resolvers.go @@ -49,5 +49,21 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.CustomerManagedKey = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.CustomerManagedKeyRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.CustomerManagedKey), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.CustomerManagedKeyRef, + Selector: mg.Spec.InitProvider.CustomerManagedKeySelector, + To: reference.To{ + List: &v1beta1.CryptoKeyList{}, + Managed: &v1beta1.CryptoKey{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.CustomerManagedKey") + } + mg.Spec.InitProvider.CustomerManagedKey = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.CustomerManagedKeyRef = rsp.ResolvedReference + return nil } diff --git a/apis/redis/v1beta1/zz_instance_types.go b/apis/redis/v1beta1/zz_instance_types.go index efbea91a2..6c89f3cfe 100755 --- a/apis/redis/v1beta1/zz_instance_types.go +++ b/apis/redis/v1beta1/zz_instance_types.go @@ -52,6 +52,20 @@ type InstanceInitParameters struct { // Possible values are: DIRECT_PEERING, PRIVATE_SERVICE_ACCESS. ConnectMode *string `json:"connectMode,omitempty" tf:"connect_mode,omitempty"` + // Optional. The KMS key reference that you want to use to encrypt the data at rest for this Redis + // instance. If this is provided, CMEK is enabled. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + CustomerManagedKey *string `json:"customerManagedKey,omitempty" tf:"customer_managed_key,omitempty"` + + // Reference to a CryptoKey in kms to populate customerManagedKey. + // +kubebuilder:validation:Optional + CustomerManagedKeyRef *v1.Reference `json:"customerManagedKeyRef,omitempty" tf:"-"` + + // Selector for a CryptoKey in kms to populate customerManagedKey. + // +kubebuilder:validation:Optional + CustomerManagedKeySelector *v1.Selector `json:"customerManagedKeySelector,omitempty" tf:"-"` + // An arbitrary and optional user-provided name for the instance. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` diff --git a/apis/secretmanager/v1beta1/zz_generated.deepcopy.go b/apis/secretmanager/v1beta1/zz_generated.deepcopy.go index baba31a1b..c5bfe6d2d 100644 --- a/apis/secretmanager/v1beta1/zz_generated.deepcopy.go +++ b/apis/secretmanager/v1beta1/zz_generated.deepcopy.go @@ -491,6 +491,21 @@ func (in *SecretIAMMemberInitParameters) DeepCopyInto(out *SecretIAMMemberInitPa *out = new(string) **out = **in } + if in.SecretID != nil { + in, out := &in.SecretID, &out.SecretID + *out = new(string) + **out = **in + } + if in.SecretIDRef != nil { + in, out := &in.SecretIDRef, &out.SecretIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretIDSelector != nil { + in, out := &in.SecretIDSelector, &out.SecretIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberInitParameters. @@ -992,6 +1007,21 @@ func (in *SecretVersionInitParameters) DeepCopyInto(out *SecretVersionInitParame *out = new(bool) **out = **in } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SecretSelector != nil { + in, out := &in.SecretSelector, &out.SecretSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionInitParameters. diff --git a/apis/secretmanager/v1beta1/zz_generated.resolvers.go b/apis/secretmanager/v1beta1/zz_generated.resolvers.go index c4bd55238..8d915a31d 100644 --- a/apis/secretmanager/v1beta1/zz_generated.resolvers.go +++ b/apis/secretmanager/v1beta1/zz_generated.resolvers.go @@ -48,6 +48,22 @@ func (mg *SecretIAMMember) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.SecretID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SecretIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SecretID), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SecretIDRef, + Selector: mg.Spec.InitProvider.SecretIDSelector, + To: reference.To{ + List: &SecretList{}, + Managed: &Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SecretID") + } + mg.Spec.InitProvider.SecretID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SecretIDRef = rsp.ResolvedReference + return nil } @@ -74,5 +90,21 @@ func (mg *SecretVersion) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Secret = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.SecretRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Secret), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.SecretRef, + Selector: mg.Spec.InitProvider.SecretSelector, + To: reference.To{ + List: &SecretList{}, + Managed: &Secret{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Secret") + } + mg.Spec.InitProvider.Secret = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SecretRef = rsp.ResolvedReference + return nil } diff --git a/apis/secretmanager/v1beta1/zz_secretiammember_types.go b/apis/secretmanager/v1beta1/zz_secretiammember_types.go index 15a4592a7..f5e0a7bf2 100755 --- a/apis/secretmanager/v1beta1/zz_secretiammember_types.go +++ b/apis/secretmanager/v1beta1/zz_secretiammember_types.go @@ -65,6 +65,18 @@ type SecretIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // +crossplane:generate:reference:type=Secret + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"` + + // Reference to a Secret to populate secretId. + // +kubebuilder:validation:Optional + SecretIDRef *v1.Reference `json:"secretIdRef,omitempty" tf:"-"` + + // Selector for a Secret to populate secretId. + // +kubebuilder:validation:Optional + SecretIDSelector *v1.Selector `json:"secretIdSelector,omitempty" tf:"-"` } type SecretIAMMemberObservation struct { diff --git a/apis/secretmanager/v1beta1/zz_secretversion_types.go b/apis/secretmanager/v1beta1/zz_secretversion_types.go index e49118152..8b27a71fa 100755 --- a/apis/secretmanager/v1beta1/zz_secretversion_types.go +++ b/apis/secretmanager/v1beta1/zz_secretversion_types.go @@ -33,6 +33,19 @@ type SecretVersionInitParameters struct { // The current state of the SecretVersion. Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Secret Manager secret resource + // +crossplane:generate:reference:type=Secret + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Secret *string `json:"secret,omitempty" tf:"secret,omitempty"` + + // Reference to a Secret to populate secret. + // +kubebuilder:validation:Optional + SecretRef *v1.Reference `json:"secretRef,omitempty" tf:"-"` + + // Selector for a Secret to populate secret. + // +kubebuilder:validation:Optional + SecretSelector *v1.Selector `json:"secretSelector,omitempty" tf:"-"` } type SecretVersionObservation struct { diff --git a/apis/servicenetworking/v1beta1/zz_connection_types.go b/apis/servicenetworking/v1beta1/zz_connection_types.go index a545ade26..d6911a78c 100755 --- a/apis/servicenetworking/v1beta1/zz_connection_types.go +++ b/apis/servicenetworking/v1beta1/zz_connection_types.go @@ -31,6 +31,33 @@ import ( type ConnectionInitParameters struct { + // Name of VPC network connected with service producers using VPC peering. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + + // Named IP address range(s) of PEERING type reserved for + // this service provider. Note that invoking this method with a different range when connection + // is already established will not reallocate already provisioned service producer subnetworks. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalAddress + ReservedPeeringRanges []*string `json:"reservedPeeringRanges,omitempty" tf:"reserved_peering_ranges,omitempty"` + + // References to GlobalAddress in compute to populate reservedPeeringRanges. + // +kubebuilder:validation:Optional + ReservedPeeringRangesRefs []v1.Reference `json:"reservedPeeringRangesRefs,omitempty" tf:"-"` + + // Selector for a list of GlobalAddress in compute to populate reservedPeeringRanges. + // +kubebuilder:validation:Optional + ReservedPeeringRangesSelector *v1.Selector `json:"reservedPeeringRangesSelector,omitempty" tf:"-"` + // Provider peering service that is managing peering connectivity for a // service provider organization. For Google services that support this functionality it is // 'servicenetworking.googleapis.com'. diff --git a/apis/servicenetworking/v1beta1/zz_generated.deepcopy.go b/apis/servicenetworking/v1beta1/zz_generated.deepcopy.go index 7f3b1cfe0..ba1f89938 100644 --- a/apis/servicenetworking/v1beta1/zz_generated.deepcopy.go +++ b/apis/servicenetworking/v1beta1/zz_generated.deepcopy.go @@ -55,6 +55,44 @@ func (in *Connection) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConnectionInitParameters) DeepCopyInto(out *ConnectionInitParameters) { *out = *in + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ReservedPeeringRanges != nil { + in, out := &in.ReservedPeeringRanges, &out.ReservedPeeringRanges + *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.ReservedPeeringRangesRefs != nil { + in, out := &in.ReservedPeeringRangesRefs, &out.ReservedPeeringRangesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReservedPeeringRangesSelector != nil { + in, out := &in.ReservedPeeringRangesSelector, &out.ReservedPeeringRangesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Service != nil { in, out := &in.Service, &out.Service *out = new(string) diff --git a/apis/servicenetworking/v1beta1/zz_generated.resolvers.go b/apis/servicenetworking/v1beta1/zz_generated.resolvers.go index 3effe04ad..0840378d0 100644 --- a/apis/servicenetworking/v1beta1/zz_generated.resolvers.go +++ b/apis/servicenetworking/v1beta1/zz_generated.resolvers.go @@ -66,5 +66,37 @@ func (mg *Connection) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.ReservedPeeringRanges = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.ReservedPeeringRangesRefs = mrsp.ResolvedReferences + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.ReservedPeeringRanges), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.ReservedPeeringRangesRefs, + Selector: mg.Spec.InitProvider.ReservedPeeringRangesSelector, + To: reference.To{ + List: &v1beta1.GlobalAddressList{}, + Managed: &v1beta1.GlobalAddress{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ReservedPeeringRanges") + } + mg.Spec.InitProvider.ReservedPeeringRanges = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.ReservedPeeringRangesRefs = mrsp.ResolvedReferences + return nil } diff --git a/apis/sourcerepo/v1beta1/zz_generated.deepcopy.go b/apis/sourcerepo/v1beta1/zz_generated.deepcopy.go index 617cb1a12..ccf549522 100644 --- a/apis/sourcerepo/v1beta1/zz_generated.deepcopy.go +++ b/apis/sourcerepo/v1beta1/zz_generated.deepcopy.go @@ -123,6 +123,36 @@ func (in *PubsubConfigsInitParameters) DeepCopyInto(out *PubsubConfigsInitParame *out = new(string) **out = **in } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.ServiceAccountEmailRef != nil { + in, out := &in.ServiceAccountEmailRef, &out.ServiceAccountEmailRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountEmailSelector != nil { + in, out := &in.ServiceAccountEmailSelector, &out.ServiceAccountEmailSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigsInitParameters. @@ -289,6 +319,21 @@ func (in *RepositoryIAMMemberInitParameters) DeepCopyInto(out *RepositoryIAMMemb *out = new(string) **out = **in } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.RepositoryRef != nil { + in, out := &in.RepositoryRef, &out.RepositoryRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RepositorySelector != nil { + in, out := &in.RepositorySelector, &out.RepositorySelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Role != nil { in, out := &in.Role, &out.Role *out = new(string) diff --git a/apis/sourcerepo/v1beta1/zz_generated.resolvers.go b/apis/sourcerepo/v1beta1/zz_generated.resolvers.go index 685f85f51..54aa7b42d 100644 --- a/apis/sourcerepo/v1beta1/zz_generated.resolvers.go +++ b/apis/sourcerepo/v1beta1/zz_generated.resolvers.go @@ -69,6 +69,42 @@ func (mg *Repository) ResolveReferences(ctx context.Context, c client.Reader) er mg.Spec.ForProvider.PubsubConfigs[i3].Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.PubsubConfigs[i3].TopicRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PubsubConfigs); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmail), + Extract: resource.ExtractParamPath("email", true), + Reference: mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmailRef, + Selector: mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmailSelector, + To: reference.To{ + List: &v1beta1.ServiceAccountList{}, + Managed: &v1beta1.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmail") + } + mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmail = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PubsubConfigs[i3].ServiceAccountEmailRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.PubsubConfigs); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PubsubConfigs[i3].Topic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PubsubConfigs[i3].TopicRef, + Selector: mg.Spec.InitProvider.PubsubConfigs[i3].TopicSelector, + To: reference.To{ + List: &v1beta11.TopicList{}, + Managed: &v1beta11.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PubsubConfigs[i3].Topic") + } + mg.Spec.InitProvider.PubsubConfigs[i3].Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PubsubConfigs[i3].TopicRef = rsp.ResolvedReference + } return nil @@ -97,5 +133,21 @@ func (mg *RepositoryIAMMember) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Repository = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RepositoryRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Repository), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RepositoryRef, + Selector: mg.Spec.InitProvider.RepositorySelector, + To: reference.To{ + List: &RepositoryList{}, + Managed: &Repository{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Repository") + } + mg.Spec.InitProvider.Repository = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RepositoryRef = rsp.ResolvedReference + return nil } diff --git a/apis/sourcerepo/v1beta1/zz_repository_types.go b/apis/sourcerepo/v1beta1/zz_repository_types.go index 858e57b09..676e19f64 100755 --- a/apis/sourcerepo/v1beta1/zz_repository_types.go +++ b/apis/sourcerepo/v1beta1/zz_repository_types.go @@ -33,6 +33,35 @@ type PubsubConfigsInitParameters struct { // The format of the Cloud Pub/Sub messages. MessageFormat *string `json:"messageFormat,omitempty" tf:"message_format,omitempty"` + + // Email address of the service account used for publishing Cloud Pub/Sub messages. + // This service account needs to be in the same project as the PubsubConfig. When added, + // the caller needs to have iam.serviceAccounts.actAs permission on this service account. + // If unspecified, it defaults to the compute engine default service account. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true) + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailRef *v1.Reference `json:"serviceAccountEmailRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccountEmail. + // +kubebuilder:validation:Optional + ServiceAccountEmailSelector *v1.Selector `json:"serviceAccountEmailSelector,omitempty" tf:"-"` + + // The identifier for this object. Format specified above. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type PubsubConfigsObservation struct { diff --git a/apis/sourcerepo/v1beta1/zz_repositoryiammember_types.go b/apis/sourcerepo/v1beta1/zz_repositoryiammember_types.go index 2a880b62f..50c760a06 100755 --- a/apis/sourcerepo/v1beta1/zz_repositoryiammember_types.go +++ b/apis/sourcerepo/v1beta1/zz_repositoryiammember_types.go @@ -64,6 +64,17 @@ type RepositoryIAMMemberInitParameters struct { Project *string `json:"project,omitempty" tf:"project,omitempty"` + // +crossplane:generate:reference:type=Repository + Repository *string `json:"repository,omitempty" tf:"repository,omitempty"` + + // Reference to a Repository to populate repository. + // +kubebuilder:validation:Optional + RepositoryRef *v1.Reference `json:"repositoryRef,omitempty" tf:"-"` + + // Selector for a Repository to populate repository. + // +kubebuilder:validation:Optional + RepositorySelector *v1.Selector `json:"repositorySelector,omitempty" tf:"-"` + Role *string `json:"role,omitempty" tf:"role,omitempty"` } diff --git a/apis/spanner/v1beta1/zz_databaseiammember_types.go b/apis/spanner/v1beta1/zz_databaseiammember_types.go index 994c93f91..14916a9f9 100755 --- a/apis/spanner/v1beta1/zz_databaseiammember_types.go +++ b/apis/spanner/v1beta1/zz_databaseiammember_types.go @@ -60,6 +60,30 @@ type ConditionParameters struct { type DatabaseIAMMemberInitParameters struct { Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Database + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Database *string `json:"database,omitempty" tf:"database,omitempty"` + + // Reference to a Database to populate database. + // +kubebuilder:validation:Optional + DatabaseRef *v1.Reference `json:"databaseRef,omitempty" tf:"-"` + + // Selector for a Database to populate database. + // +kubebuilder:validation:Optional + DatabaseSelector *v1.Selector `json:"databaseSelector,omitempty" tf:"-"` + + // +crossplane:generate:reference:type=Instance + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/spanner/v1beta1/zz_generated.deepcopy.go b/apis/spanner/v1beta1/zz_generated.deepcopy.go index da1fedd09..6001dceba 100644 --- a/apis/spanner/v1beta1/zz_generated.deepcopy.go +++ b/apis/spanner/v1beta1/zz_generated.deepcopy.go @@ -179,6 +179,36 @@ func (in *DatabaseIAMMemberInitParameters) DeepCopyInto(out *DatabaseIAMMemberIn (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.DatabaseRef != nil { + in, out := &in.DatabaseRef, &out.DatabaseRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DatabaseSelector != nil { + in, out := &in.DatabaseSelector, &out.DatabaseSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) @@ -882,6 +912,21 @@ func (in *InstanceIAMMemberInitParameters) DeepCopyInto(out *InstanceIAMMemberIn (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Member != nil { in, out := &in.Member, &out.Member *out = new(string) diff --git a/apis/spanner/v1beta1/zz_generated.resolvers.go b/apis/spanner/v1beta1/zz_generated.resolvers.go index d13358858..c69a0fe13 100644 --- a/apis/spanner/v1beta1/zz_generated.resolvers.go +++ b/apis/spanner/v1beta1/zz_generated.resolvers.go @@ -90,6 +90,38 @@ func (mg *DatabaseIAMMember) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Database), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.DatabaseRef, + Selector: mg.Spec.InitProvider.DatabaseSelector, + To: reference.To{ + List: &DatabaseList{}, + Managed: &Database{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Database") + } + mg.Spec.InitProvider.Database = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DatabaseRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } @@ -116,5 +148,21 @@ func (mg *InstanceIAMMember) ResolveReferences(ctx context.Context, c client.Rea mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: common.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &InstanceList{}, + Managed: &Instance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } diff --git a/apis/spanner/v1beta1/zz_instanceiammember_types.go b/apis/spanner/v1beta1/zz_instanceiammember_types.go index 09bb5ffa7..2f9dace42 100755 --- a/apis/spanner/v1beta1/zz_instanceiammember_types.go +++ b/apis/spanner/v1beta1/zz_instanceiammember_types.go @@ -60,6 +60,18 @@ type InstanceIAMMemberConditionParameters struct { type InstanceIAMMemberInitParameters struct { Condition []InstanceIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` + // +crossplane:generate:reference:type=Instance + // +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID() + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a Instance to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + Member *string `json:"member,omitempty" tf:"member,omitempty"` Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/sql/v1beta1/zz_databaseinstance_types.go b/apis/sql/v1beta1/zz_databaseinstance_types.go index 6b8fad042..ddcc19c66 100755 --- a/apis/sql/v1beta1/zz_databaseinstance_types.go +++ b/apis/sql/v1beta1/zz_databaseinstance_types.go @@ -636,6 +636,23 @@ type IPConfigurationInitParameters struct { // private_network must be configured. IPv4Enabled *bool `json:"ipv4Enabled,omitempty" tf:"ipv4_enabled,omitempty"` + // The VPC network from which the Cloud SQL + // instance is accessible for private IP. For example, projects/myProject/global/networks/default. + // Specifying a network enables private IP. + // At least ipv4_enabled must be enabled or a private_network must be configured. + // This setting can be updated, but it cannot be removed after it is set. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PrivateNetwork *string `json:"privateNetwork,omitempty" tf:"private_network,omitempty"` + + // Reference to a Network in compute to populate privateNetwork. + // +kubebuilder:validation:Optional + PrivateNetworkRef *v1.Reference `json:"privateNetworkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate privateNetwork. + // +kubebuilder:validation:Optional + PrivateNetworkSelector *v1.Selector `json:"privateNetworkSelector,omitempty" tf:"-"` + // Whether SSL connections over IP are enforced or not. RequireSSL *bool `json:"requireSsl,omitempty" tf:"require_ssl,omitempty"` } diff --git a/apis/sql/v1beta1/zz_generated.deepcopy.go b/apis/sql/v1beta1/zz_generated.deepcopy.go index 45a1bf3e6..240aa6b8c 100644 --- a/apis/sql/v1beta1/zz_generated.deepcopy.go +++ b/apis/sql/v1beta1/zz_generated.deepcopy.go @@ -1526,6 +1526,21 @@ func (in *IPConfigurationInitParameters) DeepCopyInto(out *IPConfigurationInitPa *out = new(bool) **out = **in } + if in.PrivateNetwork != nil { + in, out := &in.PrivateNetwork, &out.PrivateNetwork + *out = new(string) + **out = **in + } + if in.PrivateNetworkRef != nil { + in, out := &in.PrivateNetworkRef, &out.PrivateNetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PrivateNetworkSelector != nil { + in, out := &in.PrivateNetworkSelector, &out.PrivateNetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RequireSSL != nil { in, out := &in.RequireSSL, &out.RequireSSL *out = new(bool) @@ -2670,6 +2685,21 @@ func (in *SSLCertInitParameters) DeepCopyInto(out *SSLCertInitParameters) { *out = new(string) **out = **in } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -3868,6 +3898,21 @@ func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters) { *out = new(string) **out = **in } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.InstanceRef != nil { + in, out := &in.InstanceRef, &out.InstanceRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceSelector != nil { + in, out := &in.InstanceSelector, &out.InstanceSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PasswordPolicy != nil { in, out := &in.PasswordPolicy, &out.PasswordPolicy *out = make([]PasswordPolicyInitParameters, len(*in)) diff --git a/apis/sql/v1beta1/zz_generated.resolvers.go b/apis/sql/v1beta1/zz_generated.resolvers.go index f14d2b6a9..760126f2b 100644 --- a/apis/sql/v1beta1/zz_generated.resolvers.go +++ b/apis/sql/v1beta1/zz_generated.resolvers.go @@ -79,6 +79,26 @@ func (mg *DatabaseInstance) ResolveReferences(ctx context.Context, c client.Read } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Settings); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Settings[i3].IPConfiguration); i4++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetwork), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetworkRef, + Selector: mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetwork") + } + mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Settings[i3].IPConfiguration[i4].PrivateNetworkRef = rsp.ResolvedReference + + } + } return nil } @@ -106,6 +126,22 @@ func (mg *SSLCert) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &DatabaseInstanceList{}, + Managed: &DatabaseInstance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } @@ -132,5 +168,21 @@ func (mg *User) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Instance), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceRef, + Selector: mg.Spec.InitProvider.InstanceSelector, + To: reference.To{ + List: &DatabaseInstanceList{}, + Managed: &DatabaseInstance{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Instance") + } + mg.Spec.InitProvider.Instance = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceRef = rsp.ResolvedReference + return nil } diff --git a/apis/sql/v1beta1/zz_sslcert_types.go b/apis/sql/v1beta1/zz_sslcert_types.go index bbbe79e06..2d41cc45f 100755 --- a/apis/sql/v1beta1/zz_sslcert_types.go +++ b/apis/sql/v1beta1/zz_sslcert_types.go @@ -35,6 +35,19 @@ type SSLCertInitParameters struct { // client. Constrained to [a-zA-Z.-_ ]+. Changing this forces a new resource to be created. CommonName *string `json:"commonName,omitempty" tf:"common_name,omitempty"` + // The name of the Cloud SQL instance. Changing this + // forces a new resource to be created. + // +crossplane:generate:reference:type=DatabaseInstance + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a DatabaseInstance to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a DatabaseInstance to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/sql/v1beta1/zz_user_types.go b/apis/sql/v1beta1/zz_user_types.go index 24e4183fe..e7bec5f1e 100755 --- a/apis/sql/v1beta1/zz_user_types.go +++ b/apis/sql/v1beta1/zz_user_types.go @@ -119,6 +119,19 @@ type UserInitParameters struct { // Can be an IP address. Changing this forces a new resource to be created. Host *string `json:"host,omitempty" tf:"host,omitempty"` + // The name of the Cloud SQL instance. Changing this + // forces a new resource to be created. + // +crossplane:generate:reference:type=DatabaseInstance + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // Reference to a DatabaseInstance to populate instance. + // +kubebuilder:validation:Optional + InstanceRef *v1.Reference `json:"instanceRef,omitempty" tf:"-"` + + // Selector for a DatabaseInstance to populate instance. + // +kubebuilder:validation:Optional + InstanceSelector *v1.Selector `json:"instanceSelector,omitempty" tf:"-"` + PasswordPolicy []PasswordPolicyInitParameters `json:"passwordPolicy,omitempty" tf:"password_policy,omitempty"` // The ID of the project in which the resource belongs. If it diff --git a/apis/storage/v1beta1/zz_bucketaccesscontrol_types.go b/apis/storage/v1beta1/zz_bucketaccesscontrol_types.go index 1387f9fb6..58b5e5b74 100755 --- a/apis/storage/v1beta1/zz_bucketaccesscontrol_types.go +++ b/apis/storage/v1beta1/zz_bucketaccesscontrol_types.go @@ -31,6 +31,18 @@ import ( type BucketAccessControlInitParameters struct { + // The name of the bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // The entity holding the permission, in one of the following forms: // user-userId // user-email diff --git a/apis/storage/v1beta1/zz_bucketacl_types.go b/apis/storage/v1beta1/zz_bucketacl_types.go index 1b69cc334..5a32ad75d 100755 --- a/apis/storage/v1beta1/zz_bucketacl_types.go +++ b/apis/storage/v1beta1/zz_bucketacl_types.go @@ -31,6 +31,18 @@ import ( type BucketACLInitParameters struct { + // The name of the bucket it applies to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // Configure this ACL to be the default ACL. DefaultACL *string `json:"defaultAcl,omitempty" tf:"default_acl,omitempty"` diff --git a/apis/storage/v1beta1/zz_bucketiammember_types.go b/apis/storage/v1beta1/zz_bucketiammember_types.go index 9d72132b6..6238c77c2 100755 --- a/apis/storage/v1beta1/zz_bucketiammember_types.go +++ b/apis/storage/v1beta1/zz_bucketiammember_types.go @@ -58,6 +58,18 @@ type BucketIAMMemberConditionParameters struct { } type BucketIAMMemberInitParameters struct { + + // +crossplane:generate:reference:type=Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + Condition []BucketIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"` Member *string `json:"member,omitempty" tf:"member,omitempty"` diff --git a/apis/storage/v1beta1/zz_bucketobject_types.go b/apis/storage/v1beta1/zz_bucketobject_types.go index 51d1874a1..af4c3b64d 100755 --- a/apis/storage/v1beta1/zz_bucketobject_types.go +++ b/apis/storage/v1beta1/zz_bucketobject_types.go @@ -31,6 +31,18 @@ import ( type BucketObjectInitParameters struct { + // The name of the containing bucket. + // +crossplane:generate:reference:type=Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // Cache-Control // directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600 CacheControl *string `json:"cacheControl,omitempty" tf:"cache_control,omitempty"` diff --git a/apis/storage/v1beta1/zz_defaultobjectaccesscontrol_types.go b/apis/storage/v1beta1/zz_defaultobjectaccesscontrol_types.go index 03f3a0b59..b6a5ccbdb 100755 --- a/apis/storage/v1beta1/zz_defaultobjectaccesscontrol_types.go +++ b/apis/storage/v1beta1/zz_defaultobjectaccesscontrol_types.go @@ -31,6 +31,18 @@ import ( type DefaultObjectAccessControlInitParameters struct { + // The name of the bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // The entity holding the permission, in one of the following forms: Entity *string `json:"entity,omitempty" tf:"entity,omitempty"` diff --git a/apis/storage/v1beta1/zz_defaultobjectacl_types.go b/apis/storage/v1beta1/zz_defaultobjectacl_types.go index 7f894e0f5..210f70cf4 100755 --- a/apis/storage/v1beta1/zz_defaultobjectacl_types.go +++ b/apis/storage/v1beta1/zz_defaultobjectacl_types.go @@ -31,6 +31,18 @@ import ( type DefaultObjectACLInitParameters struct { + // The name of the bucket it applies to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // List of role/entity pairs in the form ROLE:entity. // See GCS Object ACL documentation for more details. // Omitting the field is the same as providing an empty list. diff --git a/apis/storage/v1beta1/zz_generated.deepcopy.go b/apis/storage/v1beta1/zz_generated.deepcopy.go index 827b7547c..3d6feb704 100644 --- a/apis/storage/v1beta1/zz_generated.deepcopy.go +++ b/apis/storage/v1beta1/zz_generated.deepcopy.go @@ -217,6 +217,21 @@ func (in *BucketACL) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BucketACLInitParameters) DeepCopyInto(out *BucketACLInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultACL != nil { in, out := &in.DefaultACL, &out.DefaultACL *out = new(string) @@ -444,6 +459,21 @@ func (in *BucketAccessControl) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BucketAccessControlInitParameters) DeepCopyInto(out *BucketAccessControlInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Entity != nil { in, out := &in.Entity, &out.Entity *out = new(string) @@ -738,6 +768,21 @@ func (in *BucketIAMMemberConditionParameters) DeepCopy() *BucketIAMMemberConditi // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BucketIAMMemberInitParameters) DeepCopyInto(out *BucketIAMMemberInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Condition != nil { in, out := &in.Condition, &out.Condition *out = make([]BucketIAMMemberConditionInitParameters, len(*in)) @@ -1124,6 +1169,21 @@ func (in *BucketObject) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BucketObjectInitParameters) DeepCopyInto(out *BucketObjectInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CacheControl != nil { in, out := &in.CacheControl, &out.CacheControl *out = new(string) @@ -2457,6 +2517,21 @@ func (in *DefaultObjectACL) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DefaultObjectACLInitParameters) DeepCopyInto(out *DefaultObjectACLInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.RoleEntity != nil { in, out := &in.RoleEntity, &out.RoleEntity *out = make([]*string, len(*in)) @@ -2654,6 +2729,21 @@ func (in *DefaultObjectAccessControl) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DefaultObjectAccessControlInitParameters) DeepCopyInto(out *DefaultObjectAccessControlInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Entity != nil { in, out := &in.Entity, &out.Entity *out = new(string) @@ -3112,6 +3202,21 @@ func (in *Notification) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NotificationInitParameters) DeepCopyInto(out *NotificationInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CustomAttributes != nil { in, out := &in.CustomAttributes, &out.CustomAttributes *out = make(map[string]*string, len(*in)) @@ -3149,6 +3254,21 @@ func (in *NotificationInitParameters) DeepCopyInto(out *NotificationInitParamete *out = new(string) **out = **in } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.TopicRef != nil { + in, out := &in.TopicRef, &out.TopicRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TopicSelector != nil { + in, out := &in.TopicSelector, &out.TopicSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationInitParameters. @@ -3417,6 +3537,36 @@ func (in *ObjectACL) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ObjectACLInitParameters) DeepCopyInto(out *ObjectACLInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.ObjectRef != nil { + in, out := &in.ObjectRef, &out.ObjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ObjectSelector != nil { + in, out := &in.ObjectSelector, &out.ObjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.PredefinedACL != nil { in, out := &in.PredefinedACL, &out.PredefinedACL *out = new(string) @@ -3649,11 +3799,41 @@ func (in *ObjectAccessControl) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ObjectAccessControlInitParameters) DeepCopyInto(out *ObjectAccessControlInitParameters) { *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Entity != nil { in, out := &in.Entity, &out.Entity *out = new(string) **out = **in } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.ObjectRef != nil { + in, out := &in.ObjectRef, &out.ObjectRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ObjectSelector != nil { + in, out := &in.ObjectSelector, &out.ObjectSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Role != nil { in, out := &in.Role, &out.Role *out = new(string) diff --git a/apis/storage/v1beta1/zz_generated.resolvers.go b/apis/storage/v1beta1/zz_generated.resolvers.go index 0c8d9d956..44298f343 100644 --- a/apis/storage/v1beta1/zz_generated.resolvers.go +++ b/apis/storage/v1beta1/zz_generated.resolvers.go @@ -49,6 +49,22 @@ func (mg *BucketACL) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -75,6 +91,22 @@ func (mg *BucketAccessControl) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -101,6 +133,22 @@ func (mg *BucketIAMMember) ResolveReferences(ctx context.Context, c client.Reade mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -127,6 +175,22 @@ func (mg *BucketObject) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -153,6 +217,22 @@ func (mg *DefaultObjectACL) ResolveReferences(ctx context.Context, c client.Read mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -179,6 +259,22 @@ func (mg *DefaultObjectAccessControl) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.BucketRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + return nil } @@ -221,6 +317,38 @@ func (mg *Notification) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TopicRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Topic), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.TopicRef, + Selector: mg.Spec.InitProvider.TopicSelector, + To: reference.To{ + List: &v1beta1.TopicList{}, + Managed: &v1beta1.Topic{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Topic") + } + mg.Spec.InitProvider.Topic = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TopicRef = rsp.ResolvedReference + return nil } @@ -263,6 +391,38 @@ func (mg *ObjectACL) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Object = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ObjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Object), + Extract: resource.ExtractParamPath("output_name", true), + Reference: mg.Spec.InitProvider.ObjectRef, + Selector: mg.Spec.InitProvider.ObjectSelector, + To: reference.To{ + List: &BucketObjectList{}, + Managed: &BucketObject{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Object") + } + mg.Spec.InitProvider.Object = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ObjectRef = rsp.ResolvedReference + return nil } @@ -305,5 +465,37 @@ func (mg *ObjectAccessControl) ResolveReferences(ctx context.Context, c client.R mg.Spec.ForProvider.Object = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ObjectRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.BucketRef, + Selector: mg.Spec.InitProvider.BucketSelector, + To: reference.To{ + List: &BucketList{}, + Managed: &Bucket{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Bucket") + } + mg.Spec.InitProvider.Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.BucketRef = rsp.ResolvedReference + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Object), + Extract: resource.ExtractParamPath("output_name", true), + Reference: mg.Spec.InitProvider.ObjectRef, + Selector: mg.Spec.InitProvider.ObjectSelector, + To: reference.To{ + List: &BucketObjectList{}, + Managed: &BucketObject{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Object") + } + mg.Spec.InitProvider.Object = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ObjectRef = rsp.ResolvedReference + return nil } diff --git a/apis/storage/v1beta1/zz_notification_types.go b/apis/storage/v1beta1/zz_notification_types.go index 5f8dde2c6..42dbdc142 100755 --- a/apis/storage/v1beta1/zz_notification_types.go +++ b/apis/storage/v1beta1/zz_notification_types.go @@ -31,6 +31,18 @@ import ( type NotificationInitParameters struct { + // The name of the bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription // +mapType=granular CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"` @@ -44,6 +56,22 @@ type NotificationInitParameters struct { // The desired content of the Payload. One of "JSON_API_V1" or "NONE". PayloadFormat *string `json:"payloadFormat,omitempty" tf:"payload_format,omitempty"` + + // The Cloud PubSub topic to which this subscription publishes. Expects either the + // topic name, assumed to belong to the default GCP provider project, or the project-level name, + // i.e. projects/my-gcp-project/topics/my-topic or my-topic. If the project is not set in the provider, + // you will need to use the project-level name. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/pubsub/v1beta1.Topic + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` + + // Reference to a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicRef *v1.Reference `json:"topicRef,omitempty" tf:"-"` + + // Selector for a Topic in pubsub to populate topic. + // +kubebuilder:validation:Optional + TopicSelector *v1.Selector `json:"topicSelector,omitempty" tf:"-"` } type NotificationObservation struct { diff --git a/apis/storage/v1beta1/zz_objectaccesscontrol_types.go b/apis/storage/v1beta1/zz_objectaccesscontrol_types.go index 509d78772..4e401b3ec 100755 --- a/apis/storage/v1beta1/zz_objectaccesscontrol_types.go +++ b/apis/storage/v1beta1/zz_objectaccesscontrol_types.go @@ -31,9 +31,34 @@ import ( type ObjectAccessControlInitParameters struct { + // The name of the bucket. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + // The entity holding the permission, in one of the following forms: Entity *string `json:"entity,omitempty" tf:"entity,omitempty"` + // The name of the object to apply the access control to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.BucketObject + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("output_name",true) + Object *string `json:"object,omitempty" tf:"object,omitempty"` + + // Reference to a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectRef *v1.Reference `json:"objectRef,omitempty" tf:"-"` + + // Selector for a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectSelector *v1.Selector `json:"objectSelector,omitempty" tf:"-"` + // The access permission for the entity. // Possible values are: OWNER, READER. Role *string `json:"role,omitempty" tf:"role,omitempty"` diff --git a/apis/storage/v1beta1/zz_objectacl_types.go b/apis/storage/v1beta1/zz_objectacl_types.go index a68faecac..0c2f7ebb9 100755 --- a/apis/storage/v1beta1/zz_objectacl_types.go +++ b/apis/storage/v1beta1/zz_objectacl_types.go @@ -31,6 +31,31 @@ import ( type ObjectACLInitParameters struct { + // The name of the bucket the object is stored in. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in storage to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + + // The name of the object to apply the acl to. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta1.BucketObject + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("output_name",true) + Object *string `json:"object,omitempty" tf:"object,omitempty"` + + // Reference to a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectRef *v1.Reference `json:"objectRef,omitempty" tf:"-"` + + // Selector for a BucketObject in storage to populate object. + // +kubebuilder:validation:Optional + ObjectSelector *v1.Selector `json:"objectSelector,omitempty" tf:"-"` + // The "canned" predefined ACL to apply. Must be set if role_entity is not. PredefinedACL *string `json:"predefinedAcl,omitempty" tf:"predefined_acl,omitempty"` diff --git a/apis/tpu/v1beta1/zz_generated.deepcopy.go b/apis/tpu/v1beta1/zz_generated.deepcopy.go index 9d2a0374e..9eee4eee6 100644 --- a/apis/tpu/v1beta1/zz_generated.deepcopy.go +++ b/apis/tpu/v1beta1/zz_generated.deepcopy.go @@ -141,6 +141,21 @@ func (in *NodeInitParameters) DeepCopyInto(out *NodeInitParameters) { (*out)[key] = outVal } } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) diff --git a/apis/tpu/v1beta1/zz_generated.resolvers.go b/apis/tpu/v1beta1/zz_generated.resolvers.go index 883bd303f..adaaca332 100644 --- a/apis/tpu/v1beta1/zz_generated.resolvers.go +++ b/apis/tpu/v1beta1/zz_generated.resolvers.go @@ -49,5 +49,21 @@ func (mg *Node) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: resource.ExtractParamPath("network", false), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.ConnectionList{}, + Managed: &v1beta1.Connection{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + return nil } diff --git a/apis/tpu/v1beta1/zz_node_types.go b/apis/tpu/v1beta1/zz_node_types.go index b1ff09c53..3bf0c1489 100755 --- a/apis/tpu/v1beta1/zz_node_types.go +++ b/apis/tpu/v1beta1/zz_node_types.go @@ -68,6 +68,22 @@ type NodeInitParameters struct { // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + // The name of a network to peer the TPU node to. It must be a + // preexisting Compute Engine network inside of the project on which + // this API has been activated. If none is provided, "default" will be + // used. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/servicenetworking/v1beta1.Connection + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("network",false) + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Connection in servicenetworking to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Connection in servicenetworking to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` diff --git a/apis/vertexai/v1beta1/zz_featurestoreentitytype_types.go b/apis/vertexai/v1beta1/zz_featurestoreentitytype_types.go index f0d4cd691..3acc3c29f 100755 --- a/apis/vertexai/v1beta1/zz_featurestoreentitytype_types.go +++ b/apis/vertexai/v1beta1/zz_featurestoreentitytype_types.go @@ -53,6 +53,19 @@ type FeaturestoreEntitytypeInitParameters struct { // Optional. Description of the EntityType. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // The name of the Featurestore to use, in the format projects/{project}/locations/{location}/featurestores/{featurestore}. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/vertexai/v1beta1.Featurestore + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + Featurestore *string `json:"featurestore,omitempty" tf:"featurestore,omitempty"` + + // Reference to a Featurestore in vertexai to populate featurestore. + // +kubebuilder:validation:Optional + FeaturestoreRef *v1.Reference `json:"featurestoreRef,omitempty" tf:"-"` + + // Selector for a Featurestore in vertexai to populate featurestore. + // +kubebuilder:validation:Optional + FeaturestoreSelector *v1.Selector `json:"featurestoreSelector,omitempty" tf:"-"` + // A set of key/value label pairs to assign to this EntityType. // +mapType=granular Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` diff --git a/apis/vertexai/v1beta1/zz_generated.deepcopy.go b/apis/vertexai/v1beta1/zz_generated.deepcopy.go index ea394de90..7d65ba9ca 100644 --- a/apis/vertexai/v1beta1/zz_generated.deepcopy.go +++ b/apis/vertexai/v1beta1/zz_generated.deepcopy.go @@ -555,6 +555,21 @@ func (in *FeaturestoreEntitytypeInitParameters) DeepCopyInto(out *FeaturestoreEn *out = new(string) **out = **in } + if in.Featurestore != nil { + in, out := &in.Featurestore, &out.Featurestore + *out = new(string) + **out = **in + } + if in.FeaturestoreRef != nil { + in, out := &in.FeaturestoreRef, &out.FeaturestoreRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.FeaturestoreSelector != nil { + in, out := &in.FeaturestoreSelector, &out.FeaturestoreSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Labels != nil { in, out := &in.Labels, &out.Labels *out = make(map[string]*string, len(*in)) diff --git a/apis/vertexai/v1beta1/zz_generated.resolvers.go b/apis/vertexai/v1beta1/zz_generated.resolvers.go index e72cb77a9..326a67791 100644 --- a/apis/vertexai/v1beta1/zz_generated.resolvers.go +++ b/apis/vertexai/v1beta1/zz_generated.resolvers.go @@ -48,5 +48,21 @@ func (mg *FeaturestoreEntitytype) ResolveReferences(ctx context.Context, c clien mg.Spec.ForProvider.Featurestore = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.FeaturestoreRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Featurestore), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.FeaturestoreRef, + Selector: mg.Spec.InitProvider.FeaturestoreSelector, + To: reference.To{ + List: &FeaturestoreList{}, + Managed: &Featurestore{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Featurestore") + } + mg.Spec.InitProvider.Featurestore = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.FeaturestoreRef = rsp.ResolvedReference + return nil } diff --git a/apis/vpcaccess/v1beta1/zz_connector_types.go b/apis/vpcaccess/v1beta1/zz_connector_types.go index 35f9ecfb8..2d895f3e3 100755 --- a/apis/vpcaccess/v1beta1/zz_connector_types.go +++ b/apis/vpcaccess/v1beta1/zz_connector_types.go @@ -49,6 +49,18 @@ type ConnectorInitParameters struct { // Minimum throughput of the connector in Mbps. Default and min is 200. MinThroughput *float64 `json:"minThroughput,omitempty" tf:"min_throughput,omitempty"` + // Name or self_link of the VPC network. Required if ip_cidr_range is set. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Reference to a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // Selector for a Network in compute to populate network. + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project *string `json:"project,omitempty" tf:"project,omitempty"` @@ -161,6 +173,19 @@ type ConnectorParameters struct { type SubnetInitParameters struct { + // Subnet name (relative, not fully qualified). E.g. if the full subnet selfLink is + // https://compute.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetName} the correct input for this field would be {subnetName}" + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Subnetwork + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Reference to a Subnetwork in compute to populate name. + // +kubebuilder:validation:Optional + NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` + + // Selector for a Subnetwork in compute to populate name. + // +kubebuilder:validation:Optional + NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` + // Project in which the subnet exists. If not set, this project is assumed to be the project for which the connector create request was issued. ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` } diff --git a/apis/vpcaccess/v1beta1/zz_generated.deepcopy.go b/apis/vpcaccess/v1beta1/zz_generated.deepcopy.go index 7999b9a35..e9ad63320 100644 --- a/apis/vpcaccess/v1beta1/zz_generated.deepcopy.go +++ b/apis/vpcaccess/v1beta1/zz_generated.deepcopy.go @@ -85,6 +85,21 @@ func (in *ConnectorInitParameters) DeepCopyInto(out *ConnectorInitParameters) { *out = new(float64) **out = **in } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Project != nil { in, out := &in.Project, &out.Project *out = new(string) @@ -349,6 +364,21 @@ func (in *ConnectorStatus) DeepCopy() *ConnectorStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SubnetInitParameters) DeepCopyInto(out *SubnetInitParameters) { *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NameRef != nil { + in, out := &in.NameRef, &out.NameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NameSelector != nil { + in, out := &in.NameSelector, &out.NameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ProjectID != nil { in, out := &in.ProjectID, &out.ProjectID *out = new(string) diff --git a/apis/vpcaccess/v1beta1/zz_generated.resolvers.go b/apis/vpcaccess/v1beta1/zz_generated.resolvers.go index c232f6e77..b3c574f91 100644 --- a/apis/vpcaccess/v1beta1/zz_generated.resolvers.go +++ b/apis/vpcaccess/v1beta1/zz_generated.resolvers.go @@ -65,6 +65,40 @@ func (mg *Connector) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Subnet[i3].Name = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Subnet[i3].NameRef = rsp.ResolvedReference + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkRef, + Selector: mg.Spec.InitProvider.NetworkSelector, + To: reference.To{ + List: &v1beta1.NetworkList{}, + Managed: &v1beta1.Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Network") + } + mg.Spec.InitProvider.Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Subnet); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Subnet[i3].Name), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.Subnet[i3].NameRef, + Selector: mg.Spec.InitProvider.Subnet[i3].NameSelector, + To: reference.To{ + List: &v1beta1.SubnetworkList{}, + Managed: &v1beta1.Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Subnet[i3].Name") + } + mg.Spec.InitProvider.Subnet[i3].Name = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Subnet[i3].NameRef = rsp.ResolvedReference + } return nil diff --git a/apis/workflows/v1beta1/zz_generated.deepcopy.go b/apis/workflows/v1beta1/zz_generated.deepcopy.go index 3105e6ea3..9335ba5cb 100644 --- a/apis/workflows/v1beta1/zz_generated.deepcopy.go +++ b/apis/workflows/v1beta1/zz_generated.deepcopy.go @@ -101,6 +101,21 @@ func (in *WorkflowInitParameters) DeepCopyInto(out *WorkflowInitParameters) { *out = new(string) **out = **in } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountSelector != nil { + in, out := &in.ServiceAccountSelector, &out.ServiceAccountSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.SourceContents != nil { in, out := &in.SourceContents, &out.SourceContents *out = new(string) diff --git a/apis/workflows/v1beta1/zz_generated.resolvers.go b/apis/workflows/v1beta1/zz_generated.resolvers.go index 8661d131c..45eeb292b 100644 --- a/apis/workflows/v1beta1/zz_generated.resolvers.go +++ b/apis/workflows/v1beta1/zz_generated.resolvers.go @@ -49,5 +49,21 @@ func (mg *Workflow) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ServiceAccountRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceAccount), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ServiceAccountRef, + Selector: mg.Spec.InitProvider.ServiceAccountSelector, + To: reference.To{ + List: &v1beta1.ServiceAccountList{}, + Managed: &v1beta1.ServiceAccount{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceAccount") + } + mg.Spec.InitProvider.ServiceAccount = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceAccountRef = rsp.ResolvedReference + return nil } diff --git a/apis/workflows/v1beta1/zz_workflow_types.go b/apis/workflows/v1beta1/zz_workflow_types.go index 0be2748c0..7c0ac3358 100755 --- a/apis/workflows/v1beta1/zz_workflow_types.go +++ b/apis/workflows/v1beta1/zz_workflow_types.go @@ -56,6 +56,25 @@ type WorkflowInitParameters struct { // The region of the workflow. Region *string `json:"region,omitempty" tf:"region,omitempty"` + // Name of the service account associated with the latest workflow version. This service + // account represents the identity of the workflow and determines what permissions the workflow has. + // Format: projects/{project}/serviceAccounts/{account} or {account}. + // Using - as a wildcard for the {project} or not providing one at all will infer the project from the account. + // The {account} value can be the email address or the unique_id of the service account. + // If not provided, workflow will use the project's default service account. + // Modifying this field for an existing workflow results in a new workflow revision. + // +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Reference to a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountRef *v1.Reference `json:"serviceAccountRef,omitempty" tf:"-"` + + // Selector for a ServiceAccount in cloudplatform to populate serviceAccount. + // +kubebuilder:validation:Optional + ServiceAccountSelector *v1.Selector `json:"serviceAccountSelector,omitempty" tf:"-"` + // Workflow code to be executed. The size limit is 32KB. SourceContents *string `json:"sourceContents,omitempty" tf:"source_contents,omitempty"` } diff --git a/go.mod b/go.mod index db58d88c3..7e4e7e7c6 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( dario.cat/mergo v1.0.0 github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231213071410-0b379538ab14 github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 - github.com/crossplane/upjet v1.1.0-rc.0.0.20231213075930-cf1b3462e748 + github.com/crossplane/upjet v1.1.0-rc.0.0.20231227120826-4cb45f9104ac github.com/hashicorp/terraform-json v0.14.0 github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0 github.com/hashicorp/terraform-provider-google v1.20.1-0.20230807163356-c1a5133299b4 diff --git a/go.sum b/go.sum index a62aa0b1e..959ec064b 100644 --- a/go.sum +++ b/go.sum @@ -74,8 +74,8 @@ github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231213071410-0b379538a github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231213071410-0b379538ab14/go.mod h1:pgt7PaTvvOQz3jILyxbCaeleU9MrAqKaNoPJavhGBgM= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 h1:HigXs5tEQxWz0fcj8hzbU2UAZgEM7wPe0XRFOsrtF8Y= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79/go.mod h1:+e4OaFlOcmr0JvINHl/yvEYBrZawzTgj6pQumOH1SS0= -github.com/crossplane/upjet v1.1.0-rc.0.0.20231213075930-cf1b3462e748 h1:lz9T1ODwXYzeFg5EEeW8PbOM6/bBcwWeE0ryCSykTSw= -github.com/crossplane/upjet v1.1.0-rc.0.0.20231213075930-cf1b3462e748/go.mod h1:t9etxIdYaxgyvFPBToikm5zBHi8RIpX8N4mTH77lQFM= +github.com/crossplane/upjet v1.1.0-rc.0.0.20231227120826-4cb45f9104ac h1:T1MTxsPAE/Cs0/EAGjeC29H9O/rO81yol2/5qGsf888= +github.com/crossplane/upjet v1.1.0-rc.0.0.20231227120826-4cb45f9104ac/go.mod h1:t9etxIdYaxgyvFPBToikm5zBHi8RIpX8N4mTH77lQFM= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpTVGlwA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/package/crds/accesscontextmanager.gcp.upbound.io_accesslevelconditions.yaml b/package/crds/accesscontextmanager.gcp.upbound.io_accesslevelconditions.yaml index fccb52fc8..4fe3899ca 100644 --- a/package/crds/accesscontextmanager.gcp.upbound.io_accesslevelconditions.yaml +++ b/package/crds/accesscontextmanager.gcp.upbound.io_accesslevelconditions.yaml @@ -257,6 +257,85 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + accessLevel: + description: The name of the Access Level to add this condition + to. + type: string + accessLevelRef: + description: Reference to a AccessLevel in accesscontextmanager + to populate accessLevel. + 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 + accessLevelSelector: + description: Selector for a AccessLevel in accesscontextmanager + to populate accessLevel. + 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 devicePolicy: description: Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices diff --git a/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeterresources.yaml b/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeterresources.yaml index 8c79f8f51..142897dc7 100644 --- a/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeterresources.yaml +++ b/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeterresources.yaml @@ -165,6 +165,85 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + perimeterName: + description: The name of the Service Perimeter to add this resource + to. + type: string + perimeterNameRef: + description: Reference to a ServicePerimeter in accesscontextmanager + to populate perimeterName. + 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 + perimeterNameSelector: + description: Selector for a ServicePerimeter in accesscontextmanager + to populate perimeterName. + 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 resource: description: 'A GCP resource that is inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}' diff --git a/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeters.yaml b/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeters.yaml index 96868a54a..7fe163f3c 100644 --- a/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeters.yaml +++ b/package/crds/accesscontextmanager.gcp.upbound.io_serviceperimeters.yaml @@ -1006,6 +1006,100 @@ spec: set. Structure is documented below. items: properties: + accessLevels: + description: 'A list of AccessLevel resource names that + allow resources within the ServicePerimeter to be accessed + from the internet. AccessLevels listed must be in the + same policy as this ServicePerimeter. Referencing a nonexistent + AccessLevel is a syntax error. If no AccessLevel names + are listed, resources within the perimeter can only be + accessed via GCP calls with request origins within the + perimeter. For Service Perimeter Bridge, must be empty. + Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}' + items: + type: string + type: array + accessLevelsRefs: + description: References to AccessLevel to populate accessLevels. + items: + description: A Reference to a named object. + 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 + type: array + accessLevelsSelector: + description: Selector for a list of AccessLevel to populate + accessLevels. + 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 egressPolicies: description: List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of @@ -1283,6 +1377,100 @@ spec: perimeter content and boundaries. Structure is documented below. items: properties: + accessLevels: + description: 'A list of AccessLevel resource names that + allow resources within the ServicePerimeter to be accessed + from the internet. AccessLevels listed must be in the + same policy as this ServicePerimeter. Referencing a nonexistent + AccessLevel is a syntax error. If no AccessLevel names + are listed, resources within the perimeter can only be + accessed via GCP calls with request origins within the + perimeter. For Service Perimeter Bridge, must be empty. + Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}' + items: + type: string + type: array + accessLevelsRefs: + description: References to AccessLevel to populate accessLevels. + items: + description: A Reference to a named object. + 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 + type: array + accessLevelsSelector: + description: Selector for a list of AccessLevel to populate + accessLevels. + 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 egressPolicies: description: List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of @@ -1423,6 +1611,113 @@ spec: below. items: properties: + accessLevel: + description: An AccessLevel resource name + that allow resources within the ServicePerimeters + to be accessed from the internet. AccessLevels + listed must be in the same policy as + this ServicePerimeter. Referencing a + nonexistent AccessLevel will cause an + error. If no AccessLevel names are listed, + resources within the perimeter can only + be accessed via Google Cloud calls with + request origins within the perimeter. + Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL. + If * is specified, then all IngressSources + will be allowed. + type: string + accessLevelRef: + description: Reference to a AccessLevel + in accesscontextmanager to populate + accessLevel. + 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 + accessLevelSelector: + description: Selector for a AccessLevel + in accesscontextmanager to populate + accessLevel. + 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 resource: description: A Google Cloud resource that is allowed to ingress the perimeter. diff --git a/package/crds/alloydb.gcp.upbound.io_backups.yaml b/package/crds/alloydb.gcp.upbound.io_backups.yaml index 3a1de1e88..636328209 100644 --- a/package/crds/alloydb.gcp.upbound.io_backups.yaml +++ b/package/crds/alloydb.gcp.upbound.io_backups.yaml @@ -187,6 +187,83 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + clusterName: + description: The full resource name of the backup source cluster + (e.g., projects/{project}/locations/{location}/clusters/{clusterId}). + type: string + clusterNameRef: + description: Reference to a Cluster in alloydb to populate clusterName. + 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 + clusterNameSelector: + description: Selector for a Cluster in alloydb to populate clusterName. + 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 description: description: User-provided description of the backup. type: string diff --git a/package/crds/alloydb.gcp.upbound.io_clusters.yaml b/package/crds/alloydb.gcp.upbound.io_clusters.yaml index 2f3fe5a71..1e7434754 100644 --- a/package/crds/alloydb.gcp.upbound.io_clusters.yaml +++ b/package/crds/alloydb.gcp.upbound.io_clusters.yaml @@ -537,6 +537,84 @@ spec: description: User-defined labels for the alloydb cluster. type: object x-kubernetes-map-type: granular + network: + description: 'The relative resource name of the VPC network on + which the instance can be accessed. It is specified in the following + form: "projects/{projectNumber}/global/networks/{network_id}".' + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/apigee.gcp.upbound.io_instances.yaml b/package/crds/apigee.gcp.upbound.io_instances.yaml index 05a3877c1..cf98a894d 100644 --- a/package/crds/apigee.gcp.upbound.io_instances.yaml +++ b/package/crds/apigee.gcp.upbound.io_instances.yaml @@ -284,6 +284,84 @@ spec: description: description: Description of the instance. type: string + diskEncryptionKeyName: + description: 'Customer Managed Encryption Key (CMEK) used for + disk and volume encryption. Required for Apigee paid subscriptions + only. Use the following format: projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)' + type: string + diskEncryptionKeyNameRef: + description: Reference to a CryptoKey in kms to populate diskEncryptionKeyName. + 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 + diskEncryptionKeyNameSelector: + description: Selector for a CryptoKey in kms to populate diskEncryptionKeyName. + 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 displayName: description: Display name of the instance. type: string diff --git a/package/crds/apigee.gcp.upbound.io_organizations.yaml b/package/crds/apigee.gcp.upbound.io_organizations.yaml index 6455b8281..3b5b5db0e 100644 --- a/package/crds/apigee.gcp.upbound.io_organizations.yaml +++ b/package/crds/apigee.gcp.upbound.io_organizations.yaml @@ -304,6 +304,86 @@ spec: description: Primary GCP region for analytics data storage. For valid values, see Create an Apigee organization. type: string + authorizedNetwork: + description: 'Compute Engine network used for Service Networking + to be peered with Apigee runtime instances. See Getting started + with the Service Networking API. Valid only when RuntimeType + is set to CLOUD. The value can be updated only when there are + no runtime instances. For example: "default".' + type: string + authorizedNetworkRef: + description: Reference to a Network in compute to populate authorizedNetwork. + 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 + authorizedNetworkSelector: + description: Selector for a Network in compute to populate authorizedNetwork. + 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 billingType: description: Billing type of the Apigee organization. See Apigee pricing. @@ -356,6 +436,86 @@ spec: Default value is DELETION_RETENTION_UNSPECIFIED. Possible values are: DELETION_RETENTION_UNSPECIFIED, MINIMUM.' type: string + runtimeDatabaseEncryptionKeyName: + description: 'Cloud KMS key name used for encrypting the data + that is stored and replicated across runtime instances. Update + is not allowed after the organization is created. If not specified, + a Google-Managed encryption key will be used. Valid only when + RuntimeType is CLOUD. For example: projects/foo/locations/us/keyRings/bar/cryptoKeys/baz.' + type: string + runtimeDatabaseEncryptionKeyNameRef: + description: Reference to a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName. + 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 + runtimeDatabaseEncryptionKeyNameSelector: + description: Selector for a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName. + 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 runtimeType: description: 'Runtime type of the Apigee organization based on the Apigee subscription purchased. Default value is CLOUD. Possible diff --git a/package/crds/appengine.gcp.upbound.io_applications.yaml b/package/crds/appengine.gcp.upbound.io_applications.yaml index e3f729481..bee2cd941 100644 --- a/package/crds/appengine.gcp.upbound.io_applications.yaml +++ b/package/crds/appengine.gcp.upbound.io_applications.yaml @@ -266,6 +266,86 @@ spec: locationId: description: The location to serve the app from. type: string + project: + description: 'The project ID to create the application under. + ~>NOTE: GCP only accepts project ID, not project number. If + you are using number, you may get a "Permission denied" error.' + type: string + projectRef: + description: Reference to a Project in cloudplatform to populate + project. + 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 + projectSelector: + description: Selector for a Project in cloudplatform to populate + project. + 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 servingStatus: description: The serving status of the app. type: string diff --git a/package/crds/appengine.gcp.upbound.io_applicationurldispatchrules.yaml b/package/crds/appengine.gcp.upbound.io_applicationurldispatchrules.yaml index 5b556956b..56ec59c0e 100644 --- a/package/crds/appengine.gcp.upbound.io_applicationurldispatchrules.yaml +++ b/package/crds/appengine.gcp.upbound.io_applicationurldispatchrules.yaml @@ -203,6 +203,90 @@ spec: The sum of the lengths of the domain and path may not exceed 100 characters. type: string + service: + description: Pathname within the host. Must start with a + "/". A single "*" can be included at the end of the path. + The sum of the lengths of the domain and path may not + exceed 100 characters. + type: string + serviceRef: + description: Reference to a StandardAppVersion in appengine + to populate service. + 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 + serviceSelector: + description: Selector for a StandardAppVersion in appengine + to populate service. + 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 type: object type: array project: diff --git a/package/crds/appengine.gcp.upbound.io_firewallrules.yaml b/package/crds/appengine.gcp.upbound.io_firewallrules.yaml index cc0101365..92e54b6f6 100644 --- a/package/crds/appengine.gcp.upbound.io_firewallrules.yaml +++ b/package/crds/appengine.gcp.upbound.io_firewallrules.yaml @@ -192,6 +192,85 @@ spec: IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + projectRef: + description: Reference to a Application in appengine to populate + project. + 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 + projectSelector: + description: Selector for a Application in appengine to populate + project. + 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 sourceRange: description: IP address or range, defined using CIDR notation, of requests that this rule applies to. diff --git a/package/crds/appengine.gcp.upbound.io_servicenetworksettings.yaml b/package/crds/appengine.gcp.upbound.io_servicenetworksettings.yaml index e0f68be31..e09c82a34 100644 --- a/package/crds/appengine.gcp.upbound.io_servicenetworksettings.yaml +++ b/package/crds/appengine.gcp.upbound.io_servicenetworksettings.yaml @@ -195,6 +195,84 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + service: + description: The name of the service these settings apply to. + type: string + serviceRef: + description: Reference to a StandardAppVersion in appengine to + populate service. + 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 + serviceSelector: + description: Selector for a StandardAppVersion in appengine to + populate service. + 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 type: object managementPolicies: default: diff --git a/package/crds/appengine.gcp.upbound.io_standardappversions.yaml b/package/crds/appengine.gcp.upbound.io_standardappversions.yaml index 0ff97b70c..dfd4c6dba 100644 --- a/package/crds/appengine.gcp.upbound.io_standardappversions.yaml +++ b/package/crds/appengine.gcp.upbound.io_standardappversions.yaml @@ -810,6 +810,87 @@ spec: Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref Substitute with python, java, php, ruby, go or nodejs. type: string + serviceAccount: + description: The identity that the deployed version will run as. + Admin API will use the App Engine Appspot service account as + default if this field is neither provided in app.yaml file nor + through CLI flag. + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 threadsafe: description: Whether multiple requests can be dispatched to this version at once. diff --git a/package/crds/artifact.gcp.upbound.io_registryrepositories.yaml b/package/crds/artifact.gcp.upbound.io_registryrepositories.yaml index 29cac41fb..82d069edd 100644 --- a/package/crds/artifact.gcp.upbound.io_registryrepositories.yaml +++ b/package/crds/artifact.gcp.upbound.io_registryrepositories.yaml @@ -452,6 +452,90 @@ spec: description: Entries with a greater priority value take precedence in the pull order. type: number + repository: + description: 'A reference to the repository resource, + for example: "projects/p1/locations/us-central1/repository/repo1".' + type: string + repositoryRef: + description: Reference to a RegistryRepository in + artifact to populate repository. + 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 + repositorySelector: + description: Selector for a RegistryRepository in + artifact to populate repository. + 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 type: object type: array type: object diff --git a/package/crds/beyondcorp.gcp.upbound.io_appconnections.yaml b/package/crds/beyondcorp.gcp.upbound.io_appconnections.yaml index 666125702..60ed95ef6 100644 --- a/package/crds/beyondcorp.gcp.upbound.io_appconnections.yaml +++ b/package/crds/beyondcorp.gcp.upbound.io_appconnections.yaml @@ -246,6 +246,87 @@ spec: below. items: properties: + appGateway: + description: 'AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.' + type: string + appGatewayRef: + description: Reference to a AppGateway in beyondcorp to + populate appGateway. + 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 + appGatewaySelector: + description: Selector for a AppGateway in beyondcorp to + populate appGateway. + 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 type: description: The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 diff --git a/package/crds/beyondcorp.gcp.upbound.io_appconnectors.yaml b/package/crds/beyondcorp.gcp.upbound.io_appconnectors.yaml index e7a95183b..da158ee92 100644 --- a/package/crds/beyondcorp.gcp.upbound.io_appconnectors.yaml +++ b/package/crds/beyondcorp.gcp.upbound.io_appconnectors.yaml @@ -214,6 +214,90 @@ spec: description: ServiceAccount represents a GCP service account. Structure is documented below. items: + properties: + email: + description: Email address of the service account. + type: string + emailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate email. + 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 + emailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate email. + 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 type: object type: array type: object diff --git a/package/crds/bigquery.gcp.upbound.io_analyticshubdataexchangeiammembers.yaml b/package/crds/bigquery.gcp.upbound.io_analyticshubdataexchangeiammembers.yaml index 864150b86..be376b660 100644 --- a/package/crds/bigquery.gcp.upbound.io_analyticshubdataexchangeiammembers.yaml +++ b/package/crds/bigquery.gcp.upbound.io_analyticshubdataexchangeiammembers.yaml @@ -188,6 +188,83 @@ spec: type: string type: object type: array + dataExchangeId: + type: string + dataExchangeIdRef: + description: Reference to a AnalyticsHubDataExchange in bigquery + to populate dataExchangeId. + 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 + dataExchangeIdSelector: + description: Selector for a AnalyticsHubDataExchange in bigquery + to populate dataExchangeId. + 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 location: type: string member: diff --git a/package/crds/bigquery.gcp.upbound.io_analyticshublistings.yaml b/package/crds/bigquery.gcp.upbound.io_analyticshublistings.yaml index bed11d967..c821c150e 100644 --- a/package/crds/bigquery.gcp.upbound.io_analyticshublistings.yaml +++ b/package/crds/bigquery.gcp.upbound.io_analyticshublistings.yaml @@ -319,6 +319,89 @@ spec: description: Shared dataset i.e. BigQuery dataset source. Structure is documented below. items: + properties: + dataset: + description: Resource name of the dataset source for this + listing. e.g. projects/myproject/datasets/123 + type: string + datasetRef: + description: Reference to a Dataset in bigquery to populate + dataset. + 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 + datasetSelector: + description: Selector for a Dataset in bigquery to populate + dataset. + 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 type: object type: array categories: diff --git a/package/crds/bigquery.gcp.upbound.io_connections.yaml b/package/crds/bigquery.gcp.upbound.io_connections.yaml index 985c92587..8b60b15c3 100644 --- a/package/crds/bigquery.gcp.upbound.io_connections.yaml +++ b/package/crds/bigquery.gcp.upbound.io_connections.yaml @@ -513,8 +513,254 @@ spec: description: Cloud SQL properties. Structure is documented below. items: + properties: + username: + description: Username for database. + type: string + usernameRef: + description: Reference to a User in sql to populate + username. + 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 + usernameSelector: + description: Selector for a User in sql to populate + username. + 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 type: object type: array + database: + description: Database name. + type: string + databaseRef: + description: Reference to a Database in sql to populate + database. + 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 + databaseSelector: + description: Selector for a Database in sql to populate + database. + 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 + instanceId: + description: Cloud SQL instance ID in the form project:location:instance. + type: string + instanceIdRef: + description: Reference to a DatabaseInstance in sql to populate + instanceId. + 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 + instanceIdSelector: + description: Selector for a DatabaseInstance in sql to populate + instanceId. + 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 type: description: 'Type of the Cloud SQL database. Possible values are: DATABASE_TYPE_UNSPECIFIED, POSTGRES, MYSQL.' diff --git a/package/crds/bigquery.gcp.upbound.io_datasetaccesses.yaml b/package/crds/bigquery.gcp.upbound.io_datasetaccesses.yaml index 9cc14a0c2..637347c97 100644 --- a/package/crds/bigquery.gcp.upbound.io_datasetaccesses.yaml +++ b/package/crds/bigquery.gcp.upbound.io_datasetaccesses.yaml @@ -821,6 +821,90 @@ spec: is documented below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. @@ -837,6 +921,84 @@ spec: type: array type: object type: array + datasetId: + description: A unique ID for this dataset, without the project + name. The ID must contain only letters (a-z, A-Z), numbers (0-9), + or underscores (_). The maximum length is 1,024 characters. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to populate datasetId. + 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 domain: description: A domain to grant access to. Any users signed in with the domain specified will be granted the specified access @@ -868,25 +1030,514 @@ spec: this field is set. If that routine is updated by any user, access to the routine needs to be granted again via an update operation. Structure is documented below. - items: - type: object - type: array - specialGroup: - description: 'A special group to grant access to. Possible values - include:' - type: string - view: - description: A view from a different dataset to grant access to. - Queries executed against that view will have read access to - tables in this dataset. The role field is not required when - this field is set. If that view is updated by any user, access - to the view needs to be granted again via an update operation. - Structure is documented below. items: properties: - projectId: - description: The ID of the project containing this table. + datasetId: + description: The ID of the dataset containing this table. type: string + datasetIdRef: + description: Reference to a Routine in bigquery to populate + datasetId. + 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 + datasetIdSelector: + description: Selector for a Routine in bigquery to populate + datasetId. + 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 + projectId: + description: The ID of the project containing this table. + type: string + projectIdRef: + description: Reference to a Routine in bigquery to populate + projectId. + 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 + projectIdSelector: + description: Selector for a Routine in bigquery to populate + projectId. + 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 + routineId: + description: The ID of the routine. The ID must contain + only letters (a-z, A-Z), numbers (0-9), or underscores + (_). The maximum length is 256 characters. + type: string + routineIdRef: + description: Reference to a Routine in bigquery to populate + routineId. + 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 + routineIdSelector: + description: Selector for a Routine in bigquery to populate + routineId. + 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 + type: object + type: array + specialGroup: + description: 'A special group to grant access to. Possible values + include:' + type: string + userByEmail: + description: 'An email address of a user to grant access to. For + example: fred@example.com' + type: string + userByEmailRef: + description: Reference to a ServiceAccount in cloudplatform to + populate userByEmail. + 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 + userByEmailSelector: + description: Selector for a ServiceAccount in cloudplatform to + populate userByEmail. + 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 + view: + description: A view from a different dataset to grant access to. + Queries executed against that view will have read access to + tables in this dataset. The role field is not required when + this field is set. If that view is updated by any user, access + to the view needs to be granted again via an update operation. + Structure is documented below. + items: + properties: + datasetId: + description: The ID of the dataset containing this table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to populate + datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to populate + datasetId. + 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 + projectId: + description: The ID of the project containing this table. + type: string + tableId: + description: The ID of the table. The ID must contain only + letters (a-z, A-Z), numbers (0-9), or underscores (_). + The maximum length is 1,024 characters. + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate + tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate + tableId. + 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 type: object type: array type: object diff --git a/package/crds/bigquery.gcp.upbound.io_datasets.yaml b/package/crds/bigquery.gcp.upbound.io_datasets.yaml index a09cc2596..a8b047b69 100644 --- a/package/crds/bigquery.gcp.upbound.io_datasets.yaml +++ b/package/crds/bigquery.gcp.upbound.io_datasets.yaml @@ -764,6 +764,94 @@ spec: is documented below. items: properties: + datasetId: + description: The ID of the dataset containing + this table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery + to populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery + to populate datasetId. + 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 projectId: description: The ID of the project containing this table. @@ -805,12 +893,348 @@ spec: be granted again via an update operation. Structure is documented below. items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Routine in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Routine in bigquery to + populate datasetId. + 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 + projectId: + description: The ID of the project containing this + table. + type: string + projectIdRef: + description: Reference to a Routine in bigquery to + populate projectId. + 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 + projectIdSelector: + description: Selector for a Routine in bigquery to + populate projectId. + 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 + routineId: + description: The ID of the routine. The ID must contain + only letters (a-z, A-Z), numbers (0-9), or underscores + (_). The maximum length is 256 characters. + type: string + routineIdRef: + description: Reference to a Routine in bigquery to + populate routineId. + 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 + routineIdSelector: + description: Selector for a Routine in bigquery to + populate routineId. + 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 type: object type: array specialGroup: description: 'A special group to grant access to. Possible values include:' type: string + userByEmail: + description: 'An email address of a user to grant access + to. For example: fred@example.com' + type: string + userByEmailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate userByEmail. + 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 + userByEmailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate userByEmail. + 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 view: description: A view from a different dataset to grant access to. Queries executed against that view will have read @@ -854,6 +1278,91 @@ spec: unless table creation request (or query) overrides the key. Structure is documented below. items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key that + will be used to protect destination BigQuery table. The + BigQuery Service Account associated with your project + requires access to this encryption key. + type: string + kmsKeyNameRef: + description: Reference to a CryptoKey in kms to populate + kmsKeyName. + 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 + kmsKeyNameSelector: + description: Selector for a CryptoKey in kms to populate + kmsKeyName. + 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 type: object type: array defaultPartitionExpirationMs: diff --git a/package/crds/bigquery.gcp.upbound.io_datatransferconfigs.yaml b/package/crds/bigquery.gcp.upbound.io_datatransferconfigs.yaml index 0e4d53998..589bf6e36 100644 --- a/package/crds/bigquery.gcp.upbound.io_datatransferconfigs.yaml +++ b/package/crds/bigquery.gcp.upbound.io_datatransferconfigs.yaml @@ -305,6 +305,82 @@ spec: description: The data source id. Cannot be changed once the transfer config is created. type: string + destinationDatasetId: + description: The BigQuery target dataset id. + type: string + destinationDatasetIdRef: + description: Reference to a Dataset in bigquery to populate destinationDatasetId. + 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 + destinationDatasetIdSelector: + description: Selector for a Dataset in bigquery to populate destinationDatasetId. + 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 disabled: description: When set to true, no runs are scheduled for a given transfer. diff --git a/package/crds/bigquery.gcp.upbound.io_jobs.yaml b/package/crds/bigquery.gcp.upbound.io_jobs.yaml index a419d6adf..45a625139 100644 --- a/package/crds/bigquery.gcp.upbound.io_jobs.yaml +++ b/package/crds/bigquery.gcp.upbound.io_jobs.yaml @@ -1540,6 +1540,94 @@ spec: description: Custom encryption configuration (e.g., Cloud KMS keys) Structure is documented below. items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key + that will be used to protect destination BigQuery + table. The BigQuery Service Account associated with + your project requires access to this encryption + key. + type: string + kmsKeyNameRef: + description: Reference to a CryptoKey in kms to populate + kmsKeyName. + 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 + kmsKeyNameSelector: + description: Selector for a CryptoKey in kms to populate + kmsKeyName. + 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 type: object type: array destinationTable: @@ -1547,10 +1635,180 @@ spec: below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. type: string + tableId: + description: The table. Can be specified {{table_id}} + if project_id and dataset_id are also set, or of + the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} + if not. + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate + tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate + tableId. + 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 type: object type: array sourceTables: @@ -1647,10 +1905,180 @@ spec: is documented below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. type: string + tableId: + description: The table. Can be specified {{table_id}} + if project_id and dataset_id are also set, or of + the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} + if not. + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate + tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate + tableId. + 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 type: object type: array useAvroLogicalTypes: @@ -1725,10 +2153,180 @@ spec: Structure is documented below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. type: string + tableId: + description: The table. Can be specified {{table_id}} + if project_id and dataset_id are also set, or of + the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} + if not. + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate + tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate + tableId. + 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 type: object type: array encoding: @@ -1958,6 +2556,90 @@ spec: below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. @@ -1986,10 +2668,180 @@ spec: be populated by BigQuery. Structure is documented below. items: properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to + populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to + populate datasetId. + 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 projectId: description: The ID of the project containing this table. type: string + tableId: + description: The table. Can be specified {{table_id}} + if project_id and dataset_id are also set, or of + the form projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}} + if not. + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate + tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate + tableId. + 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 type: object type: array flattenResults: diff --git a/package/crds/bigquery.gcp.upbound.io_tableiambindings.yaml b/package/crds/bigquery.gcp.upbound.io_tableiambindings.yaml index 15aea7b74..f89ec493b 100644 --- a/package/crds/bigquery.gcp.upbound.io_tableiambindings.yaml +++ b/package/crds/bigquery.gcp.upbound.io_tableiambindings.yaml @@ -261,6 +261,81 @@ spec: type: string type: object type: array + datasetId: + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to populate datasetId. + 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 members: items: type: string @@ -270,6 +345,81 @@ spec: type: string role: type: string + tableId: + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate tableId. + 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 type: object managementPolicies: default: diff --git a/package/crds/bigquery.gcp.upbound.io_tableiampolicies.yaml b/package/crds/bigquery.gcp.upbound.io_tableiampolicies.yaml index 5ad05e2a2..f4da5cb41 100644 --- a/package/crds/bigquery.gcp.upbound.io_tableiampolicies.yaml +++ b/package/crds/bigquery.gcp.upbound.io_tableiampolicies.yaml @@ -241,6 +241,81 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + datasetId: + type: string + datasetIdRef: + description: Reference to a Dataset in bigquery to populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in bigquery to populate datasetId. + 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. @@ -252,6 +327,81 @@ spec: identifier and no project is specified, the provider project is used. type: string + tableId: + type: string + tableIdRef: + description: Reference to a Table in bigquery to populate tableId. + 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 + tableIdSelector: + description: Selector for a Table in bigquery to populate tableId. + 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 type: object managementPolicies: default: diff --git a/package/crds/bigtable.gcp.upbound.io_garbagecollectionpolicies.yaml b/package/crds/bigtable.gcp.upbound.io_garbagecollectionpolicies.yaml index 16459678e..3c51d3c75 100644 --- a/package/crds/bigtable.gcp.upbound.io_garbagecollectionpolicies.yaml +++ b/package/crds/bigtable.gcp.upbound.io_garbagecollectionpolicies.yaml @@ -293,6 +293,82 @@ spec: GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version. type: string + instanceName: + description: The name of the Bigtable instance. + type: string + instanceNameRef: + description: Reference to a Instance in bigtable to populate instanceName. + 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 + instanceNameSelector: + description: Selector for a Instance in bigtable to populate instanceName. + 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 maxAge: description: GC policy that applies to all cells older than the given age. @@ -325,6 +401,82 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + table: + description: The name of the table. + type: string + tableRef: + description: Reference to a Table in bigtable to populate table. + 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 + tableSelector: + description: Selector for a Table in bigtable to populate table. + 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 type: object managementPolicies: default: diff --git a/package/crds/binaryauthorization.gcp.upbound.io_attestors.yaml b/package/crds/binaryauthorization.gcp.upbound.io_attestors.yaml index e618ebb0f..069019ccf 100644 --- a/package/crds/binaryauthorization.gcp.upbound.io_attestors.yaml +++ b/package/crds/binaryauthorization.gcp.upbound.io_attestors.yaml @@ -250,6 +250,94 @@ spec: created by the user. Structure is documented below. items: properties: + noteReference: + description: The resource name of a ATTESTATION_AUTHORITY + Note, created by the user. If the Note is in a different + project from the Attestor, it should be specified in the + format projects/*/notes/* (or the legacy providers/*/notes/*). + This field may not be updated. An attestation by this + attestor is stored as a Container Analysis ATTESTATION_AUTHORITY + Occurrence that names a container image and that links + to this Note. + type: string + noteReferenceRef: + description: Reference to a Note in containeranalysis to + populate noteReference. + 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 + noteReferenceSelector: + description: Selector for a Note in containeranalysis to + populate noteReference. + 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 publicKeys: description: Public keys that verify attestations signed by this attestor. This field may be updated. If this field diff --git a/package/crds/cloud.gcp.upbound.io_idsendpoints.yaml b/package/crds/cloud.gcp.upbound.io_idsendpoints.yaml index 4ee3df12a..356b6ea42 100644 --- a/package/crds/cloud.gcp.upbound.io_idsendpoints.yaml +++ b/package/crds/cloud.gcp.upbound.io_idsendpoints.yaml @@ -192,6 +192,84 @@ spec: name: description: Name of the endpoint in the format projects/{project_id}/locations/{locationId}/endpoints/{endpointId}. type: string + network: + description: Name of the VPC network that is connected to the + IDS endpoint. This can either contain the VPC network name itself + (like "src-net") or the full URL to the network (like "projects/{project_id}/global/networks/src-net"). + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/cloudbuild.gcp.upbound.io_triggers.yaml b/package/crds/cloudbuild.gcp.upbound.io_triggers.yaml index 17cfd975a..5c01f6d9f 100644 --- a/package/crds/cloudbuild.gcp.upbound.io_triggers.yaml +++ b/package/crds/cloudbuild.gcp.upbound.io_triggers.yaml @@ -1914,6 +1914,88 @@ spec: serviceAccountEmail: description: Service account that will make the push request. type: string + topic: + description: The name of the topic from which this subscription + is receiving messages. + type: string + topicRef: + description: Reference to a Topic in pubsub to populate + topic. + 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 + topicSelector: + description: Selector for a Topic in pubsub to populate + topic. + 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 type: object type: array repositoryEventConfig: @@ -1970,6 +2052,88 @@ spec: type: string type: object type: array + serviceAccount: + description: 'The service account used for all user-controlled + operations including triggers.patch, triggers.run, builds.create, + and builds.cancel. If no service account is set, then the standard + Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) + will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}' + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 sourceToBuild: description: The repo and ref of the repository from which to build. This field is used only for those triggers that do not @@ -2069,6 +2233,89 @@ spec: webhook_config or source_to_build must be provided. Structure is documented below. items: + properties: + secret: + description: Resource name for the secret required as a + URL parameter. + type: string + secretRef: + description: Reference to a SecretVersion in secretmanager + to populate secret. + 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 + secretSelector: + description: Selector for a SecretVersion in secretmanager + to populate secret. + 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 type: object type: array type: object diff --git a/package/crds/cloudbuild.gcp.upbound.io_workerpools.yaml b/package/crds/cloudbuild.gcp.upbound.io_workerpools.yaml index 250334fa1..b8ce0495d 100644 --- a/package/crds/cloudbuild.gcp.upbound.io_workerpools.yaml +++ b/package/crds/cloudbuild.gcp.upbound.io_workerpools.yaml @@ -236,6 +236,15 @@ spec: is documented below. items: properties: + peeredNetwork: + description: Immutable. The network definition that the + workers are peered to. If this section is left empty, + the workers will be peered to WorkerPool.project_id on + the service producer network. Must be in the format projects/{project}/global/networks/{network}, + where {project} is a project number, such as 12345, and + {network} is the name of a VPC network in the project. + See (https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options) + type: string peeredNetworkIpRange: description: Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash @@ -247,6 +256,84 @@ spec: the peered VPC. If unspecified, a value of /24 will be used. type: string + peeredNetworkRef: + description: Reference to a Network in compute to populate + peeredNetwork. + 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 + peeredNetworkSelector: + description: Selector for a Network in compute to populate + peeredNetwork. + 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 type: object type: array project: diff --git a/package/crds/cloudfunctions.gcp.upbound.io_functioniammembers.yaml b/package/crds/cloudfunctions.gcp.upbound.io_functioniammembers.yaml index 2045445b9..96cc78456 100644 --- a/package/crds/cloudfunctions.gcp.upbound.io_functioniammembers.yaml +++ b/package/crds/cloudfunctions.gcp.upbound.io_functioniammembers.yaml @@ -174,6 +174,81 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + cloudFunction: + type: string + cloudFunctionRef: + description: Reference to a Function to populate cloudFunction. + 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 + cloudFunctionSelector: + description: Selector for a Function to populate cloudFunction. + 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 condition: items: properties: diff --git a/package/crds/cloudfunctions.gcp.upbound.io_functions.yaml b/package/crds/cloudfunctions.gcp.upbound.io_functions.yaml index 27a4e4b64..19ded0cb3 100644 --- a/package/crds/cloudfunctions.gcp.upbound.io_functions.yaml +++ b/package/crds/cloudfunctions.gcp.upbound.io_functions.yaml @@ -669,6 +669,161 @@ spec: description: If provided, the self-provided service account to run the function with. type: string + sourceArchiveBucket: + description: The GCS bucket containing the zip archive which contains + the function. + type: string + sourceArchiveBucketRef: + description: Reference to a Bucket in storage to populate sourceArchiveBucket. + 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 + sourceArchiveBucketSelector: + description: Selector for a Bucket in storage to populate sourceArchiveBucket. + 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 + sourceArchiveObject: + description: The source archive object (file) in archive bucket. + type: string + sourceArchiveObjectRef: + description: Reference to a BucketObject in storage to populate + sourceArchiveObject. + 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 + sourceArchiveObjectSelector: + description: Selector for a BucketObject in storage to populate + sourceArchiveObject. + 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 sourceRepository: description: Represents parameters related to source repository where a function is hosted. Cannot be set alongside source_archive_bucket diff --git a/package/crds/cloudfunctions2.gcp.upbound.io_functions.yaml b/package/crds/cloudfunctions2.gcp.upbound.io_functions.yaml index 4b9d60486..e33cd161d 100644 --- a/package/crds/cloudfunctions2.gcp.upbound.io_functions.yaml +++ b/package/crds/cloudfunctions2.gcp.upbound.io_functions.yaml @@ -1203,15 +1203,273 @@ spec: below. items: properties: + bucket: + description: Google Cloud Storage bucket containing + the source + type: string + bucketRef: + description: Reference to a Bucket in storage + to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage + to populate bucket. + 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 generation: description: Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used. type: number + object: + description: Google Cloud Storage object containing + the source. + type: string + objectRef: + description: Reference to a BucketObject in + storage to populate object. + 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 + objectSelector: + description: Selector for a BucketObject in + storage to populate object. + 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 type: object type: array type: object type: array + workerPool: + description: Name of the Cloud Build Custom Worker Pool + that should be used to build the function. + type: string + workerPoolRef: + description: Reference to a WorkerPool in cloudbuild to + populate workerPool. + 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 + workerPoolSelector: + description: Selector for a WorkerPool in cloudbuild to + populate workerPool. + 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 type: object type: array description: @@ -1245,17 +1503,267 @@ spec: allowed value is match-path-pattern. See documentation on path patterns here' type: string + value: + description: Required. The value for the attribute. + If the operator field is set as match-path-pattern, + this value can be a path pattern instead of an exact + value. + type: string + valueRef: + description: Reference to a Bucket in storage to populate + value. + 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 + valueSelector: + description: Selector for a Bucket in storage to populate + value. + 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 type: object type: array eventType: description: Required. The type of event to observe. type: string + pubsubTopic: + description: The name of a Pub/Sub topic in the same project + that will be used as the transport topic for the event + delivery. + type: string + pubsubTopicRef: + description: Reference to a Topic in pubsub to populate + pubsubTopic. + 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 + pubsubTopicSelector: + description: Selector for a Topic in pubsub to populate + pubsubTopic. + 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 retryPolicy: description: 'Describes the retry policy in case of function''s execution failure. Retried execution is charged as any other execution. Possible values are: RETRY_POLICY_UNSPECIFIED, RETRY_POLICY_DO_NOT_RETRY, RETRY_POLICY_RETRY.' type: string + serviceAccountEmail: + description: The email of the service account for this function. + type: string + serviceAccountEmailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 + serviceAccountEmailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 triggerRegion: description: The region that the trigger will be in. The trigger will only receive events originating in this region. @@ -1334,6 +1842,90 @@ spec: the secret exists in the same project as of the function. type: string + secret: + description: Name of the secret in secret manager + (not the full resource name). + type: string + secretRef: + description: Reference to a Secret in secretmanager + to populate secret. + 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 + secretSelector: + description: Selector for a Secret in secretmanager + to populate secret. + 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 version: description: Version of the secret (version number or the string 'latest'). It is preferable to use @@ -1364,6 +1956,90 @@ spec: the secret exists in the same project as of the function. type: string + secret: + description: Name of the secret in secret manager + (not the full resource name). + type: string + secretRef: + description: Reference to a Secret in secretmanager + to populate secret. + 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 + secretSelector: + description: Selector for a Secret in secretmanager + to populate secret. + 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 versions: description: List of secret versions to mount for this secret. If empty, the latest version of the @@ -1393,6 +2069,87 @@ spec: service: description: Name of the service associated with a Function. type: string + serviceAccountEmail: + description: The email of the service account for this function. + type: string + serviceAccountEmailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 + serviceAccountEmailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 timeoutSeconds: description: The function execution timeout. Execution is considered failed and can be terminated if the function diff --git a/package/crds/cloudiot.gcp.upbound.io_registries.yaml b/package/crds/cloudiot.gcp.upbound.io_registries.yaml index 17ba1f114..b88eb034d 100644 --- a/package/crds/cloudiot.gcp.upbound.io_registries.yaml +++ b/package/crds/cloudiot.gcp.upbound.io_registries.yaml @@ -244,6 +244,87 @@ spec: below. items: properties: + pubsubTopicName: + description: PubSub topic name to publish device events. + type: string + pubsubTopicNameRef: + description: Reference to a Topic in pubsub to populate + pubsubTopicName. + 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 + pubsubTopicNameSelector: + description: Selector for a Topic in pubsub to populate + pubsubTopicName. + 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 subfolderMatches: description: If the subfolder name matches this string exactly, this configuration will be used. The string must not include diff --git a/package/crds/cloudplatform.gcp.upbound.io_folderiammembers.yaml b/package/crds/cloudplatform.gcp.upbound.io_folderiammembers.yaml index c8c0d2a50..d336e3f7d 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_folderiammembers.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_folderiammembers.yaml @@ -181,6 +181,81 @@ spec: type: string type: object type: array + folder: + type: string + folderRef: + description: Reference to a Folder to populate folder. + 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 + folderSelector: + description: Selector for a Folder to populate folder. + 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 member: type: string role: diff --git a/package/crds/cloudplatform.gcp.upbound.io_folders.yaml b/package/crds/cloudplatform.gcp.upbound.io_folders.yaml index e7a3f8fb2..6fbc835d4 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_folders.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_folders.yaml @@ -175,6 +175,85 @@ spec: letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. type: string + parent: + description: The resource name of the parent Folder or Organization. + Must be of the form folders/{folder_id} or organizations/{org_id}. + type: string + parentRef: + description: Reference to a Folder in cloudplatform 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 Folder in cloudplatform 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 type: object managementPolicies: default: diff --git a/package/crds/cloudplatform.gcp.upbound.io_projectdefaultserviceaccounts.yaml b/package/crds/cloudplatform.gcp.upbound.io_projectdefaultserviceaccounts.yaml index 7e2b7985c..efd78866b 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projectdefaultserviceaccounts.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projectdefaultserviceaccounts.yaml @@ -179,6 +179,82 @@ spec: that DEPRIVILEGE action will ignore the REVERT configuration in the restore_policy' type: string + project: + description: The project ID where service accounts are created. + type: string + projectRef: + description: Reference to a Project to populate project. + 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 + projectSelector: + description: Selector for a Project to populate project. + 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 restorePolicy: description: The action to be performed in the default service accounts on the resource destroy. Valid values are NONE, REVERT diff --git a/package/crds/cloudplatform.gcp.upbound.io_projectiamauditconfigs.yaml b/package/crds/cloudplatform.gcp.upbound.io_projectiamauditconfigs.yaml index baf06f712..8c498c4ca 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projectiamauditconfigs.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projectiamauditconfigs.yaml @@ -181,6 +181,81 @@ spec: type: string type: object type: array + project: + type: string + projectRef: + description: Reference to a Project to populate project. + 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 + projectSelector: + description: Selector for a Project to populate project. + 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 service: type: string type: object diff --git a/package/crds/cloudplatform.gcp.upbound.io_projectiammembers.yaml b/package/crds/cloudplatform.gcp.upbound.io_projectiammembers.yaml index 95cd0a42e..b82f2c4e5 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projectiammembers.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projectiammembers.yaml @@ -183,6 +183,81 @@ spec: type: array member: type: string + project: + type: string + projectRef: + description: Reference to a Project to populate project. + 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 + projectSelector: + description: Selector for a Project to populate project. + 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 role: type: string type: object diff --git a/package/crds/cloudplatform.gcp.upbound.io_projects.yaml b/package/crds/cloudplatform.gcp.upbound.io_projects.yaml index dff028863..a734bcd56 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projects.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projects.yaml @@ -212,6 +212,88 @@ spec: belongs to.user) on the billing account. See Google Cloud Billing API Access Control for more details. type: string + folderId: + description: The numeric ID of the folder this project should + be created under. Only one of org_id or folder_id may be specified. + If the folder_id is specified, then the project is created under + the specified folder. Changing this forces the project to be + migrated to the newly specified folder. + type: string + folderIdRef: + description: Reference to a Folder in cloudplatform to populate + folderId. + 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 + folderIdSelector: + description: Selector for a Folder in cloudplatform to populate + folderId. + 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 labels: additionalProperties: type: string diff --git a/package/crds/cloudplatform.gcp.upbound.io_projectservices.yaml b/package/crds/cloudplatform.gcp.upbound.io_projectservices.yaml index a1cf9ac60..179f0f3c7 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projectservices.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projectservices.yaml @@ -184,6 +184,83 @@ spec: a project is long-lived but the infrastructure running in that project changes frequently. type: boolean + project: + description: The project ID. If not provided, the provider project + is used. + type: string + projectRef: + description: Reference to a Project to populate project. + 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 + projectSelector: + description: Selector for a Project to populate project. + 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 service: description: The service to enable. type: string diff --git a/package/crds/cloudplatform.gcp.upbound.io_projectusageexportbuckets.yaml b/package/crds/cloudplatform.gcp.upbound.io_projectusageexportbuckets.yaml index bb5865a1d..9ac7c568c 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_projectusageexportbuckets.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_projectusageexportbuckets.yaml @@ -238,10 +238,163 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucketName: + description: ': The bucket to store reports in.' + type: string + bucketNameRef: + description: Reference to a Bucket in storage to populate bucketName. + 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 + bucketNameSelector: + description: Selector for a Bucket in storage to populate bucketName. + 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 prefix: description: ': A prefix for the reports, for instance, the project name.' type: string + project: + description: ': The project to set the export bucket on. If it + is not provided, the provider project is used.' + type: string + projectRef: + description: Reference to a Project to populate project. + 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 + projectSelector: + description: Selector for a Project to populate project. + 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 type: object managementPolicies: default: diff --git a/package/crds/cloudplatform.gcp.upbound.io_serviceaccountiammembers.yaml b/package/crds/cloudplatform.gcp.upbound.io_serviceaccountiammembers.yaml index ec4233bd3..2d441508f 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_serviceaccountiammembers.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_serviceaccountiammembers.yaml @@ -186,6 +186,81 @@ spec: type: string role: type: string + serviceAccountId: + type: string + serviceAccountIdRef: + description: Reference to a ServiceAccount to populate serviceAccountId. + 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 + serviceAccountIdSelector: + description: Selector for a ServiceAccount to populate serviceAccountId. + 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 type: object managementPolicies: default: diff --git a/package/crds/cloudplatform.gcp.upbound.io_serviceaccountkeys.yaml b/package/crds/cloudplatform.gcp.upbound.io_serviceaccountkeys.yaml index 6155cda2f..2f7398332 100644 --- a/package/crds/cloudplatform.gcp.upbound.io_serviceaccountkeys.yaml +++ b/package/crds/cloudplatform.gcp.upbound.io_serviceaccountkeys.yaml @@ -215,6 +215,91 @@ spec: description: The output format of the public key requested. TYPE_X509_PEM_FILE is the default output format. type: string + serviceAccountId: + description: The Service account id of the Key. This can be a + string in the format {ACCOUNT} or projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. + If the {ACCOUNT}-only syntax is used, either the full email + address of the service account or its name can be specified + as a value, in which case the project will automatically be + inferred from the account. Otherwise, if the projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT} + syntax is used, the {ACCOUNT} specified can be the full email + address of the service account or the service account's unique + id. Substituting - as a wildcard for the {PROJECT_ID} will infer + the project from the account. + type: string + serviceAccountIdRef: + description: Reference to a ServiceAccount to populate serviceAccountId. + 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 + serviceAccountIdSelector: + description: Selector for a ServiceAccount to populate serviceAccountId. + 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 type: object managementPolicies: default: diff --git a/package/crds/cloudrun.gcp.upbound.io_domainmappings.yaml b/package/crds/cloudrun.gcp.upbound.io_domainmappings.yaml index 87f0dbe7d..56d8e5745 100644 --- a/package/crds/cloudrun.gcp.upbound.io_domainmappings.yaml +++ b/package/crds/cloudrun.gcp.upbound.io_domainmappings.yaml @@ -325,6 +325,88 @@ spec: More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' type: object x-kubernetes-map-type: granular + namespace: + description: In Cloud Run the namespace must be equal to + either the project ID or project number. + type: string + namespaceRef: + description: Reference to a Project in cloudplatform to + populate namespace. + 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 + namespaceSelector: + description: Selector for a Project in cloudplatform to + populate namespace. + 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 type: object type: array name: @@ -350,6 +432,86 @@ spec: a potential conflict and only set it once the respective UI has given such a warning. type: boolean + routeName: + description: The name of the Cloud Run Service that this + DomainMapping applies to. The route must exist. + type: string + routeNameRef: + description: Reference to a Service to populate routeName. + 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 + routeNameSelector: + description: Selector for a Service to populate routeName. + 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 type: object type: array type: object diff --git a/package/crds/cloudrun.gcp.upbound.io_serviceiammembers.yaml b/package/crds/cloudrun.gcp.upbound.io_serviceiammembers.yaml index 3256f11f2..24d3be395 100644 --- a/package/crds/cloudrun.gcp.upbound.io_serviceiammembers.yaml +++ b/package/crds/cloudrun.gcp.upbound.io_serviceiammembers.yaml @@ -264,8 +264,160 @@ spec: type: string member: type: string + project: + type: string + projectRef: + description: Reference to a Project in cloudplatform to populate + project. + 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 + projectSelector: + description: Selector for a Project in cloudplatform to populate + project. + 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 role: type: string + service: + type: string + serviceRef: + description: Reference to a Service to populate service. + 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 + serviceSelector: + description: Selector for a Service to populate service. + 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 type: object managementPolicies: default: diff --git a/package/crds/cloudrun.gcp.upbound.io_services.yaml b/package/crds/cloudrun.gcp.upbound.io_services.yaml index b9562db0b..2780f03a5 100644 --- a/package/crds/cloudrun.gcp.upbound.io_services.yaml +++ b/package/crds/cloudrun.gcp.upbound.io_services.yaml @@ -1057,6 +1057,89 @@ spec: to organize and categorize (scope and select) objects. type: object x-kubernetes-map-type: granular + namespace: + description: In Cloud Run the namespace must be equal to + either the project ID or project number. It will default + to the resource's project. + type: string + namespaceRef: + description: Reference to a Project in cloudplatform to + populate namespace. + 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 + namespaceSelector: + description: Selector for a Project in cloudplatform to + populate namespace. + 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 type: object type: array project: @@ -1180,6 +1263,123 @@ spec: latest version or an integer for a specific version. type: string + name: + description: Volume's name. + type: string + nameRef: + description: Reference to + a Secret in secretmanager + to populate name. + 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 + nameSelector: + description: Selector for + a Secret in secretmanager + to populate name. + 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 type: object type: array type: object @@ -1614,6 +1814,108 @@ spec: type: string type: object type: array + secretName: + description: 'The name of the secret in + Cloud Secret Manager. By default, the + secret is assumed to be in the same + project. If the secret is in another + project, you must define an alias. An + alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. + If multiple alias definitions are needed, + they must be separated by commas. The + alias definitions must be set on the + run.googleapis.com/secrets annotation.' + type: string + secretNameRef: + description: Reference to a Secret in + secretmanager to populate secretName. + 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 + secretNameSelector: + description: Selector for a Secret in + secretmanager to populate secretName. + 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 type: object type: array type: object diff --git a/package/crds/cloudrun.gcp.upbound.io_v2jobs.yaml b/package/crds/cloudrun.gcp.upbound.io_v2jobs.yaml index aeeb98e66..3514453fd 100644 --- a/package/crds/cloudrun.gcp.upbound.io_v2jobs.yaml +++ b/package/crds/cloudrun.gcp.upbound.io_v2jobs.yaml @@ -1057,6 +1057,128 @@ spec: below. items: properties: + secret: + description: 'Secret represents + a secret that should populate + this volume. More info: + https://kubernetes.io/docs/concepts/storage/volumes#secret + Structure is documented + below.' + type: string + secretRef: + description: Reference to + a Secret in secretmanager + to populate secret. + 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 + secretSelector: + description: Selector for + a Secret in secretmanager + to populate secret. + 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 version: description: The Cloud Secret Manager secret version. @@ -1424,6 +1546,102 @@ spec: type: string type: object type: array + secret: + description: 'Secret represents a secret + that should populate this volume. More + info: https://kubernetes.io/docs/concepts/storage/volumes#secret + Structure is documented below.' + type: string + secretRef: + description: Reference to a Secret in + secretmanager to populate secret. + 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 + secretSelector: + description: Selector for a Secret in + secretmanager to populate secret. + 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 type: object type: array type: object diff --git a/package/crds/cloudrun.gcp.upbound.io_v2services.yaml b/package/crds/cloudrun.gcp.upbound.io_v2services.yaml index 751f3a171..065ff740a 100644 --- a/package/crds/cloudrun.gcp.upbound.io_v2services.yaml +++ b/package/crds/cloudrun.gcp.upbound.io_v2services.yaml @@ -1069,6 +1069,112 @@ spec: is documented below. items: properties: + secret: + description: 'Secret represents + a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + Structure is documented below.' + type: string + secretRef: + description: Reference to a Secret + in secretmanager to populate secret. + 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 + secretSelector: + description: Selector for a Secret + in secretmanager to populate secret. + 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 version: description: The Cloud Secret Manager secret version. Can be 'latest' @@ -1511,6 +1617,95 @@ spec: type: string type: object type: array + secret: + description: 'Secret represents a secret that + should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + Structure is documented below.' + type: string + secretRef: + description: Reference to a Secret in secretmanager + to populate secret. + 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 + secretSelector: + description: Selector for a Secret in secretmanager + to populate secret. + 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 type: object type: array type: object diff --git a/package/crds/cloudscheduler.gcp.upbound.io_jobs.yaml b/package/crds/cloudscheduler.gcp.upbound.io_jobs.yaml index cdc805b98..b614c129b 100644 --- a/package/crds/cloudscheduler.gcp.upbound.io_jobs.yaml +++ b/package/crds/cloudscheduler.gcp.upbound.io_jobs.yaml @@ -540,6 +540,91 @@ spec: message must contain either non-empty data, or at least one attribute. A base64-encoded string. type: string + topicName: + description: 'The full resource name for the Cloud Pub/Sub + topic to which messages will be published when a job is + delivered. ~>NOTE: The topic name must be in the same + format as required by PubSub''s PublishRequest.name, e.g. + projects/my-project/topics/my-topic.' + type: string + topicNameRef: + description: Reference to a Topic in pubsub to populate + topicName. + 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 + topicNameSelector: + description: Selector for a Topic in pubsub to populate + topicName. + 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 type: object type: array retryConfig: diff --git a/package/crds/cloudtasks.gcp.upbound.io_queues.yaml b/package/crds/cloudtasks.gcp.upbound.io_queues.yaml index 2d3ba0ee6..bb4628457 100644 --- a/package/crds/cloudtasks.gcp.upbound.io_queues.yaml +++ b/package/crds/cloudtasks.gcp.upbound.io_queues.yaml @@ -281,6 +281,85 @@ spec: type: string type: object type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + projectRef: + description: Reference to a Project in cloudplatform to populate + project. + 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 + projectSelector: + description: Selector for a Project in cloudplatform to populate + project. + 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 rateLimits: description: 'Rate limits for task dispatches. The queue''s actual dispatch rate is the result of:' diff --git a/package/crds/composer.gcp.upbound.io_environments.yaml b/package/crds/composer.gcp.upbound.io_environments.yaml index 22e5d99ea..6215ab792 100644 --- a/package/crds/composer.gcp.upbound.io_environments.yaml +++ b/package/crds/composer.gcp.upbound.io_environments.yaml @@ -1102,6 +1102,92 @@ spec: web server parameters were manually changed to a non-standard values.' type: string + network: + description: The Compute Engine network to be used + for machine communications, specified as a self-link, + relative resource name (for example "projects/{project}/global/networks/{network}"), + by name. + type: string + networkRef: + description: Reference to a Network in compute to + populate network. + 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 + networkSelector: + description: Selector for a Network in compute to + populate network. + 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 oauthScopes: description: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If @@ -1110,6 +1196,183 @@ spec: type: string type: array x-kubernetes-list-type: set + serviceAccount: + description: The Google Cloud Platform Service Account + to be used by the node VMs. If a service account + is not specified, the "default" Compute Engine service + account is used. Cannot be updated. If given, note + that the service account must have roles/composer.worker + for any GCP resources created under the Cloud Composer + Environment. + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 + subnetwork: + description: The Compute Engine subnetwork to be used + for machine communications, specified as a self-link, + relative resource name (for example, "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), + or by name. If subnetwork is provided, network must + also be provided and the subnetwork must belong + to the enclosing environment's project and region. + type: string + subnetworkRef: + description: Reference to a Subnetwork in compute + to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork in compute + to populate subnetwork. + 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 tags: description: The list of instance tags applied to all node VMs. Tags are used to identify valid sources @@ -1415,6 +1678,85 @@ spec: Both keys and values must be <= 128 bytes in size.' type: object x-kubernetes-map-type: granular + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + projectRef: + description: Reference to a Project in cloudplatform to populate + project. + 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 + projectSelector: + description: Selector for a Project in cloudplatform to populate + project. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_addresses.yaml b/package/crds/compute.gcp.upbound.io_addresses.yaml index d83c091aa..f5781babb 100644 --- a/package/crds/compute.gcp.upbound.io_addresses.yaml +++ b/package/crds/compute.gcp.upbound.io_addresses.yaml @@ -310,6 +310,84 @@ spec: this address can be used after the external IPv6 address reservation. Possible values are: VM, NETLB.' type: string + network: + description: The URL of the network in which to reserve the address. + This field can only be used with INTERNAL type with the VPC_PEERING + and IPSEC_INTERCONNECT purposes. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 networkTier: description: 'The networking tier used for configuring this address. If this field is not specified, it is assumed to be PREMIUM. @@ -329,6 +407,85 @@ spec: description: The purpose of this resource, which can be one of the following values. type: string + subnetwork: + description: The URL of the subnetwork in which to reserve the + address. If an IP address is specified, it must be within the + subnetwork's IP range. This field can only be used with INTERNAL + type with GCE_ENDPOINT/DNS_RESOLVER purposes. + type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_attacheddisks.yaml b/package/crds/compute.gcp.upbound.io_attacheddisks.yaml index aae342481..6fd0624ff 100644 --- a/package/crds/compute.gcp.upbound.io_attacheddisks.yaml +++ b/package/crds/compute.gcp.upbound.io_attacheddisks.yaml @@ -265,6 +265,162 @@ spec: be used to reference the device for mounting, resizing, and so on, from within the instance. type: string + disk: + description: name or self_link of the disk that will be attached. + type: string + diskRef: + description: Reference to a Disk in compute to populate disk. + 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 + diskSelector: + description: Selector for a Disk in compute to populate disk. + 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 + instance: + description: name or self_link of the compute instance that the + disk will be attached to. If the self_link is provided then + zone and project are extracted from the self link. If only the + name is used then zone and project must be defined as properties + on the resource or provider. + type: string + instanceRef: + description: Reference to a Instance in compute to populate instance. + 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 + instanceSelector: + description: Selector for a Instance in compute to populate instance. + 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 mode: description: The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the diff --git a/package/crds/compute.gcp.upbound.io_autoscalers.yaml b/package/crds/compute.gcp.upbound.io_autoscalers.yaml index 576dc58dc..53433f147 100644 --- a/package/crds/compute.gcp.upbound.io_autoscalers.yaml +++ b/package/crds/compute.gcp.upbound.io_autoscalers.yaml @@ -488,6 +488,85 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + target: + description: URL of the managed instance group that this autoscaler + will scale. + type: string + targetRef: + description: Reference to a InstanceGroupManager in compute to + populate target. + 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 + targetSelector: + description: Selector for a InstanceGroupManager in compute to + populate target. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_backendbuckets.yaml b/package/crds/compute.gcp.upbound.io_backendbuckets.yaml index ec7428ceb..5dcd1a649 100644 --- a/package/crds/compute.gcp.upbound.io_backendbuckets.yaml +++ b/package/crds/compute.gcp.upbound.io_backendbuckets.yaml @@ -367,6 +367,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucketName: + description: Cloud Storage bucket name. + type: string + bucketNameRef: + description: Reference to a Bucket in storage to populate bucketName. + 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 + bucketNameSelector: + description: Selector for a Bucket in storage to populate bucketName. + 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 cdnPolicy: description: Cloud CDN configuration for this Backend Bucket. Structure is documented below. @@ -491,6 +567,85 @@ spec: description: An optional textual description of the resource; provided by the client when the resource is created. type: string + edgeSecurityPolicy: + description: The security policy associated with this backend + bucket. + type: string + edgeSecurityPolicyRef: + description: Reference to a SecurityPolicy in compute to populate + edgeSecurityPolicy. + 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 + edgeSecurityPolicySelector: + description: Selector for a SecurityPolicy in compute to populate + edgeSecurityPolicy. + 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 enableCdn: description: If true, enable Cloud CDN for this BackendBucket. type: boolean diff --git a/package/crds/compute.gcp.upbound.io_backendbucketsignedurlkeys.yaml b/package/crds/compute.gcp.upbound.io_backendbucketsignedurlkeys.yaml index 8b412c026..af69bea51 100644 --- a/package/crds/compute.gcp.upbound.io_backendbucketsignedurlkeys.yaml +++ b/package/crds/compute.gcp.upbound.io_backendbucketsignedurlkeys.yaml @@ -186,6 +186,84 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + backendBucket: + description: The backend bucket this signed URL key belongs. + type: string + backendBucketRef: + description: Reference to a BackendBucket in compute to populate + backendBucket. + 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 + backendBucketSelector: + description: Selector for a BackendBucket in compute to populate + backendBucket. + 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 name: description: Name of the signed URL key. type: string diff --git a/package/crds/compute.gcp.upbound.io_backendservices.yaml b/package/crds/compute.gcp.upbound.io_backendservices.yaml index 543eacad6..006b61b2b 100644 --- a/package/crds/compute.gcp.upbound.io_backendservices.yaml +++ b/package/crds/compute.gcp.upbound.io_backendservices.yaml @@ -940,6 +940,100 @@ spec: description: An optional description of this resource. Provide this property when you create the resource. type: string + group: + description: The fully-qualified URL of an Instance Group + or Network Endpoint Group resource. In case of instance + group this defines the list of instances that serve traffic. + Member virtual machine instances from each instance group + must live in the same zone as the instance group itself. + No two backends in a backend service are allowed to use + same Instance Group resource. For Network Endpoint Groups + this defines list of endpoints. All endpoints of Network + Endpoint Group must be hosted on instances located in + the same zone as the Network Endpoint Group. Backend services + cannot mix Instance Group and Network Endpoint Group backends. + Note that you must specify an Instance Group or Network + Endpoint Group resource using the fully-qualified URL, + rather than a partial URL. + type: string + groupRef: + description: Reference to a InstanceGroupManager to populate + group. + 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 + groupSelector: + description: Selector for a InstanceGroupManager to populate + group. + 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 maxConnections: description: The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION @@ -1268,6 +1362,93 @@ spec: enableCdn: description: If true, enable Cloud CDN for this BackendService. type: boolean + healthChecks: + description: The set of URLs to the HttpHealthCheck or HttpsHealthCheck + resource for health checking this BackendService. Currently + at most one health check can be specified. A health check must + be specified unless the backend service uses an internet or + serverless NEG as a backend. For internal load balancing, a + URL to a HealthCheck resource must be specified instead. + items: + type: string + type: array + x-kubernetes-list-type: set + healthChecksRefs: + description: References to HealthCheck to populate healthChecks. + items: + description: A Reference to a named object. + 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 + type: array + healthChecksSelector: + description: Selector for a list of HealthCheck to populate healthChecks. + 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 iap: description: Settings for enabling Cloud Identity Aware Proxy Structure is documented below. diff --git a/package/crds/compute.gcp.upbound.io_backendservicesignedurlkeys.yaml b/package/crds/compute.gcp.upbound.io_backendservicesignedurlkeys.yaml index a7a311e25..60ad75409 100644 --- a/package/crds/compute.gcp.upbound.io_backendservicesignedurlkeys.yaml +++ b/package/crds/compute.gcp.upbound.io_backendservicesignedurlkeys.yaml @@ -186,6 +186,84 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + backendService: + description: The backend service this signed URL key belongs. + type: string + backendServiceRef: + description: Reference to a BackendService in compute to populate + backendService. + 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 + backendServiceSelector: + description: Selector for a BackendService in compute to populate + backendService. + 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 name: description: Name of the signed URL key. type: string diff --git a/package/crds/compute.gcp.upbound.io_diskiammembers.yaml b/package/crds/compute.gcp.upbound.io_diskiammembers.yaml index d49d11de4..7b73e4cdf 100644 --- a/package/crds/compute.gcp.upbound.io_diskiammembers.yaml +++ b/package/crds/compute.gcp.upbound.io_diskiammembers.yaml @@ -186,6 +186,81 @@ spec: type: array member: type: string + name: + type: string + nameRef: + description: Reference to a Disk to populate name. + 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 + nameSelector: + description: Selector for a Disk to populate name. + 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 project: type: string role: diff --git a/package/crds/compute.gcp.upbound.io_diskresourcepolicyattachments.yaml b/package/crds/compute.gcp.upbound.io_diskresourcepolicyattachments.yaml index 68b4ebe25..58bcb4592 100644 --- a/package/crds/compute.gcp.upbound.io_diskresourcepolicyattachments.yaml +++ b/package/crds/compute.gcp.upbound.io_diskresourcepolicyattachments.yaml @@ -244,6 +244,162 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + disk: + description: The name of the disk in which the resource policies + are attached to. + type: string + diskRef: + description: Reference to a Disk in compute to populate disk. + 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 + diskSelector: + description: Selector for a Disk in compute to populate disk. + 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 + name: + description: The resource policy to be attached to the disk for + scheduling snapshot creation. Do not specify the self link. + type: string + nameRef: + description: Reference to a ResourcePolicy in compute to populate + name. + 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 + nameSelector: + description: Selector for a ResourcePolicy in compute to populate + name. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_disks.yaml b/package/crds/compute.gcp.upbound.io_disks.yaml index d043f5b58..9f48d3c62 100644 --- a/package/crds/compute.gcp.upbound.io_disks.yaml +++ b/package/crds/compute.gcp.upbound.io_disks.yaml @@ -394,6 +394,88 @@ spec: description: A nested object resource Structure is documented below. items: + properties: + disk: + description: Primary disk for asynchronous disk replication. + type: string + diskRef: + description: Reference to a Disk in compute to populate + disk. + 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 + diskSelector: + description: Selector for a Disk in compute to populate + disk. + 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 type: object type: array description: diff --git a/package/crds/compute.gcp.upbound.io_firewallpolicyassociations.yaml b/package/crds/compute.gcp.upbound.io_firewallpolicyassociations.yaml index 8ac18419a..f28f2eee4 100644 --- a/package/crds/compute.gcp.upbound.io_firewallpolicyassociations.yaml +++ b/package/crds/compute.gcp.upbound.io_firewallpolicyassociations.yaml @@ -240,6 +240,162 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + attachmentTarget: + description: The target that the firewall policy is attached to. + type: string + attachmentTargetRef: + description: Reference to a Folder in cloudplatform to populate + attachmentTarget. + 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 + attachmentTargetSelector: + description: Selector for a Folder in cloudplatform to populate + attachmentTarget. + 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 + firewallPolicy: + description: The firewall policy ID of the association. + type: string + firewallPolicyRef: + description: Reference to a FirewallPolicy in compute to populate + firewallPolicy. + 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 + firewallPolicySelector: + description: Selector for a FirewallPolicy in compute to populate + firewallPolicy. + 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 name: description: The name for an association. type: string diff --git a/package/crds/compute.gcp.upbound.io_firewallpolicyrules.yaml b/package/crds/compute.gcp.upbound.io_firewallpolicyrules.yaml index 953e72ff7..f0d43daf4 100644 --- a/package/crds/compute.gcp.upbound.io_firewallpolicyrules.yaml +++ b/package/crds/compute.gcp.upbound.io_firewallpolicyrules.yaml @@ -323,6 +323,84 @@ spec: export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' type: boolean + firewallPolicy: + description: The firewall policy of the resource. + type: string + firewallPolicyRef: + description: Reference to a FirewallPolicy in compute to populate + firewallPolicy. + 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 + firewallPolicySelector: + description: Selector for a FirewallPolicy in compute to populate + firewallPolicy. + 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 match: description: A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' diff --git a/package/crds/compute.gcp.upbound.io_firewalls.yaml b/package/crds/compute.gcp.upbound.io_firewalls.yaml index da7c9efae..61eecf436 100644 --- a/package/crds/compute.gcp.upbound.io_firewalls.yaml +++ b/package/crds/compute.gcp.upbound.io_firewalls.yaml @@ -428,6 +428,83 @@ spec: type: string type: object type: array + network: + description: The name or self_link of the network to attach this + firewall to. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 priority: description: Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed diff --git a/package/crds/compute.gcp.upbound.io_forwardingrules.yaml b/package/crds/compute.gcp.upbound.io_forwardingrules.yaml index d3c85333f..f2918c194 100644 --- a/package/crds/compute.gcp.upbound.io_forwardingrules.yaml +++ b/package/crds/compute.gcp.upbound.io_forwardingrules.yaml @@ -622,10 +622,169 @@ spec: description: This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. type: boolean + backendService: + description: Identifies the backend service to which the forwarding + rule sends traffic. Required for Internal TCP/UDP Load Balancing + and Network Load Balancing; must be omitted for all other load + balancer types. + type: string + backendServiceRef: + description: Reference to a RegionBackendService to populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService to populate backendService. + 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 description: description: An optional description of this resource. Provide this property when you create the resource. type: string + ipAddress: + description: 'IP address for which this forwarding rule accepts + traffic. When a client sends traffic to this IP address, the + forwarding rule directs the traffic to the referenced target + or backendService. While creating a forwarding rule, specifying + an IPAddress is required under the following circumstances:' + type: string + ipAddressRef: + description: Reference to a Address to populate ipAddress. + 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 + ipAddressSelector: + description: Selector for a Address to populate ipAddress. + 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 ipProtocol: description: 'The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, @@ -655,6 +814,89 @@ spec: value is EXTERNAL. Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED.' type: string + network: + description: This field is not used for external load balancing. + For Internal TCP/UDP Load Balancing, this field identifies the + network that the load balanced IP should belong to for this + Forwarding Rule. If the subnetwork is specified, the network + of the subnetwork will be used. If neither subnetwork nor this + field is specified, the default network will be used. For Private + Service Connect forwarding rules that forward traffic to Google + APIs, a network must be provided. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 networkTier: description: 'This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, @@ -726,6 +968,167 @@ spec: items: type: string type: array + subnetwork: + description: This field identifies the subnetwork that the load + balanced IP should belong to for this Forwarding Rule, used + in internal load balancing and network load balancing with IPv6. + If the network specified is in auto subnet mode, this field + is optional. However, a subnetwork must be specified if the + network is in custom subnet mode or when creating external forwarding + rule with IPv6. + type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 + target: + description: is set to targetGrpcProxy and validateForProxyless + is set to true, the IPAddress should be set to 0.0.0.0. + type: string + targetRef: + description: Reference to a RegionTargetHTTPProxy to populate + target. + 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 + targetSelector: + description: Selector for a RegionTargetHTTPProxy to populate + target. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_globaladdresses.yaml b/package/crds/compute.gcp.upbound.io_globaladdresses.yaml index 87fb1c15e..69ad8db2b 100644 --- a/package/crds/compute.gcp.upbound.io_globaladdresses.yaml +++ b/package/crds/compute.gcp.upbound.io_globaladdresses.yaml @@ -204,6 +204,85 @@ spec: description: 'The IP Version that will be used by this address. The default value is IPV4. Possible values are: IPV4, IPV6.' type: string + network: + description: The URL of the network in which to reserve the IP + range. The IP range must be in RFC1918 space. The network cannot + be deleted if there are any reserved IP ranges referring to + it. This should only be set when using an Internal address. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 prefixLength: description: The prefix length of the IP range. If not present, it means the address field is a single IP address. This field diff --git a/package/crds/compute.gcp.upbound.io_globalforwardingrules.yaml b/package/crds/compute.gcp.upbound.io_globalforwardingrules.yaml index 174170773..8ac55f1dc 100644 --- a/package/crds/compute.gcp.upbound.io_globalforwardingrules.yaml +++ b/package/crds/compute.gcp.upbound.io_globalforwardingrules.yaml @@ -512,6 +512,88 @@ spec: description: An optional description of this resource. Provide this property when you create the resource. type: string + ipAddress: + description: 'IP address for which this forwarding rule accepts + traffic. When a client sends traffic to this IP address, the + forwarding rule directs the traffic to the referenced target. + While creating a forwarding rule, specifying an IPAddress is + required under the following circumstances:' + type: string + ipAddressRef: + description: Reference to a GlobalAddress in compute to populate + ipAddress. + 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 + ipAddressSelector: + description: Selector for a GlobalAddress in compute to populate + ipAddress. + 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 ipProtocol: description: 'The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, @@ -592,6 +674,89 @@ spec: type: string type: object type: array + network: + description: This field is not used for external load balancing. + For Internal TCP/UDP Load Balancing, this field identifies the + network that the load balanced IP should belong to for this + Forwarding Rule. If the subnetwork is specified, the network + of the subnetwork will be used. If neither subnetwork nor this + field is specified, the default network will be used. For Private + Service Connect forwarding rules that forward traffic to Google + APIs, a network must be provided. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 noAutomateDnsZone: description: This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC @@ -600,6 +765,83 @@ spec: portRange: description: 'This field can only be used:' type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + projectRef: + description: Reference to a Network in compute to populate project. + 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 + projectSelector: + description: Selector for a Network in compute to populate project. + 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 sourceIpRanges: description: If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP @@ -611,6 +853,89 @@ spec: items: type: string type: array + target: + description: The URL of the target resource to receive the matched + traffic. For regional forwarding rules, this target must be + in the same region as the forwarding rule. For global forwarding + rules, this target must be a global load balancing resource. + The forwarded traffic must be of a type appropriate to the target + object. + type: string + targetRef: + description: Reference to a TargetSSLProxy in compute to populate + target. + 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 + targetSelector: + description: Selector for a TargetSSLProxy in compute to populate + target. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_globalnetworkendpoints.yaml b/package/crds/compute.gcp.upbound.io_globalnetworkendpoints.yaml index 64822a344..8b9dcec76 100644 --- a/package/crds/compute.gcp.upbound.io_globalnetworkendpoints.yaml +++ b/package/crds/compute.gcp.upbound.io_globalnetworkendpoints.yaml @@ -180,6 +180,85 @@ spec: This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT. type: string + globalNetworkEndpointGroup: + description: The global network endpoint group this endpoint is + part of. + type: string + globalNetworkEndpointGroupRef: + description: Reference to a GlobalNetworkEndpointGroup in compute + to populate globalNetworkEndpointGroup. + 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 + globalNetworkEndpointGroupSelector: + description: Selector for a GlobalNetworkEndpointGroup in compute + to populate globalNetworkEndpointGroup. + 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 ipAddress: description: IPv4 address external endpoint. type: string diff --git a/package/crds/compute.gcp.upbound.io_havpngateways.yaml b/package/crds/compute.gcp.upbound.io_havpngateways.yaml index d4337dca1..c0a6132b9 100644 --- a/package/crds/compute.gcp.upbound.io_havpngateways.yaml +++ b/package/crds/compute.gcp.upbound.io_havpngateways.yaml @@ -274,6 +274,83 @@ spec: description: description: An optional description of this resource. type: string + network: + description: The network this VPN gateway is accepting traffic + for. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. @@ -292,6 +369,92 @@ spec: id: description: The numeric ID of this VPN gateway interface. type: number + interconnectAttachment: + description: URL of the interconnect attachment resource. + When the value of this field is present, the VPN Gateway + will be used for IPsec-encrypted Cloud Interconnect; all + Egress or Ingress traffic for this VPN Gateway interface + will go through the specified interconnect attachment + resource. Not currently available publicly. + type: string + interconnectAttachmentRef: + description: Reference to a InterconnectAttachment in compute + to populate interconnectAttachment. + 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 + interconnectAttachmentSelector: + description: Selector for a InterconnectAttachment in compute + to populate interconnectAttachment. + 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 type: object type: array type: object diff --git a/package/crds/compute.gcp.upbound.io_imageiammembers.yaml b/package/crds/compute.gcp.upbound.io_imageiammembers.yaml index 0fe77a274..3978c4ff8 100644 --- a/package/crds/compute.gcp.upbound.io_imageiammembers.yaml +++ b/package/crds/compute.gcp.upbound.io_imageiammembers.yaml @@ -183,6 +183,81 @@ spec: type: string type: object type: array + image: + type: string + imageRef: + description: Reference to a Image to populate image. + 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 + imageSelector: + description: Selector for a Image to populate image. + 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 member: type: string project: diff --git a/package/crds/compute.gcp.upbound.io_instancefromtemplates.yaml b/package/crds/compute.gcp.upbound.io_instancefromtemplates.yaml index 5d7bb1361..e07fa2ad3 100644 --- a/package/crds/compute.gcp.upbound.io_instancefromtemplates.yaml +++ b/package/crds/compute.gcp.upbound.io_instancefromtemplates.yaml @@ -806,16 +806,172 @@ spec: type: string type: object type: array + network: + type: string networkIp: type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 nicType: type: string queueCount: type: number stackType: type: string + subnetwork: + type: string subnetworkProject: type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object type: array networkPerformanceConfig: @@ -931,6 +1087,84 @@ spec: type: boolean type: object type: array + sourceInstanceTemplate: + description: Name or self link of an instance template to create + the instance based on. It is recommended to reference instance + templates through their unique id (self_link_unique attribute). + type: string + sourceInstanceTemplateRef: + description: Reference to a InstanceTemplate to populate sourceInstanceTemplate. + 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 + sourceInstanceTemplateSelector: + description: Selector for a InstanceTemplate to populate sourceInstanceTemplate. + 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 tags: items: type: string diff --git a/package/crds/compute.gcp.upbound.io_instancegroupmanagers.yaml b/package/crds/compute.gcp.upbound.io_instancegroupmanagers.yaml index 7d5b25f4f..cdae1ae1b 100644 --- a/package/crds/compute.gcp.upbound.io_instancegroupmanagers.yaml +++ b/package/crds/compute.gcp.upbound.io_instancegroupmanagers.yaml @@ -544,6 +544,85 @@ spec: below. For more information, see the official documentation. items: properties: + healthCheck: + description: The health check resource that signals autohealing. + type: string + healthCheckRef: + description: Reference to a HealthCheck to populate healthCheck. + 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 + healthCheckSelector: + description: Selector for a HealthCheck to populate healthCheck. + 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 initialDelaySec: description: The number of seconds that the managed instance group waits before it applies autohealing policies to @@ -623,6 +702,90 @@ spec: type: string type: object type: array + targetPools: + description: The full URL of all target pools to which new instances + in the group are added. Updating the target pools attribute + does not affect existing instances. + items: + type: string + type: array + x-kubernetes-list-type: set + targetPoolsRefs: + description: References to TargetPool to populate targetPools. + items: + description: A Reference to a named object. + 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 + type: array + targetPoolsSelector: + description: Selector for a list of TargetPool to populate targetPools. + 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 targetSize: description: The target number of running instances for this managed instance group. This value should always be explicitly set unless @@ -704,6 +867,90 @@ spec: canary release scenarios. Structure is documented below. items: properties: + instanceTemplate: + description: '- The full URL to an instance template from + which all new instances of this version will be created. + It is recommended to reference instance templates through + their unique id (self_link_unique attribute).' + type: string + instanceTemplateRef: + description: Reference to a InstanceTemplate to populate + instanceTemplate. + 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 + instanceTemplateSelector: + description: Selector for a InstanceTemplate to populate + instanceTemplate. + 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 name: description: '- Version name.' type: string diff --git a/package/crds/compute.gcp.upbound.io_instancegroups.yaml b/package/crds/compute.gcp.upbound.io_instancegroups.yaml index 090a4aa01..f16ac284c 100644 --- a/package/crds/compute.gcp.upbound.io_instancegroups.yaml +++ b/package/crds/compute.gcp.upbound.io_instancegroups.yaml @@ -218,6 +218,86 @@ spec: type: number type: object type: array + network: + description: The URL of the network the instance group is in. + If this is different from the network where the instances are + in, the creation fails. Defaults to the network where the instances + are in (if neither network nor instances is specified, this + field will be blank). + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_instanceiammembers.yaml b/package/crds/compute.gcp.upbound.io_instanceiammembers.yaml index 9c79ab1ce..c27df48e0 100644 --- a/package/crds/compute.gcp.upbound.io_instanceiammembers.yaml +++ b/package/crds/compute.gcp.upbound.io_instanceiammembers.yaml @@ -185,6 +185,81 @@ spec: type: string type: object type: array + instanceName: + type: string + instanceNameRef: + description: Reference to a Instance to populate instanceName. + 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 + instanceNameSelector: + description: Selector for a Instance to populate instanceName. + 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 member: type: string project: diff --git a/package/crds/compute.gcp.upbound.io_instances.yaml b/package/crds/compute.gcp.upbound.io_instances.yaml index 731c76c95..7d846b163 100644 --- a/package/crds/compute.gcp.upbound.io_instances.yaml +++ b/package/crds/compute.gcp.upbound.io_instances.yaml @@ -1120,6 +1120,97 @@ spec: source must be set. Structure is documented below. items: properties: + image: + description: 'The image from which to initialize this + disk. This can be one of: the image''s self_link, + projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, + global/images/{image}, global/images/family/{family}, + family/{family}, {project}/{family}, {project}/{image}, + {family}, or {image}. If referred by family, the + images names must include the family name. If they + don''t, use the google_compute_image data source. + For instance, the image centos-6-v20180104 includes + its family name centos-6. These images can be referred + by family name here.' + type: string + imageRef: + description: Reference to a Image to populate image. + 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 + imageSelector: + description: Selector for a Image to populate image. + 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 labels: additionalProperties: type: string @@ -1361,10 +1452,92 @@ spec: type: string type: object type: array + network: + description: The name or self_link of the network to attach + this interface to. Either network or subnetwork must be + provided. If network isn't provided it will be inferred + from the subnetwork. + type: string networkIp: description: The private IP address to assign to the instance. If empty, the address will be automatically assigned. type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 nicType: description: 'The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.' @@ -1380,6 +1553,17 @@ spec: are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used. type: string + subnetwork: + description: The name or self_link of the subnetwork to + attach this interface to. Either network or subnetwork + must be provided. If network isn't provided it will be + inferred from the subnetwork. The subnetwork must exist + in the same region this instance will be created in. If + the network resource is in legacy mode, do not specify + this field. If the network is in auto subnet mode, specifying + the subnetwork is optional. If the network is in custom + subnet mode, specifying the subnetwork is required. + type: string subnetworkProject: description: The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored @@ -1387,6 +1571,82 @@ spec: If the subnetwork is a name and this field is not provided, the provider project is used. type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object type: array networkPerformanceConfig: @@ -1569,6 +1829,90 @@ spec: in order to update this field.' items: properties: + email: + description: 'The service account e-mail address. Note: + allow_stopping_for_update must be set to true or your + instance must have a desired_status of TERMINATED in order + to update this field.' + type: string + emailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate email. + 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 + emailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate email. + 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 scopes: description: 'A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access diff --git a/package/crds/compute.gcp.upbound.io_instancetemplates.yaml b/package/crds/compute.gcp.upbound.io_instancetemplates.yaml index 3c71218fc..fe1d9bf53 100644 --- a/package/crds/compute.gcp.upbound.io_instancetemplates.yaml +++ b/package/crds/compute.gcp.upbound.io_instancetemplates.yaml @@ -1025,6 +1025,13 @@ spec: items: type: string type: array + source: + description: 'The name (not self_link) of the disk (such + as those managed by google_compute_disk) to attach. ~> + Note: Either source, source_image, or source_snapshot + is required in a disk block unless the disk type is local-ssd. + Check the API docs for details.' + type: string sourceImage: description: 'The image from which to initialize this disk. This can be one of: the image''s self_link, projects/{project}/global/images/{image}, @@ -1052,6 +1059,84 @@ spec: type: string type: object type: array + sourceRef: + description: Reference to a Disk in compute to populate + source. + 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 + sourceSelector: + description: Selector for a Disk in compute to populate + source. + 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 sourceSnapshot: description: 'The source snapshot to create this disk. ~> Note: Either source, source_image, or source_snapshot @@ -1197,10 +1282,92 @@ spec: type: string type: object type: array + network: + description: The name or self_link of the network to attach + this interface to. Use network attribute for Legacy or + Auto subnetted networks and subnetwork for custom subnetted + networks. + type: string networkIp: description: The private IP address to assign to the instance. If empty, the address will be automatically assigned. type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 nicType: description: 'The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.' @@ -1216,11 +1383,93 @@ spec: are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used. type: string + subnetwork: + description: the name of the subnetwork to attach this interface + to. The subnetwork must exist in the same region this + instance will be created in. Either network or subnetwork + must be provided. + type: string subnetworkProject: description: The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object type: array networkPerformanceConfig: @@ -1375,6 +1624,89 @@ spec: is documented below. items: properties: + email: + description: The service account e-mail address. If not + given, the default Google Compute Engine service account + is used. + type: string + emailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate email. + 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 + emailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate email. + 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 scopes: description: A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access diff --git a/package/crds/compute.gcp.upbound.io_interconnectattachments.yaml b/package/crds/compute.gcp.upbound.io_interconnectattachments.yaml index 35a8d35d7..e535c6138 100644 --- a/package/crds/compute.gcp.upbound.io_interconnectattachments.yaml +++ b/package/crds/compute.gcp.upbound.io_interconnectattachments.yaml @@ -331,6 +331,85 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + router: + description: URL of the cloud router to be used for dynamic routing. + This router must be in the same region as this InterconnectAttachment. + The InterconnectAttachment will automatically connect the Interconnect + to the network & region within which the Cloud Router is configured. + type: string + routerRef: + description: Reference to a Router to populate router. + 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 + routerSelector: + description: Selector for a Router to populate router. + 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 type: description: 'The type of InterconnectAttachment you wish to create. Defaults to DEDICATED. Possible values are: DEDICATED, PARTNER, diff --git a/package/crds/compute.gcp.upbound.io_networkendpointgroups.yaml b/package/crds/compute.gcp.upbound.io_networkendpointgroups.yaml index 90290065c..c29d7024a 100644 --- a/package/crds/compute.gcp.upbound.io_networkendpointgroups.yaml +++ b/package/crds/compute.gcp.upbound.io_networkendpointgroups.yaml @@ -272,6 +272,10 @@ spec: description: An optional description of this resource. Provide this property when you create the resource. type: string + network: + description: The network to which all network endpoints in the + NEG belong. Uses "default" project network if unspecified. + type: string networkEndpointType: description: 'Type of network endpoints in this network endpoint group. NON_GCP_PRIVATE_IP_PORT is used for hybrid connectivity @@ -284,10 +288,160 @@ spec: Default value is GCE_VM_IP_PORT. Possible values are: GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT.' type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + subnetwork: + description: Optional subnetwork to which all network endpoints + in the NEG belong. + type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_networkendpoints.yaml b/package/crds/compute.gcp.upbound.io_networkendpoints.yaml index a158e6f52..56eecacf6 100644 --- a/package/crds/compute.gcp.upbound.io_networkendpoints.yaml +++ b/package/crds/compute.gcp.upbound.io_networkendpoints.yaml @@ -256,11 +256,168 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + instance: + description: The name for a specific VM instance that the IP address + belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. + The instance must be in the same zone of network endpoint group. + type: string + instanceRef: + description: Reference to a Instance in compute to populate instance. + 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 + instanceSelector: + description: Selector for a Instance in compute to populate instance. + 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 ipAddress: description: IPv4 address of network endpoint. The IP address must belong to a VM in GCE (either the primary IP or as part of an aliased IP range). type: string + networkEndpointGroup: + description: The network endpoint group this endpoint is part + of. + type: string + networkEndpointGroupRef: + description: Reference to a NetworkEndpointGroup in compute to + populate networkEndpointGroup. + 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 + networkEndpointGroupSelector: + description: Selector for a NetworkEndpointGroup in compute to + populate networkEndpointGroup. + 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 port: description: Port number of network endpoint. Note port is required unless the Network Endpoint Group is created with the type of diff --git a/package/crds/compute.gcp.upbound.io_networkfirewallpolicyassociations.yaml b/package/crds/compute.gcp.upbound.io_networkfirewallpolicyassociations.yaml index deada7c6c..bd91e75c8 100644 --- a/package/crds/compute.gcp.upbound.io_networkfirewallpolicyassociations.yaml +++ b/package/crds/compute.gcp.upbound.io_networkfirewallpolicyassociations.yaml @@ -238,6 +238,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + attachmentTarget: + description: The target that the firewall policy is attached to. + type: string + attachmentTargetRef: + description: Reference to a Network in compute to populate attachmentTarget. + 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 + attachmentTargetSelector: + description: Selector for a Network in compute to populate attachmentTarget. + 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 project: description: The project for the resource type: string diff --git a/package/crds/compute.gcp.upbound.io_networkpeeringroutesconfigs.yaml b/package/crds/compute.gcp.upbound.io_networkpeeringroutesconfigs.yaml index a375a70af..c6afe9485 100644 --- a/package/crds/compute.gcp.upbound.io_networkpeeringroutesconfigs.yaml +++ b/package/crds/compute.gcp.upbound.io_networkpeeringroutesconfigs.yaml @@ -252,6 +252,160 @@ spec: importCustomRoutes: description: Whether to import the custom routes to the peer network. type: boolean + network: + description: The name of the primary network for the peering. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 + peering: + description: Name of the peering. + type: string + peeringRef: + description: Reference to a NetworkPeering in compute to populate + peering. + 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 + peeringSelector: + description: Selector for a NetworkPeering in compute to populate + peering. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_networkpeerings.yaml b/package/crds/compute.gcp.upbound.io_networkpeerings.yaml index e2b40b1a0..2e05251b0 100644 --- a/package/crds/compute.gcp.upbound.io_networkpeerings.yaml +++ b/package/crds/compute.gcp.upbound.io_networkpeerings.yaml @@ -280,6 +280,83 @@ spec: are always imported from peers and are not controlled by this field. type: boolean + peerNetwork: + description: The peer network in the peering. The peer network + may belong to a different project. + type: string + peerNetworkRef: + description: Reference to a Network in compute to populate peerNetwork. + 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 + peerNetworkSelector: + description: Selector for a Network in compute to populate peerNetwork. + 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 stackType: description: 'Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default diff --git a/package/crds/compute.gcp.upbound.io_nodegroups.yaml b/package/crds/compute.gcp.upbound.io_nodegroups.yaml index f3f904eb2..4b92cb990 100644 --- a/package/crds/compute.gcp.upbound.io_nodegroups.yaml +++ b/package/crds/compute.gcp.upbound.io_nodegroups.yaml @@ -450,6 +450,85 @@ spec: type: string type: object type: array + nodeTemplate: + description: The URL of the node template to which this node group + belongs. + type: string + nodeTemplateRef: + description: Reference to a NodeTemplate in compute to populate + nodeTemplate. + 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 + nodeTemplateSelector: + description: Selector for a NodeTemplate in compute to populate + nodeTemplate. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. @@ -464,6 +543,176 @@ spec: is only valid when shareType's value is SPECIFIC_PROJECTS. Structure is documented below. items: + properties: + id: + description: The identifier for this object. Format + specified above. + type: string + idRef: + description: Reference to a Project in cloudplatform + to populate id. + 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 + idSelector: + description: Selector for a Project in cloudplatform + to populate id. + 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 + projectId: + description: The project id/number should be the same + as the key of this project config in the project + map. + type: string + projectIdRef: + description: Reference to a Project in cloudplatform + to populate projectId. + 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 + projectIdSelector: + description: Selector for a Project in cloudplatform + to populate projectId. + 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 type: object type: array shareType: diff --git a/package/crds/compute.gcp.upbound.io_packetmirrorings.yaml b/package/crds/compute.gcp.upbound.io_packetmirrorings.yaml index 5706aacf5..622e58924 100644 --- a/package/crds/compute.gcp.upbound.io_packetmirrorings.yaml +++ b/package/crds/compute.gcp.upbound.io_packetmirrorings.yaml @@ -423,6 +423,88 @@ spec: forwarding rule must have is_mirroring_collector set to true. Structure is documented below. items: + properties: + url: + description: The URL of the forwarding rule. + type: string + urlRef: + description: Reference to a ForwardingRule in compute to + populate url. + 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 + urlSelector: + description: Selector for a ForwardingRule in compute to + populate url. + 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 type: object type: array description: @@ -461,6 +543,91 @@ spec: description: All the listed instances will be mirrored. Specify at most 50. Structure is documented below. items: + properties: + url: + description: The URL of the subnetwork where this + rule should be active. + type: string + urlRef: + description: Reference to a Instance in compute to + populate url. + 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 + urlSelector: + description: Selector for a Instance in compute to + populate url. + 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 type: object type: array subnetworks: @@ -487,6 +654,89 @@ spec: a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below. items: + properties: + url: + description: The full self_link URL of the network where + this rule is active. + type: string + urlRef: + description: Reference to a Network in compute to populate + url. + 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 + urlSelector: + description: Selector for a Network in compute to populate + url. + 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 type: object type: array priority: diff --git a/package/crds/compute.gcp.upbound.io_perinstanceconfigs.yaml b/package/crds/compute.gcp.upbound.io_perinstanceconfigs.yaml index 51d57bbcb..1c41a9043 100644 --- a/package/crds/compute.gcp.upbound.io_perinstanceconfigs.yaml +++ b/package/crds/compute.gcp.upbound.io_perinstanceconfigs.yaml @@ -388,6 +388,85 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + instanceGroupManager: + description: The instance group manager this instance config is + part of. + type: string + instanceGroupManagerRef: + description: Reference to a InstanceGroupManager in compute to + populate instanceGroupManager. + 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 + instanceGroupManagerSelector: + description: Selector for a InstanceGroupManager in compute to + populate instanceGroupManager. + 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 minimalAction: description: 'The minimal action to perform on the instance during an update. Default is NONE. Possible values are:' @@ -430,6 +509,91 @@ spec: description: 'The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.' type: string + source: + description: The URI of an existing persistent disk + to attach under the specified device-name in the + format projects/project-id/zones/zone/disks/disk-name. + type: string + sourceRef: + description: Reference to a Disk in compute to populate + source. + 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 + sourceSelector: + description: Selector for a Disk in compute to populate + source. + 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 type: object type: array metadata: @@ -452,6 +616,85 @@ spec: state from the underlying instance. State will be removed on the next instance recreation or update. type: boolean + zone: + description: Zone where the containing instance group manager + is located + type: string + zoneRef: + description: Reference to a InstanceGroupManager in compute to + populate zone. + 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 + zoneSelector: + description: Selector for a InstanceGroupManager in compute to + populate zone. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_regionautoscalers.yaml b/package/crds/compute.gcp.upbound.io_regionautoscalers.yaml index e150acb55..bc5f3b572 100644 --- a/package/crds/compute.gcp.upbound.io_regionautoscalers.yaml +++ b/package/crds/compute.gcp.upbound.io_regionautoscalers.yaml @@ -488,6 +488,85 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + target: + description: URL of the managed instance group that this autoscaler + will scale. + type: string + targetRef: + description: Reference to a RegionInstanceGroupManager in compute + to populate target. + 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 + targetSelector: + description: Selector for a RegionInstanceGroupManager in compute + to populate target. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_regionbackendservices.yaml b/package/crds/compute.gcp.upbound.io_regionbackendservices.yaml index fff8e8427..8cc2073bb 100644 --- a/package/crds/compute.gcp.upbound.io_regionbackendservices.yaml +++ b/package/crds/compute.gcp.upbound.io_regionbackendservices.yaml @@ -862,6 +862,101 @@ spec: backend. More than one failover backend can be configured for a given RegionBackendService. type: boolean + group: + description: The fully-qualified URL of an Instance Group + or Network Endpoint Group resource. In case of instance + group this defines the list of instances that serve traffic. + Member virtual machine instances from each instance group + must live in the same zone as the instance group itself. + No two backends in a backend service are allowed to use + same Instance Group resource. For Network Endpoint Groups + this defines list of endpoints. All endpoints of Network + Endpoint Group must be hosted on instances located in + the same zone as the Network Endpoint Group. Backend services + cannot mix Instance Group and Network Endpoint Group backends. + When the load_balancing_scheme is INTERNAL, only instance + groups are supported. Note that you must specify an Instance + Group or Network Endpoint Group resource using the fully-qualified + URL, rather than a partial URL. + type: string + groupRef: + description: Reference to a RegionInstanceGroupManager to + populate group. + 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 + groupSelector: + description: Selector for a RegionInstanceGroupManager to + populate group. + 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 maxConnections: description: The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION @@ -1178,6 +1273,93 @@ spec: type: number type: object type: array + healthChecks: + description: The set of URLs to HealthCheck resources for health + checking this RegionBackendService. Currently at most one health + check can be specified. A health check must be specified unless + the backend service uses an internet or serverless NEG as a + backend. + items: + type: string + type: array + x-kubernetes-list-type: set + healthChecksRefs: + description: References to RegionHealthCheck to populate healthChecks. + items: + description: A Reference to a named object. + 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 + type: array + healthChecksSelector: + description: Selector for a list of RegionHealthCheck to populate + healthChecks. + 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 iap: description: Settings for enabling Cloud Identity Aware Proxy Structure is documented below. diff --git a/package/crds/compute.gcp.upbound.io_regiondiskiammembers.yaml b/package/crds/compute.gcp.upbound.io_regiondiskiammembers.yaml index 55bdedb5d..f3d647174 100644 --- a/package/crds/compute.gcp.upbound.io_regiondiskiammembers.yaml +++ b/package/crds/compute.gcp.upbound.io_regiondiskiammembers.yaml @@ -187,6 +187,81 @@ spec: type: array member: type: string + name: + type: string + nameRef: + description: Reference to a RegionDisk to populate name. + 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 + nameSelector: + description: Selector for a RegionDisk to populate name. + 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 project: type: string region: diff --git a/package/crds/compute.gcp.upbound.io_regiondiskresourcepolicyattachments.yaml b/package/crds/compute.gcp.upbound.io_regiondiskresourcepolicyattachments.yaml index 1e9e65680..5c2db7c47 100644 --- a/package/crds/compute.gcp.upbound.io_regiondiskresourcepolicyattachments.yaml +++ b/package/crds/compute.gcp.upbound.io_regiondiskresourcepolicyattachments.yaml @@ -246,6 +246,164 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + disk: + description: The name of the regional disk in which the resource + policies are attached to. + type: string + diskRef: + description: Reference to a RegionDisk in compute to populate + disk. + 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 + diskSelector: + description: Selector for a RegionDisk in compute to populate + disk. + 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 + name: + description: The resource policy to be attached to the disk for + scheduling snapshot creation. Do not specify the self link. + type: string + nameRef: + description: Reference to a ResourcePolicy in compute to populate + name. + 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 + nameSelector: + description: Selector for a ResourcePolicy in compute to populate + name. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_regiondisks.yaml b/package/crds/compute.gcp.upbound.io_regiondisks.yaml index d0d0ee03f..4b2292bfc 100644 --- a/package/crds/compute.gcp.upbound.io_regiondisks.yaml +++ b/package/crds/compute.gcp.upbound.io_regiondisks.yaml @@ -376,6 +376,88 @@ spec: description: A nested object resource Structure is documented below. items: + properties: + disk: + description: Primary disk for asynchronous disk replication. + type: string + diskRef: + description: Reference to a RegionDisk in compute to populate + disk. + 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 + diskSelector: + description: Selector for a RegionDisk in compute to populate + disk. + 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 type: object type: array description: @@ -455,6 +537,84 @@ spec: must not be less than the size of the sourceImage or the size of the snapshot. type: number + snapshot: + description: 'The source snapshot used to create this disk. You + can provide this as a partial or full URL to the resource. For + example, the following are valid values:' + type: string + snapshotRef: + description: Reference to a Snapshot in compute to populate snapshot. + 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 + snapshotSelector: + description: Selector for a Snapshot in compute to populate snapshot. + 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 sourceDisk: description: 'The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, diff --git a/package/crds/compute.gcp.upbound.io_regioninstancegroupmanagers.yaml b/package/crds/compute.gcp.upbound.io_regioninstancegroupmanagers.yaml index caa3372f8..f5ed09240 100644 --- a/package/crds/compute.gcp.upbound.io_regioninstancegroupmanagers.yaml +++ b/package/crds/compute.gcp.upbound.io_regioninstancegroupmanagers.yaml @@ -577,6 +577,85 @@ spec: below. For more information, see the official documentation. items: properties: + healthCheck: + description: The health check resource that signals autohealing. + type: string + healthCheckRef: + description: Reference to a HealthCheck to populate healthCheck. + 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 + healthCheckSelector: + description: Selector for a HealthCheck to populate healthCheck. + 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 initialDelaySec: description: The number of seconds that the managed instance group waits before it applies autohealing policies to @@ -681,6 +760,90 @@ spec: type: string type: object type: array + targetPools: + description: The full URL of all target pools to which new instances + in the group are added. Updating the target pools attribute + does not affect existing instances. + items: + type: string + type: array + x-kubernetes-list-type: set + targetPoolsRefs: + description: References to TargetPool to populate targetPools. + items: + description: A Reference to a named object. + 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 + type: array + targetPoolsSelector: + description: Selector for a list of TargetPool to populate targetPools. + 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 targetSize: description: The target number of running instances for this managed instance group. This value should always be explicitly set unless @@ -777,6 +940,88 @@ spec: canary release scenarios. Structure is documented below. items: properties: + instanceTemplate: + description: '- The full URL to an instance template from + which all new instances of this version will be created.' + type: string + instanceTemplateRef: + description: Reference to a InstanceTemplate to populate + instanceTemplate. + 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 + instanceTemplateSelector: + description: Selector for a InstanceTemplate to populate + instanceTemplate. + 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 name: description: '- Version name.' type: string diff --git a/package/crds/compute.gcp.upbound.io_regionnetworkendpointgroups.yaml b/package/crds/compute.gcp.upbound.io_regionnetworkendpointgroups.yaml index 3a7d72be4..d64694eae 100644 --- a/package/crds/compute.gcp.upbound.io_regionnetworkendpointgroups.yaml +++ b/package/crds/compute.gcp.upbound.io_regionnetworkendpointgroups.yaml @@ -609,6 +609,89 @@ spec: may be set. Structure is documented below. items: properties: + function: + description: 'A user-defined name of the Cloud Function. + The function name is case-sensitive and must be 1-63 characters + long. Example value: "func1".' + type: string + functionRef: + description: Reference to a Function in cloudfunctions to + populate function. + 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 + functionSelector: + description: Selector for a Function in cloudfunctions to + populate function. + 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 urlMask: description: A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions @@ -627,6 +710,89 @@ spec: may be set. Structure is documented below. items: properties: + service: + description: 'Cloud Run service is the main resource of + Cloud Run. The service must be 1-63 characters long, and + comply with RFC1035. Example value: "run-service".' + type: string + serviceRef: + description: Reference to a Service in cloudrun to populate + service. + 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 + serviceSelector: + description: Selector for a Service in cloudrun to populate + service. + 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 tag: description: 'Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information. @@ -650,15 +816,251 @@ spec: description: An optional description of this resource. Provide this property when you create the resource. type: string + network: + description: This field is only used for PSC. The URL of the network + to which all network endpoints in the NEG belong. Uses "default" + project network if unspecified. + type: string networkEndpointType: description: 'Type of network endpoints in this network endpoint group. Defaults to SERVERLESS Default value is SERVERLESS. Possible values are: SERVERLESS, PRIVATE_SERVICE_CONNECT.' type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + pscTargetService: + description: The target service url used to set up private service + connection to a Google API or a PSC Producer Service Attachment. + type: string + pscTargetServiceRef: + description: Reference to a ServiceAttachment in compute to populate + pscTargetService. + 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 + pscTargetServiceSelector: + description: Selector for a ServiceAttachment in compute to populate + pscTargetService. + 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 + subnetwork: + description: This field is only used for PSC. Optional URL of + the subnetwork to which all network endpoints in the NEG belong. + type: string + subnetworkRef: + description: Reference to a Subnetwork in compute to populate + subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork in compute to populate + subnetwork. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_regionnetworkfirewallpolicyassociations.yaml b/package/crds/compute.gcp.upbound.io_regionnetworkfirewallpolicyassociations.yaml index a16b3f1a6..5082686b1 100644 --- a/package/crds/compute.gcp.upbound.io_regionnetworkfirewallpolicyassociations.yaml +++ b/package/crds/compute.gcp.upbound.io_regionnetworkfirewallpolicyassociations.yaml @@ -242,6 +242,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + attachmentTarget: + description: The target that the firewall policy is attached to. + type: string + attachmentTargetRef: + description: Reference to a Network in compute to populate attachmentTarget. + 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 + attachmentTargetSelector: + description: Selector for a Network in compute to populate attachmentTarget. + 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 project: description: The project for the resource type: string diff --git a/package/crds/compute.gcp.upbound.io_regionperinstanceconfigs.yaml b/package/crds/compute.gcp.upbound.io_regionperinstanceconfigs.yaml index 2bbc6e5ba..92eac6670 100644 --- a/package/crds/compute.gcp.upbound.io_regionperinstanceconfigs.yaml +++ b/package/crds/compute.gcp.upbound.io_regionperinstanceconfigs.yaml @@ -431,6 +431,91 @@ spec: description: 'The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.' type: string + source: + description: The URI of an existing persistent disk + to attach under the specified device-name in the + format projects/project-id/zones/zone/disks/disk-name. + type: string + sourceRef: + description: Reference to a Disk in compute to populate + source. + 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 + sourceSelector: + description: Selector for a Disk in compute to populate + source. + 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 type: object type: array metadata: @@ -446,6 +531,164 @@ spec: 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: Region where the containing instance group manager + is located + type: string + regionInstanceGroupManager: + description: The region instance group manager this instance config + is part of. + type: string + regionInstanceGroupManagerRef: + description: Reference to a RegionInstanceGroupManager in compute + to populate regionInstanceGroupManager. + 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 + regionInstanceGroupManagerSelector: + description: Selector for a RegionInstanceGroupManager in compute + to populate regionInstanceGroupManager. + 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 + regionRef: + description: Reference to a RegionInstanceGroupManager in compute + to populate region. + 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 + regionSelector: + description: Selector for a RegionInstanceGroupManager in compute + to populate region. + 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 removeInstanceStateOnDestroy: description: When true, deleting this config will immediately remove any specified state from the underlying instance. When diff --git a/package/crds/compute.gcp.upbound.io_regiontargethttpproxies.yaml b/package/crds/compute.gcp.upbound.io_regiontargethttpproxies.yaml index 96b27e218..b6db199e5 100644 --- a/package/crds/compute.gcp.upbound.io_regiontargethttpproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_regiontargethttpproxies.yaml @@ -179,6 +179,83 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + urlMap: + description: A reference to the RegionUrlMap resource that defines + the mapping from URL to the BackendService. + type: string + urlMapRef: + description: Reference to a RegionURLMap to populate urlMap. + 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 + urlMapSelector: + description: Selector for a RegionURLMap to populate urlMap. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_regiontargethttpsproxies.yaml b/package/crds/compute.gcp.upbound.io_regiontargethttpsproxies.yaml index 3d60955e3..12fc01b0f 100644 --- a/package/crds/compute.gcp.upbound.io_regiontargethttpsproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_regiontargethttpsproxies.yaml @@ -265,6 +265,169 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + sslCertificates: + description: A list of RegionSslCertificate resources that are + used to authenticate connections between users and the load + balancer. Currently, exactly one SSL certificate must be specified. + items: + type: string + type: array + sslCertificatesRefs: + description: References to RegionSSLCertificate to populate sslCertificates. + items: + description: A Reference to a named object. + 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 + type: array + sslCertificatesSelector: + description: Selector for a list of RegionSSLCertificate to populate + sslCertificates. + 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 + urlMap: + description: A reference to the RegionUrlMap resource that defines + the mapping from URL to the RegionBackendService. + type: string + urlMapRef: + description: Reference to a RegionURLMap in compute to populate + urlMap. + 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 + urlMapSelector: + description: Selector for a RegionURLMap in compute to populate + urlMap. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_regiontargettcpproxies.yaml b/package/crds/compute.gcp.upbound.io_regiontargettcpproxies.yaml index b1398a509..f02a73b60 100644 --- a/package/crds/compute.gcp.upbound.io_regiontargettcpproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_regiontargettcpproxies.yaml @@ -184,6 +184,84 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + backendService: + description: A reference to the BackendService resource. + type: string + backendServiceRef: + description: Reference to a RegionBackendService in compute to + populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService in compute to + populate backendService. + 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 description: description: An optional description of this resource. type: string diff --git a/package/crds/compute.gcp.upbound.io_regionurlmaps.yaml b/package/crds/compute.gcp.upbound.io_regionurlmaps.yaml index e21b82496..c4036eade 100644 --- a/package/crds/compute.gcp.upbound.io_regionurlmaps.yaml +++ b/package/crds/compute.gcp.upbound.io_regionurlmaps.yaml @@ -2762,6 +2762,93 @@ spec: to a target gRPC proxy that has the validateForProxyless field set to true. Structure is documented below. items: + properties: + backendService: + description: The default RegionBackendService resource. + Before forwarding the request to backendService, + the loadbalancer applies any relevant headerActions + specified as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a RegionBackendService in + compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService in + compute to populate backendService. + 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 type: object type: array retryPolicy: @@ -2862,6 +2949,92 @@ spec: Structure is documented below. items: properties: + backendService: + description: The default RegionBackendService resource. + Before forwarding the request to backendService, + the loadbalancer applies any relevant headerActions + specified as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a RegionBackendService in + compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService in + compute to populate backendService. + 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 headerAction: description: Specifies changes to request and response headers that need to take effect for the selected @@ -2947,6 +3120,93 @@ spec: type: array type: object type: array + defaultService: + description: The full or partial URL of the defaultService resource + to which traffic is directed if none of the hostRules match. + If defaultRouteAction is additionally specified, advanced routing + actions like URL Rewrites, etc. take effect prior to sending + the request to the backend. However, if defaultService is specified, + defaultRouteAction cannot contain any weightedBackendServices. + Conversely, if routeAction specifies any weightedBackendServices, + service must not be specified. Only one of defaultService, + defaultUrlRedirect or defaultRouteAction.weightedBackendService + must be set. + type: string + defaultServiceRef: + description: Reference to a RegionBackendService in compute to + populate defaultService. + 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 + defaultServiceSelector: + description: Selector for a RegionBackendService in compute to + populate defaultService. + 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 defaultUrlRedirect: description: When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect @@ -3031,6 +3291,89 @@ spec: URL. Structure is documented below. items: properties: + defaultService: + description: A reference to a RegionBackendService resource. + This will be used if none of the pathRules defined by + this PathMatcher is matched by the URL's path portion. + type: string + defaultServiceRef: + description: Reference to a RegionBackendService in compute + to populate defaultService. + 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 + defaultServiceSelector: + description: Selector for a RegionBackendService in compute + to populate defaultService. + 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 defaultUrlRedirect: description: When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. @@ -3286,6 +3629,104 @@ spec: service, the host / authority header is suffixed with -shadow. Structure is documented below. items: + properties: + backendService: + description: The default RegionBackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a RegionBackendService + in compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService + in compute to populate backendService. + 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 type: object type: array retryPolicy: @@ -3392,6 +3833,103 @@ spec: Structure is documented below. items: properties: + backendService: + description: The default RegionBackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a RegionBackendService + in compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a RegionBackendService + in compute to populate backendService. + 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 headerAction: description: Specifies changes to request and response headers that need to take @@ -3490,6 +4028,90 @@ spec: type: array type: object type: array + service: + description: A reference to expected RegionBackendService + resource the given URL should be mapped to. + type: string + serviceRef: + description: Reference to a RegionBackendService in + compute to populate service. + 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 + serviceSelector: + description: Selector for a RegionBackendService in + compute to populate service. + 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 urlRedirect: description: When this rule is matched, the request is redirected to a URL specified by urlRedirect. @@ -4249,6 +4871,90 @@ spec: type: array type: object type: array + service: + description: A reference to expected RegionBackendService + resource the given URL should be mapped to. + type: string + serviceRef: + description: Reference to a RegionBackendService in + compute to populate service. + 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 + serviceSelector: + description: Selector for a RegionBackendService in + compute to populate service. + 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 urlRedirect: description: When this rule is matched, the request is redirected to a URL specified by urlRedirect. @@ -4329,6 +5035,88 @@ spec: path: description: Path portion of the URL. type: string + service: + description: A reference to expected RegionBackendService + resource the given URL should be mapped to. + type: string + serviceRef: + description: Reference to a RegionBackendService in compute + to populate service. + 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 + serviceSelector: + description: Selector for a RegionBackendService in compute + to populate service. + 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 type: object type: array type: object diff --git a/package/crds/compute.gcp.upbound.io_routerinterfaces.yaml b/package/crds/compute.gcp.upbound.io_routerinterfaces.yaml index 048a800ff..35f6f41d6 100644 --- a/package/crds/compute.gcp.upbound.io_routerinterfaces.yaml +++ b/package/crds/compute.gcp.upbound.io_routerinterfaces.yaml @@ -315,6 +315,83 @@ spec: specified, the project region will be used. Changing this forces a new interface to be created. type: string + router: + description: The name of the router this interface will be attached + to. Changing this forces a new interface to be created. + type: string + routerRef: + description: Reference to a Router to populate router. + 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 + routerSelector: + description: Selector for a Router to populate router. + 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 subnetwork: description: The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. @@ -324,6 +401,85 @@ spec: interface to be created. Only one of vpn_tunnel, interconnect_attachment or subnetwork can be specified. type: string + vpnTunnel: + description: The name or resource link to the VPN tunnel this + interface will be linked to. Changing this forces a new interface + to be created. Only one of vpn_tunnel, interconnect_attachment + or subnetwork can be specified. + type: string + vpnTunnelRef: + description: Reference to a VPNTunnel to populate vpnTunnel. + 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 + vpnTunnelSelector: + description: Selector for a VPNTunnel to populate vpnTunnel. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_routernats.yaml b/package/crds/compute.gcp.upbound.io_routernats.yaml index 62b54feda..e9b88885f 100644 --- a/package/crds/compute.gcp.upbound.io_routernats.yaml +++ b/package/crds/compute.gcp.upbound.io_routernats.yaml @@ -554,6 +554,85 @@ spec: Structure is documented below. items: properties: + name: + description: Self-link of subnetwork to NAT + type: string + nameRef: + description: Reference to a Subnetwork to populate name. + 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 + nameSelector: + description: Selector for a Subnetwork to populate name. + 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 secondaryIpRangeNames: description: List of the secondary ranges of the subnetwork that are allowed to use NAT. This can be populated only diff --git a/package/crds/compute.gcp.upbound.io_routerpeers.yaml b/package/crds/compute.gcp.upbound.io_routerpeers.yaml index 6c693fa1c..74855b08d 100644 --- a/package/crds/compute.gcp.upbound.io_routerpeers.yaml +++ b/package/crds/compute.gcp.upbound.io_routerpeers.yaml @@ -663,6 +663,85 @@ spec: description: Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. type: boolean + interface: + description: Name of the interface the BGP peer is associated + with. + type: string + interfaceRef: + description: Reference to a RouterInterface in compute to populate + interface. + 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 + interfaceSelector: + description: Selector for a RouterInterface in compute to populate + interface. + 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 ipAddress: description: IP address of the interface inside Google Cloud Platform. Only IPv4 is supported. @@ -678,6 +757,84 @@ spec: description: Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. type: number + peerIpAddress: + description: IP address of the BGP interface outside Google Cloud + Platform. Only IPv4 is supported. Required if ip_address is + set. + type: string + peerIpAddressRef: + description: Reference to a Address in compute to populate peerIpAddress. + 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 + peerIpAddressSelector: + description: Selector for a Address in compute to populate peerIpAddress. + 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 peerIpv6NexthopAddress: description: IPv6 address of the BGP interface outside Google Cloud Platform. The address must be in the range 2600:2d00:0:2::/64 @@ -689,6 +846,163 @@ spec: 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: Region where the router and BgpPeer reside. If it + is not provided, the provider region is used. + type: string + regionRef: + description: Reference to a Router in compute to populate region. + 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 + regionSelector: + description: Selector for a Router in compute to populate region. + 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 + routerApplianceInstance: + description: The URI of the VM instance that is used as third-party + router appliances such as Next Gen Firewalls, Virtual Routers, + or Router Appliances. The VM instance must be located in zones + contained in the same region as this Cloud Router. The VM instance + is the peer side of the BGP session. + type: string + routerApplianceInstanceRef: + description: Reference to a Instance in compute to populate routerApplianceInstance. + 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 + routerApplianceInstanceSelector: + description: Selector for a Instance in compute to populate routerApplianceInstance. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_routers.yaml b/package/crds/compute.gcp.upbound.io_routers.yaml index a8dbfb210..c036f7574 100644 --- a/package/crds/compute.gcp.upbound.io_routers.yaml +++ b/package/crds/compute.gcp.upbound.io_routers.yaml @@ -297,6 +297,82 @@ spec: description: Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). type: boolean + network: + description: A reference to the network to which this router belongs. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_routes.yaml b/package/crds/compute.gcp.upbound.io_routes.yaml index b1e33ed36..6ee810e74 100644 --- a/package/crds/compute.gcp.upbound.io_routes.yaml +++ b/package/crds/compute.gcp.upbound.io_routes.yaml @@ -362,11 +362,169 @@ spec: description: The destination range of outgoing packets that this route applies to. Only IPv4 is supported. type: string + network: + description: The network that this route applies to. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 nextHopGateway: description: 'URL to a gateway that should handle matching packets. Currently, you can only specify the internet gateway, using a full or partial valid URL:' type: string + nextHopIlb: + description: 'The IP address or URL to a forwarding rule of type + loadBalancingScheme=INTERNAL that should handle matching packets. + With the GA provider you can only specify the forwarding rule + as a partial or full URL. For example, the following are all + valid values:' + type: string + nextHopIlbRef: + description: Reference to a ForwardingRule in compute to populate + nextHopIlb. + 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 + nextHopIlbSelector: + description: Selector for a ForwardingRule in compute to populate + nextHopIlb. + 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 nextHopInstance: description: 'URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example:' @@ -378,6 +536,82 @@ spec: description: Network IP address of an instance that should handle matching packets. type: string + nextHopVpnTunnel: + description: URL to a VpnTunnel that should handle matching packets. + type: string + nextHopVpnTunnelRef: + description: Reference to a VPNTunnel to populate nextHopVpnTunnel. + 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 + nextHopVpnTunnelSelector: + description: Selector for a VPNTunnel to populate nextHopVpnTunnel. + 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 priority: description: The priority of this route. Priority is used to break ties in cases where there is more than one matching route of diff --git a/package/crds/compute.gcp.upbound.io_serviceattachments.yaml b/package/crds/compute.gcp.upbound.io_serviceattachments.yaml index aadec460f..1d4ebb21a 100644 --- a/package/crds/compute.gcp.upbound.io_serviceattachments.yaml +++ b/package/crds/compute.gcp.upbound.io_serviceattachments.yaml @@ -344,6 +344,88 @@ spec: client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers. type: boolean + natSubnets: + description: An array of subnets that is provided for NAT in this + service attachment. + items: + type: string + type: array + natSubnetsRefs: + description: References to Subnetwork to populate natSubnets. + items: + description: A Reference to a named object. + 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 + type: array + natSubnetsSelector: + description: Selector for a list of Subnetwork to populate natSubnets. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. @@ -360,6 +442,85 @@ spec: to the reject list. For newly created service attachment, this boolean defaults to true. type: boolean + targetService: + description: The URL of a forwarding rule that represents the + service identified by this service attachment. + type: string + targetServiceRef: + description: Reference to a ForwardingRule in compute to populate + targetService. + 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 + targetServiceSelector: + description: Selector for a ForwardingRule in compute to populate + targetService. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_sharedvpchostprojects.yaml b/package/crds/compute.gcp.upbound.io_sharedvpchostprojects.yaml index 3c4e35546..8ecb21df4 100644 --- a/package/crds/compute.gcp.upbound.io_sharedvpchostprojects.yaml +++ b/package/crds/compute.gcp.upbound.io_sharedvpchostprojects.yaml @@ -159,6 +159,86 @@ spec: on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler. + properties: + project: + description: The ID of the project that will serve as a Shared + VPC host project + type: string + projectRef: + description: Reference to a Project in cloudplatform to populate + project. + 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 + projectSelector: + description: Selector for a Project in cloudplatform to populate + project. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_sharedvpcserviceprojects.yaml b/package/crds/compute.gcp.upbound.io_sharedvpcserviceprojects.yaml index 3a8166735..c070ffc14 100644 --- a/package/crds/compute.gcp.upbound.io_sharedvpcserviceprojects.yaml +++ b/package/crds/compute.gcp.upbound.io_sharedvpcserviceprojects.yaml @@ -249,6 +249,163 @@ spec: Setting ABANDON allows the resource to be abandoned rather than deleted. Possible values are: "ABANDON".' type: string + hostProject: + description: The ID of a host project to associate. + type: string + hostProjectRef: + description: Reference to a Project in cloudplatform to populate + hostProject. + 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 + hostProjectSelector: + description: Selector for a Project in cloudplatform to populate + hostProject. + 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 + serviceProject: + description: The ID of the project that will serve as a Shared + VPC service project. + type: string + serviceProjectRef: + description: Reference to a Project in cloudplatform to populate + serviceProject. + 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 + serviceProjectSelector: + description: Selector for a Project in cloudplatform to populate + serviceProject. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_snapshots.yaml b/package/crds/compute.gcp.upbound.io_snapshots.yaml index 8e18c5e19..97279205f 100644 --- a/package/crds/compute.gcp.upbound.io_snapshots.yaml +++ b/package/crds/compute.gcp.upbound.io_snapshots.yaml @@ -310,6 +310,9 @@ spec: type: string type: object type: array + sourceDisk: + description: A reference to the disk used to create this snapshot. + type: string sourceDiskEncryptionKey: description: The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a @@ -323,6 +326,79 @@ spec: type: string type: object type: array + sourceDiskRef: + description: Reference to a Disk in compute to populate sourceDisk. + 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 + sourceDiskSelector: + description: Selector for a Disk in compute to populate sourceDisk. + 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 storageLocations: description: Cloud Storage bucket storage location of the snapshot (regional or multi-regional). diff --git a/package/crds/compute.gcp.upbound.io_subnetworkiammembers.yaml b/package/crds/compute.gcp.upbound.io_subnetworkiammembers.yaml index 26b038129..039f47531 100644 --- a/package/crds/compute.gcp.upbound.io_subnetworkiammembers.yaml +++ b/package/crds/compute.gcp.upbound.io_subnetworkiammembers.yaml @@ -193,6 +193,81 @@ spec: type: string role: type: string + subnetwork: + type: string + subnetworkRef: + description: Reference to a Subnetwork to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork to populate subnetwork. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_subnetworks.yaml b/package/crds/compute.gcp.upbound.io_subnetworks.yaml index 4bfc8b2f7..3e1c91f92 100644 --- a/package/crds/compute.gcp.upbound.io_subnetworks.yaml +++ b/package/crds/compute.gcp.upbound.io_subnetworks.yaml @@ -370,6 +370,83 @@ spec: x-kubernetes-list-type: set type: object type: array + network: + description: The network this subnet belongs to. Only networks + that are in the distributed mode can have subnetworks. + type: string + networkRef: + description: Reference to a Network to populate network. + 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 + networkSelector: + description: Selector for a Network to populate network. + 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 privateIpGoogleAccess: description: When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private diff --git a/package/crds/compute.gcp.upbound.io_targetgrpcproxies.yaml b/package/crds/compute.gcp.upbound.io_targetgrpcproxies.yaml index 0296c9d2b..77ec0b697 100644 --- a/package/crds/compute.gcp.upbound.io_targetgrpcproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_targetgrpcproxies.yaml @@ -184,6 +184,84 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + urlMap: + description: URL to the UrlMap resource that defines the mapping + from URL to the BackendService. The protocol field in the BackendService + must be set to GRPC. + type: string + urlMapRef: + description: Reference to a URLMap in compute to populate urlMap. + 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 + urlMapSelector: + description: Selector for a URLMap in compute to populate urlMap. + 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 validateForProxyless: description: If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using diff --git a/package/crds/compute.gcp.upbound.io_targethttpproxies.yaml b/package/crds/compute.gcp.upbound.io_targethttpproxies.yaml index 71c317dbc..7f17077e8 100644 --- a/package/crds/compute.gcp.upbound.io_targethttpproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_targethttpproxies.yaml @@ -200,6 +200,83 @@ spec: that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. type: boolean + urlMap: + description: A reference to the UrlMap resource that defines the + mapping from URL to the BackendService. + type: string + urlMapRef: + description: Reference to a URLMap in compute to populate urlMap. + 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 + urlMapSelector: + description: Selector for a URLMap in compute to populate urlMap. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_targethttpsproxies.yaml b/package/crds/compute.gcp.upbound.io_targethttpsproxies.yaml index 756c60522..a8e49868a 100644 --- a/package/crds/compute.gcp.upbound.io_targethttpsproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_targethttpsproxies.yaml @@ -318,11 +318,173 @@ spec: used. Default value is NONE. Possible values are: NONE, ENABLE, DISABLE.' type: string + sslCertificates: + description: A list of SslCertificate resource URLs or Certificate + Manager certificate URLs that are used to authenticate connections + between users and the load balancer. At least one resource must + be specified. + items: + type: string + type: array + sslCertificatesRefs: + description: References to SSLCertificate to populate sslCertificates. + items: + description: A Reference to a named object. + 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 + type: array + sslCertificatesSelector: + description: Selector for a list of SSLCertificate to populate + sslCertificates. + 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 sslPolicy: description: A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will not have any SSL policy configured. type: string + urlMap: + description: A reference to the UrlMap resource that defines the + mapping from URL to the BackendService. + type: string + urlMapRef: + description: Reference to a URLMap in compute to populate urlMap. + 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 + urlMapSelector: + description: Selector for a URLMap in compute to populate urlMap. + 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 type: object managementPolicies: default: diff --git a/package/crds/compute.gcp.upbound.io_targetinstances.yaml b/package/crds/compute.gcp.upbound.io_targetinstances.yaml index a18ca2337..aebf53020 100644 --- a/package/crds/compute.gcp.upbound.io_targetinstances.yaml +++ b/package/crds/compute.gcp.upbound.io_targetinstances.yaml @@ -182,6 +182,87 @@ spec: description: description: An optional description of this resource. type: string + instance: + description: The Compute instance VM handling traffic for this + target instance. Accepts the instance self-link, relative path + (e.g. projects/project/zones/zone/instances/instance) or name. + If name is given, the zone will default to the given zone or + the provider-default zone and the project will default to the + provider-level project. + type: string + instanceRef: + description: Reference to a Instance in compute to populate instance. + 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 + instanceSelector: + description: Selector for a Instance in compute to populate instance. + 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 natPolicy: description: 'NAT option controlling how IPs are NAT''ed to the instance. Currently only NO_NAT (default value) is supported. diff --git a/package/crds/compute.gcp.upbound.io_targetpools.yaml b/package/crds/compute.gcp.upbound.io_targetpools.yaml index a0dcd2a3f..9daaa3b05 100644 --- a/package/crds/compute.gcp.upbound.io_targetpools.yaml +++ b/package/crds/compute.gcp.upbound.io_targetpools.yaml @@ -205,6 +205,89 @@ spec: description: Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set). type: number + healthChecks: + description: List of zero or one health check name or self_link. + Only legacy google_compute_http_health_check is supported. + items: + type: string + type: array + healthChecksRefs: + description: References to HTTPHealthCheck to populate healthChecks. + items: + description: A Reference to a named object. + 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 + type: array + healthChecksSelector: + description: Selector for a list of HTTPHealthCheck to populate + healthChecks. + 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 instances: description: List of instances in the pool. They can be given as URLs, or in the form of "zone/name". diff --git a/package/crds/compute.gcp.upbound.io_targetsslproxies.yaml b/package/crds/compute.gcp.upbound.io_targetsslproxies.yaml index 4256cb24f..4871e93bf 100644 --- a/package/crds/compute.gcp.upbound.io_targetsslproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_targetsslproxies.yaml @@ -266,6 +266,84 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + backendService: + description: A reference to the BackendService resource. + type: string + backendServiceRef: + description: Reference to a BackendService in compute to populate + backendService. + 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 + backendServiceSelector: + description: Selector for a BackendService in compute to populate + backendService. + 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 certificateMap: description: A reference to the CertificateMap resource uri that identifies a certificate map associated with the given target @@ -284,6 +362,90 @@ spec: sending data to the backend. Default value is NONE. Possible values are: NONE, PROXY_V1.' type: string + sslCertificates: + description: A list of SslCertificate resources that are used + to authenticate connections between users and the load balancer. + At least one SSL certificate must be specified. + items: + type: string + type: array + sslCertificatesRefs: + description: References to SSLCertificate to populate sslCertificates. + items: + description: A Reference to a named object. + 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 + type: array + sslCertificatesSelector: + description: Selector for a list of SSLCertificate to populate + sslCertificates. + 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 sslPolicy: description: A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the diff --git a/package/crds/compute.gcp.upbound.io_targettcpproxies.yaml b/package/crds/compute.gcp.upbound.io_targettcpproxies.yaml index a0ee38ccc..65c62d1c3 100644 --- a/package/crds/compute.gcp.upbound.io_targettcpproxies.yaml +++ b/package/crds/compute.gcp.upbound.io_targettcpproxies.yaml @@ -176,6 +176,84 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + backendService: + description: A reference to the BackendService resource. + type: string + backendServiceRef: + description: Reference to a BackendService in compute to populate + backendService. + 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 + backendServiceSelector: + description: Selector for a BackendService in compute to populate + backendService. + 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 description: description: An optional description of this resource. type: string diff --git a/package/crds/compute.gcp.upbound.io_urlmaps.yaml b/package/crds/compute.gcp.upbound.io_urlmaps.yaml index e6af303b5..f207b4896 100644 --- a/package/crds/compute.gcp.upbound.io_urlmaps.yaml +++ b/package/crds/compute.gcp.upbound.io_urlmaps.yaml @@ -3277,6 +3277,85 @@ spec: type: array type: object type: array + defaultService: + description: The backend service or backend bucket to use when + none of the given rules match. + type: string + defaultServiceRef: + description: Reference to a BackendBucket in compute to populate + defaultService. + 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 + defaultServiceSelector: + description: Selector for a BackendBucket in compute to populate + defaultService. + 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 defaultUrlRedirect: description: When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect @@ -3785,6 +3864,88 @@ spec: type: array type: object type: array + defaultService: + description: The backend service or backend bucket to use + when none of the given paths match. + type: string + defaultServiceRef: + description: Reference to a BackendBucket in compute to + populate defaultService. + 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 + defaultServiceSelector: + description: Selector for a BackendBucket in compute to + populate defaultService. + 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 defaultUrlRedirect: description: When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. @@ -4106,6 +4267,104 @@ spec: service, the host / authority header is suffixed with -shadow. Structure is documented below. items: + properties: + backendService: + description: The default BackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a BackendService + in compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a BackendService + in compute to populate backendService. + 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 type: object type: array retryPolicy: @@ -4212,6 +4471,103 @@ spec: Structure is documented below. items: properties: + backendService: + description: The default BackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + backendServiceRef: + description: Reference to a BackendService + in compute to populate backendService. + 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 + backendServiceSelector: + description: Selector for a BackendService + in compute to populate backendService. + 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 headerAction: description: Specifies changes to request and response headers that need to take @@ -4310,6 +4666,90 @@ spec: type: array type: object type: array + service: + description: The backend service or backend bucket + link that should be matched by this test. + type: string + serviceRef: + description: Reference to a BackendBucket in compute + to populate service. + 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 + serviceSelector: + description: Selector for a BackendBucket in compute + to populate service. + 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 urlRedirect: description: When this rule is matched, the request is redirected to a URL specified by urlRedirect. @@ -5102,6 +5542,90 @@ spec: type: array type: object type: array + service: + description: The backend service or backend bucket + link that should be matched by this test. + type: string + serviceRef: + description: Reference to a BackendService in compute + to populate service. + 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 + serviceSelector: + description: Selector for a BackendService in compute + to populate service. + 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 urlRedirect: description: When this rule is matched, the request is redirected to a URL specified by urlRedirect. @@ -5185,6 +5709,88 @@ spec: path: description: Path portion of the URL. type: string + service: + description: The backend service or backend bucket link + that should be matched by this test. + type: string + serviceRef: + description: Reference to a BackendBucket in compute to + populate service. + 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 + serviceSelector: + description: Selector for a BackendBucket in compute to + populate service. + 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 type: object type: array type: object diff --git a/package/crds/compute.gcp.upbound.io_vpngateways.yaml b/package/crds/compute.gcp.upbound.io_vpngateways.yaml index 1003d484c..bf1eefffc 100644 --- a/package/crds/compute.gcp.upbound.io_vpngateways.yaml +++ b/package/crds/compute.gcp.upbound.io_vpngateways.yaml @@ -172,6 +172,83 @@ spec: description: description: An optional description of this resource. type: string + network: + description: The network this VPN gateway is accepting traffic + for. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/compute.gcp.upbound.io_vpntunnels.yaml b/package/crds/compute.gcp.upbound.io_vpntunnels.yaml index 5475b662e..30b79e92f 100644 --- a/package/crds/compute.gcp.upbound.io_vpntunnels.yaml +++ b/package/crds/compute.gcp.upbound.io_vpntunnels.yaml @@ -481,10 +481,87 @@ spec: type: string type: array x-kubernetes-list-type: set + peerExternalGateway: + description: URL of the peer side external VPN gateway to which + this VPN tunnel is connected. + type: string peerExternalGatewayInterface: description: The interface ID of the external VPN gateway to which this VPN tunnel is connected. type: number + peerExternalGatewayRef: + description: Reference to a ExternalVPNGateway to populate peerExternalGateway. + 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 + peerExternalGatewaySelector: + description: Selector for a ExternalVPNGateway to populate peerExternalGateway. + 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 peerGcpGateway: description: URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. If provided, the VPN tunnel will @@ -509,10 +586,244 @@ spec: type: string type: array x-kubernetes-list-type: set + router: + description: URL of router resource to be used for dynamic routing. + type: string + routerRef: + description: Reference to a Router to populate router. + 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 + routerSelector: + description: Selector for a Router to populate router. + 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 + targetVpnGateway: + description: URL of the Target VPN gateway with which this VPN + tunnel is associated. + type: string + targetVpnGatewayRef: + description: Reference to a VPNGateway in compute to populate + targetVpnGateway. + 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 + targetVpnGatewaySelector: + description: Selector for a VPNGateway in compute to populate + targetVpnGateway. + 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 + vpnGateway: + description: URL of the VPN gateway with which this VPN tunnel + is associated. This must be used if a High Availability VPN + gateway resource is created. This field must reference a google_compute_ha_vpn_gateway + resource. + type: string vpnGatewayInterface: description: The interface ID of the VPN gateway with which this VPN tunnel is associated. type: number + vpnGatewayRef: + description: Reference to a HaVPNGateway to populate vpnGateway. + 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 + vpnGatewaySelector: + description: Selector for a HaVPNGateway to populate vpnGateway. + 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 type: object managementPolicies: default: diff --git a/package/crds/container.gcp.upbound.io_clusters.yaml b/package/crds/container.gcp.upbound.io_clusters.yaml index fc08c2e7f..0d579ad49 100644 --- a/package/crds/container.gcp.upbound.io_clusters.yaml +++ b/package/crds/container.gcp.upbound.io_clusters.yaml @@ -2515,6 +2515,11 @@ spec: monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes type: string + network: + description: The name or self_link of the Google Compute Engine + network to which the cluster is connected. For Shared VPC, set + this to the self link of the shared network. + type: string networkPolicy: description: Configuration options for the NetworkPolicy feature. Structure is documented below. @@ -2529,6 +2534,79 @@ spec: type: string type: object type: array + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 networkingMode: description: Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are VPC_NATIVE or ROUTES. @@ -2829,6 +2907,89 @@ spec: to clusters, node pools and nodes. type: object x-kubernetes-map-type: granular + serviceAccount: + description: The service account to be used by the Node + VMs. If not specified, the "default" service account is + used. + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 shieldedInstanceConfig: description: Shielded Instance options. Structure is documented below. @@ -3136,6 +3297,85 @@ spec: type: boolean type: object type: array + subnetwork: + description: The name or self_link of the Google Compute Engine + subnetwork in which the cluster's instances are launched. + type: string + subnetworkRef: + description: Reference to a Subnetwork in compute to populate + subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork in compute to populate + subnetwork. + 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 verticalPodAutoscaling: description: Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented diff --git a/package/crds/container.gcp.upbound.io_nodepools.yaml b/package/crds/container.gcp.upbound.io_nodepools.yaml index 46e166796..2c8e8d81e 100644 --- a/package/crds/container.gcp.upbound.io_nodepools.yaml +++ b/package/crds/container.gcp.upbound.io_nodepools.yaml @@ -917,6 +917,86 @@ spec: type: string type: object x-kubernetes-map-type: granular + serviceAccount: + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 shieldedInstanceConfig: items: properties: diff --git a/package/crds/datacatalog.gcp.upbound.io_entries.yaml b/package/crds/datacatalog.gcp.upbound.io_entries.yaml index ad7e10cee..14ccd57c6 100644 --- a/package/crds/datacatalog.gcp.upbound.io_entries.yaml +++ b/package/crds/datacatalog.gcp.upbound.io_entries.yaml @@ -232,6 +232,84 @@ spec: A short name to identify the entry, for example, "Analytics Data - Jan 2011". type: string + entryGroup: + description: The name of the entry group this entry is in. + 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 entryId: description: The id of the entry to create. type: string diff --git a/package/crds/datacatalog.gcp.upbound.io_tags.yaml b/package/crds/datacatalog.gcp.upbound.io_tags.yaml index dd5ff92bc..8362e37c6 100644 --- a/package/crds/datacatalog.gcp.upbound.io_tags.yaml +++ b/package/crds/datacatalog.gcp.upbound.io_tags.yaml @@ -318,6 +318,164 @@ spec: type: string 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 type: object managementPolicies: default: diff --git a/package/crds/datafusion.gcp.upbound.io_instances.yaml b/package/crds/datafusion.gcp.upbound.io_instances.yaml index 1a812c5cb..2a477914f 100644 --- a/package/crds/datafusion.gcp.upbound.io_instances.yaml +++ b/package/crds/datafusion.gcp.upbound.io_instances.yaml @@ -385,6 +385,90 @@ spec: by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below. items: + properties: + keyReference: + description: The name of the key which is used to encrypt/decrypt + customer data. For key in Cloud KMS, the key should be + in the format of projects//locations//keyRings//cryptoKeys/. + type: string + keyReferenceRef: + description: Reference to a CryptoKey in kms to populate + keyReference. + 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 + keyReferenceSelector: + description: Selector for a CryptoKey in kms to populate + keyReference. + 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 type: object type: array dataprocServiceAccount: @@ -414,6 +498,88 @@ spec: enabled: description: Option to enable Event Publishing. type: boolean + topic: + description: 'The resource name of the Pub/Sub topic. Format: + projects/{projectId}/topics/{topic_id}' + type: string + topicRef: + description: Reference to a Topic in pubsub to populate + topic. + 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 + topicSelector: + description: Selector for a Topic in pubsub to populate + topic. + 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 type: object type: array labels: diff --git a/package/crds/datalossprevention.gcp.upbound.io_jobtriggers.yaml b/package/crds/datalossprevention.gcp.upbound.io_jobtriggers.yaml index b9df3b132..cd33ece67 100644 --- a/package/crds/datalossprevention.gcp.upbound.io_jobtriggers.yaml +++ b/package/crds/datalossprevention.gcp.upbound.io_jobtriggers.yaml @@ -1767,10 +1767,221 @@ spec: below. items: properties: + datasetId: + description: The ID of the dataset + containing this table. + type: string + datasetIdRef: + description: Reference to a Dataset + in bigquery to populate datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset + in bigquery to populate datasetId. + 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 projectId: description: The ID of the project containing this table. type: string + tableId: + description: The ID of the table. + The ID must contain only letters + (a-z, A-Z), numbers (0-9), or + underscores (_). The maximum length + is 1,024 characters. + type: string + tableIdRef: + description: Reference to a Table + in bigquery to populate tableId. + 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 + tableIdSelector: + description: Selector for a Table + in bigquery to populate tableId. + 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 type: object type: array type: object diff --git a/package/crds/dataproc.gcp.upbound.io_clusters.yaml b/package/crds/dataproc.gcp.upbound.io_clusters.yaml index 03b8b029e..57b62ad84 100644 --- a/package/crds/dataproc.gcp.upbound.io_clusters.yaml +++ b/package/crds/dataproc.gcp.upbound.io_clusters.yaml @@ -1109,6 +1109,48 @@ spec: x-kubernetes-list-type: set type: object type: array + serviceAccount: + description: The service account to be used by the + Node VMs. If not specified, the "default" service + account is used. + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 serviceAccountScopes: description: The set of Google API scopes to be made available on all of the node VMs under the service_account @@ -1120,6 +1162,49 @@ spec: type: string type: array x-kubernetes-list-type: set + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccount. + 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 shieldedInstanceConfig: description: Shielded Instance Config for clusters using Compute Engine Shielded VMs. diff --git a/package/crds/dataproc.gcp.upbound.io_jobs.yaml b/package/crds/dataproc.gcp.upbound.io_jobs.yaml index 5507a1465..34307b3b0 100644 --- a/package/crds/dataproc.gcp.upbound.io_jobs.yaml +++ b/package/crds/dataproc.gcp.upbound.io_jobs.yaml @@ -867,6 +867,89 @@ spec: type: array placement: items: + properties: + clusterName: + description: The name of the cluster where the job will + be submitted. + type: string + clusterNameRef: + description: Reference to a Cluster in dataproc to populate + clusterName. + 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 + clusterNameSelector: + description: Selector for a Cluster in dataproc to populate + clusterName. + 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 type: object type: array prestoConfig: @@ -996,6 +1079,84 @@ spec: type: string type: object type: array + region: + description: The Cloud Dataproc region. This essentially determines + which clusters are available for this job to be submitted to. + If not specified, defaults to global. + type: string + regionRef: + description: Reference to a Cluster in dataproc to populate region. + 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 + regionSelector: + description: Selector for a Cluster in dataproc to populate region. + 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 scheduling: items: properties: diff --git a/package/crds/dataproc.gcp.upbound.io_metastoreservices.yaml b/package/crds/dataproc.gcp.upbound.io_metastoreservices.yaml index 897243b8d..aced36499 100644 --- a/package/crds/dataproc.gcp.upbound.io_metastoreservices.yaml +++ b/package/crds/dataproc.gcp.upbound.io_metastoreservices.yaml @@ -409,6 +409,90 @@ spec: service to encrypt customer data at rest. Structure is documented below. items: + properties: + kmsKey: + description: 'The fully qualified customer provided Cloud + KMS key name to use for customer data encryption. Use + the following format: projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)' + type: string + kmsKeyRef: + description: Reference to a CryptoKey in kms to populate + kmsKey. + 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 + kmsKeySelector: + description: Selector for a CryptoKey in kms to populate + kmsKey. + 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 type: object type: array hiveMetastoreConfig: @@ -505,6 +589,97 @@ spec: the Dataproc Metastore instance. Structure is documented below. items: + properties: + subnetwork: + description: 'The subnetwork of the customer project + from which an IP address is reserved and used as + the Dataproc Metastore service''s endpoint. It is + accessible to hosts in the subnet and to all hosts + in a subnet in the same region and same network. + There must be at least one IP address available + in the subnet''s primary range. The subnet is specified + in the following form: `projects/{projectNumber}/regions/{region_id}/subnetworks/{subnetwork_id}' + type: string + subnetworkRef: + description: Reference to a Subnetwork in compute + to populate subnetwork. + 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 + subnetworkSelector: + description: Selector for a Subnetwork in compute + to populate subnetwork. + 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 type: object type: array type: object diff --git a/package/crds/datastream.gcp.upbound.io_connectionprofiles.yaml b/package/crds/datastream.gcp.upbound.io_connectionprofiles.yaml index 155365326..91847d9ca 100644 --- a/package/crds/datastream.gcp.upbound.io_connectionprofiles.yaml +++ b/package/crds/datastream.gcp.upbound.io_connectionprofiles.yaml @@ -776,14 +776,338 @@ spec: below. items: properties: + database: + description: Database for the PostgreSQL connection. + type: string + databaseRef: + description: Reference to a Database in sql to populate + database. + 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 + databaseSelector: + description: Selector for a Database in sql to populate + database. + 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 + hostname: + description: Hostname for the PostgreSQL connection. + type: string + hostnameRef: + description: Reference to a DatabaseInstance in sql to populate + hostname. + 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 + hostnameSelector: + description: Selector for a DatabaseInstance in sql to populate + hostname. + 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 port: description: Port for the PostgreSQL connection. type: number + username: + description: Username for the PostgreSQL connection. + type: string + usernameRef: + description: Reference to a User in sql to populate username. + 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 + usernameSelector: + description: Selector for a User in sql to populate username. + 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 type: object type: array privateConnectivity: description: Private connectivity. Structure is documented below. items: + properties: + privateConnection: + description: 'A reference to a private connection resource. + Format: projects/{project}/locations/{location}/privateConnections/{name}' + type: string + privateConnectionRef: + description: Reference to a PrivateConnection in datastream + to populate privateConnection. + 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 + privateConnectionSelector: + description: Selector for a PrivateConnection in datastream + to populate privateConnection. + 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 type: object type: array project: diff --git a/package/crds/datastream.gcp.upbound.io_privateconnections.yaml b/package/crds/datastream.gcp.upbound.io_privateconnections.yaml index b334eae3a..fbd985776 100644 --- a/package/crds/datastream.gcp.upbound.io_privateconnections.yaml +++ b/package/crds/datastream.gcp.upbound.io_privateconnections.yaml @@ -215,6 +215,88 @@ spec: subnet: description: A free subnet for peering. (CIDR of /29) type: string + vpc: + description: 'Fully qualified name of the VPC that Datastream + will peer to. Format: projects/{project}/global/{networks}/{name}' + type: string + vpcRef: + description: Reference to a Network in compute to populate + vpc. + 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 + vpcSelector: + description: Selector for a Network in compute to populate + vpc. + 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 type: object type: array type: object diff --git a/package/crds/dialogflowcx.gcp.upbound.io_entitytypes.yaml b/package/crds/dialogflowcx.gcp.upbound.io_entitytypes.yaml index d2b7c9a60..b0a79ec98 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_entitytypes.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_entitytypes.yaml @@ -285,6 +285,84 @@ spec: languages are supported. Note: languages must be enabled in the agent before they can be used.' type: string + parent: + description: 'The agent to create a entity type for. Format: projects//locations//agents/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 redact: description: Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters diff --git a/package/crds/dialogflowcx.gcp.upbound.io_environments.yaml b/package/crds/dialogflowcx.gcp.upbound.io_environments.yaml index b5d23dd9f..8b6c16da6 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_environments.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_environments.yaml @@ -267,12 +267,173 @@ spec: description: The human-readable name of the environment (unique in an agent). Limit of 64 characters. type: string + parent: + description: 'The Agent to create an Environment for. Format: + projects//locations//agents/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 versionConfigs: description: A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below. items: + properties: + version: + description: 'Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.' + type: string + versionRef: + description: Reference to a Version in dialogflowcx to populate + version. + 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 + versionSelector: + description: Selector for a Version in dialogflowcx to populate + version. + 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 type: object type: array type: object diff --git a/package/crds/dialogflowcx.gcp.upbound.io_flows.yaml b/package/crds/dialogflowcx.gcp.upbound.io_flows.yaml index 5c1360637..2b1b67723 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_flows.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_flows.yaml @@ -479,6 +479,84 @@ spec: type: string type: object type: array + parent: + description: 'The agent to create a flow for. Format: projects//locations//agents/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 transitionRouteGroups: description: 'A flow''s transition route group serve two purposes: They are responsible for matching the user''s first utterances diff --git a/package/crds/dialogflowcx.gcp.upbound.io_intents.yaml b/package/crds/dialogflowcx.gcp.upbound.io_intents.yaml index c040ef684..58a7cbb46 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_intents.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_intents.yaml @@ -345,6 +345,84 @@ spec: type: boolean type: object type: array + parent: + description: 'The agent to create an intent for. Format: projects//locations//agents/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 priority: description: The priority of this intent. Higher numbers represent higher priorities. If the supplied value is unspecified or 0, diff --git a/package/crds/dialogflowcx.gcp.upbound.io_pages.yaml b/package/crds/dialogflowcx.gcp.upbound.io_pages.yaml index c76dca412..f1e3b9609 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_pages.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_pages.yaml @@ -799,6 +799,84 @@ spec: languages are supported. Note: languages must be enabled in the agent before they can be used.' type: string + parent: + description: 'The flow to create a page for. Format: projects//locations//agents//flows/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 transitionRouteGroups: description: 'Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within @@ -844,6 +922,88 @@ spec: description: 'The target flow to transition to. Format: projects//locations//agents//flows/.' type: string + targetPage: + description: 'The target page to transition to. Format: + projects//locations//agents//flows//pages/.' + type: string + targetPageRef: + description: Reference to a Page in dialogflowcx to populate + targetPage. + 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 + targetPageSelector: + description: Selector for a Page in dialogflowcx to populate + targetPage. + 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 triggerFulfillment: description: The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with diff --git a/package/crds/dialogflowcx.gcp.upbound.io_versions.yaml b/package/crds/dialogflowcx.gcp.upbound.io_versions.yaml index 2d3c63dc2..89dde2daa 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_versions.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_versions.yaml @@ -174,6 +174,84 @@ spec: description: The human-readable name of the version. Limit of 64 characters. type: string + parent: + description: 'The Flow to create an Version for. Format: projects//locations//agents//flows/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 type: object managementPolicies: default: diff --git a/package/crds/dialogflowcx.gcp.upbound.io_webhooks.yaml b/package/crds/dialogflowcx.gcp.upbound.io_webhooks.yaml index 53a6d5626..0ac957af2 100644 --- a/package/crds/dialogflowcx.gcp.upbound.io_webhooks.yaml +++ b/package/crds/dialogflowcx.gcp.upbound.io_webhooks.yaml @@ -277,6 +277,84 @@ spec: type: string type: object type: array + parent: + description: 'The agent to create a webhook for. Format: projects//locations//agents/.' + type: string + parentRef: + description: Reference to a Agent in dialogflowcx 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 Agent in dialogflowcx 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 securitySettings: description: 'Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.' diff --git a/package/crds/dns.gcp.upbound.io_managedzones.yaml b/package/crds/dns.gcp.upbound.io_managedzones.yaml index caac6fc38..d4a48b212 100644 --- a/package/crds/dns.gcp.upbound.io_managedzones.yaml +++ b/package/crds/dns.gcp.upbound.io_managedzones.yaml @@ -616,6 +616,93 @@ spec: description: The network with which to peer. Structure is documented below. items: + properties: + networkUrl: + description: The id or fully qualified URL of the + VPC network to forward queries to. This should be + formatted like projects/{project}/global/networks/{network} + or https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + type: string + networkUrlRef: + description: Reference to a Network in compute to + populate networkUrl. + 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 + networkUrlSelector: + description: Selector for a Network in compute to + populate networkUrl. + 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 type: object type: array type: object @@ -630,6 +717,92 @@ spec: description: The list of Google Kubernetes Engine clusters that can see this zone. Structure is documented below. items: + properties: + gkeClusterName: + description: The resource name of the cluster to bind + this ManagedZone to. This should be specified in + the format like projects/*/locations/*/clusters/* + type: string + gkeClusterNameRef: + description: Reference to a Cluster in container to + populate gkeClusterName. + 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 + gkeClusterNameSelector: + description: Selector for a Cluster in container to + populate gkeClusterName. + 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 type: object type: array networks: @@ -640,6 +813,93 @@ spec: apply another update adding all of them back simultaneously. Structure is documented below. items: + properties: + networkUrl: + description: The id or fully qualified URL of the + VPC network to forward queries to. This should be + formatted like projects/{project}/global/networks/{network} + or https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + type: string + networkUrlRef: + description: Reference to a Network in compute to + populate networkUrl. + 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 + networkUrlSelector: + description: Selector for a Network in compute to + populate networkUrl. + 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 type: object type: array type: object diff --git a/package/crds/dns.gcp.upbound.io_policies.yaml b/package/crds/dns.gcp.upbound.io_policies.yaml index 0bbb33167..92ec7100e 100644 --- a/package/crds/dns.gcp.upbound.io_policies.yaml +++ b/package/crds/dns.gcp.upbound.io_policies.yaml @@ -268,6 +268,90 @@ spec: description: List of network names specifying networks to which this policy is applied. Structure is documented below. items: + properties: + networkRef: + description: Reference to a Network in compute to populate + networkUrl. + 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 + networkSelector: + description: Selector for a Network in compute to populate + networkUrl. + 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 + networkUrl: + description: The id or fully qualified URL of the VPC network + to forward queries to. This should be formatted like projects/{project}/global/networks/{network} + or https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} + type: string type: object type: array project: diff --git a/package/crds/dns.gcp.upbound.io_recordsets.yaml b/package/crds/dns.gcp.upbound.io_recordsets.yaml index 20b0d226f..237adf461 100644 --- a/package/crds/dns.gcp.upbound.io_recordsets.yaml +++ b/package/crds/dns.gcp.upbound.io_recordsets.yaml @@ -826,6 +826,83 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + managedZone: + description: The name of the zone in which this record set will + reside. + type: string + managedZoneRef: + description: Reference to a ManagedZone in dns to populate managedZone. + 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 + managedZoneSelector: + description: Selector for a ManagedZone in dns to populate managedZone. + 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 name: description: The DNS name this record set will apply to. type: string @@ -1004,6 +1081,100 @@ spec: to health check. Structure is document below. items: properties: + ipAddress: + description: The frontend IP address of + the load balancer. + type: string + ipAddressRef: + description: Reference to a ForwardingRule + in compute to populate ipAddress. + 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 + ipAddressSelector: + description: Selector for a ForwardingRule + in compute to populate ipAddress. + 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 ipProtocol: description: 'The configured IP protocol of the load balancer. This value is @@ -1015,10 +1186,297 @@ spec: This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb"]' type: string + networkUrl: + description: The fully qualified url of + the network in which the load balancer + belongs. This should be formatted like + projects/{project}/global/networks/{network} + or https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}. + type: string + networkUrlRef: + description: Reference to a Network in + compute to populate networkUrl. + 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 + networkUrlSelector: + description: Selector for a Network in + compute to populate networkUrl. + 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 port: description: The configured port of the load balancer. type: string + project: + description: The ID of the project in + which the resource belongs. If it is + not provided, the provider project is + used. + type: string + projectRef: + description: Reference to a ForwardingRule + in compute to populate project. + 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 + projectSelector: + description: Selector for a ForwardingRule + in compute to populate project. + 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 + region: + description: The region of the load balancer. + Only needed for regional load balancers. + type: string + regionRef: + description: Reference to a ForwardingRule + in compute to populate region. + 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 + regionSelector: + description: Selector for a ForwardingRule + in compute to populate region. + 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 type: object type: array type: object diff --git a/package/crds/eventarc.gcp.upbound.io_triggers.yaml b/package/crds/eventarc.gcp.upbound.io_triggers.yaml index 65ea6d7d4..7c61491fc 100644 --- a/package/crds/eventarc.gcp.upbound.io_triggers.yaml +++ b/package/crds/eventarc.gcp.upbound.io_triggers.yaml @@ -350,6 +350,89 @@ spec: description: Required. The region the Cloud Run service is deployed in. type: string + service: + description: Required. Name of the GKE service. + type: string + serviceRef: + description: Reference to a Service in cloudrun to + populate service. + 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 + serviceSelector: + description: Selector for a Service in cloudrun to + populate service. + 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 type: object type: array gke: diff --git a/package/crds/filestore.gcp.upbound.io_backups.yaml b/package/crds/filestore.gcp.upbound.io_backups.yaml index 06a53d887..5776081c5 100644 --- a/package/crds/filestore.gcp.upbound.io_backups.yaml +++ b/package/crds/filestore.gcp.upbound.io_backups.yaml @@ -202,6 +202,86 @@ spec: description: Name of the file share in the source Cloud Filestore instance that the backup is created from. type: string + sourceInstance: + description: The resource name of the source Cloud Filestore instance, + in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, + used to create this backup. + type: string + sourceInstanceRef: + description: Reference to a Instance in filestore to populate + sourceInstance. + 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 + sourceInstanceSelector: + description: Selector for a Instance in filestore to populate + sourceInstance. + 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 type: object managementPolicies: default: diff --git a/package/crds/filestore.gcp.upbound.io_instances.yaml b/package/crds/filestore.gcp.upbound.io_instances.yaml index 29ed80f2c..0304a4697 100644 --- a/package/crds/filestore.gcp.upbound.io_instances.yaml +++ b/package/crds/filestore.gcp.upbound.io_instances.yaml @@ -339,6 +339,82 @@ spec: type: array type: object type: array + kmsKeyName: + description: KMS key name used for data encryption. + type: string + kmsKeyNameRef: + description: Reference to a CryptoKey in kms to populate kmsKeyName. + 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 + kmsKeyNameSelector: + description: Selector for a CryptoKey in kms to populate kmsKeyName. + 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 labels: additionalProperties: type: string diff --git a/package/crds/firebaserules.gcp.upbound.io_releases.yaml b/package/crds/firebaserules.gcp.upbound.io_releases.yaml index 9c7a48711..d4d4ba916 100644 --- a/package/crds/firebaserules.gcp.upbound.io_releases.yaml +++ b/package/crds/firebaserules.gcp.upbound.io_releases.yaml @@ -162,6 +162,83 @@ spec: project: description: The project for the resource type: string + rulesetName: + description: Name of the Ruleset referred to by this Release. + The Ruleset must exist for the Release to be created. + type: string + rulesetNameRef: + description: Reference to a Ruleset to populate rulesetName. + 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 + rulesetNameSelector: + description: Selector for a Ruleset to populate rulesetName. + 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 type: object managementPolicies: default: diff --git a/package/crds/gke.gcp.upbound.io_backupbackupplans.yaml b/package/crds/gke.gcp.upbound.io_backupbackupplans.yaml index 6c94d44f0..97717aa42 100644 --- a/package/crds/gke.gcp.upbound.io_backupbackupplans.yaml +++ b/package/crds/gke.gcp.upbound.io_backupbackupplans.yaml @@ -395,6 +395,91 @@ spec: (the Kubernetes resources) of Backups created via this plan. Structure is documented below. items: + properties: + gcpKmsEncryptionKey: + description: 'Google Cloud KMS encryption key. Format: + projects//locations//keyRings//cryptoKeys/' + type: string + gcpKmsEncryptionKeyRef: + description: Reference to a CryptoKey in kms to populate + gcpKmsEncryptionKey. + 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 + gcpKmsEncryptionKeySelector: + description: Selector for a CryptoKey in kms to populate + gcpKmsEncryptionKey. + 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 type: object type: array includeSecrets: @@ -457,6 +542,83 @@ spec: type: boolean type: object type: array + cluster: + description: The source cluster from which Backups will be created + via this BackupPlan. + type: string + clusterRef: + description: Reference to a Cluster in container to populate cluster. + 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 + clusterSelector: + description: Selector for a Cluster in container to populate cluster. + 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 deactivated: description: This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan diff --git a/package/crds/gkehub.gcp.upbound.io_membershipiammembers.yaml b/package/crds/gkehub.gcp.upbound.io_membershipiammembers.yaml index 97c84649f..0a602589a 100644 --- a/package/crds/gkehub.gcp.upbound.io_membershipiammembers.yaml +++ b/package/crds/gkehub.gcp.upbound.io_membershipiammembers.yaml @@ -185,6 +185,81 @@ spec: type: array member: type: string + membershipId: + type: string + membershipIdRef: + description: Reference to a Membership in gkehub to populate membershipId. + 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 + membershipIdSelector: + description: Selector for a Membership in gkehub to populate membershipId. + 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 project: type: string role: diff --git a/package/crds/gkehub.gcp.upbound.io_memberships.yaml b/package/crds/gkehub.gcp.upbound.io_memberships.yaml index 358ec7923..a21543381 100644 --- a/package/crds/gkehub.gcp.upbound.io_memberships.yaml +++ b/package/crds/gkehub.gcp.upbound.io_memberships.yaml @@ -233,6 +233,93 @@ spec: hosted on GKE, this is a self link to its GCP resource. Structure is documented below. items: + properties: + resourceLink: + description: 'Self-link of the GCP resource for the + GKE cluster. For example: //container.googleapis.com/projects/my-project/zones/us-west1-a/clusters/my-cluster. + It can be at the most 1000 characters in length.googleapis.com/${google_container_cluster.my-cluster.id}" + or google_container_cluster.my-cluster.id.' + type: string + resourceLinkRef: + description: Reference to a Cluster in container to + populate resourceLink. + 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 + resourceLinkSelector: + description: Selector for a Cluster in container to + populate resourceLink. + 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 type: object type: array type: object diff --git a/package/crds/healthcare.gcp.upbound.io_consentstores.yaml b/package/crds/healthcare.gcp.upbound.io_consentstores.yaml index ada4bed1d..320325207 100644 --- a/package/crds/healthcare.gcp.upbound.io_consentstores.yaml +++ b/package/crds/healthcare.gcp.upbound.io_consentstores.yaml @@ -189,6 +189,85 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + dataset: + description: Identifies the dataset addressed by this request. + Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' + type: string + datasetRef: + description: Reference to a Dataset in healthcare to populate + dataset. + 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 + datasetSelector: + description: Selector for a Dataset in healthcare to populate + dataset. + 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 defaultConsentTtl: description: 'Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect diff --git a/package/crds/healthcare.gcp.upbound.io_datasetiammembers.yaml b/package/crds/healthcare.gcp.upbound.io_datasetiammembers.yaml index 958004c58..adca31a1d 100644 --- a/package/crds/healthcare.gcp.upbound.io_datasetiammembers.yaml +++ b/package/crds/healthcare.gcp.upbound.io_datasetiammembers.yaml @@ -183,6 +183,83 @@ spec: type: string type: object type: array + datasetId: + type: string + datasetIdRef: + description: Reference to a Dataset in healthcare to populate + datasetId. + 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 + datasetIdSelector: + description: Selector for a Dataset in healthcare to populate + datasetId. + 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 member: type: string role: diff --git a/package/crds/iap.gcp.upbound.io_webbackendserviceiammembers.yaml b/package/crds/iap.gcp.upbound.io_webbackendserviceiammembers.yaml index ba3edec83..5de6dd5bf 100644 --- a/package/crds/iap.gcp.upbound.io_webbackendserviceiammembers.yaml +++ b/package/crds/iap.gcp.upbound.io_webbackendserviceiammembers.yaml @@ -192,6 +192,83 @@ spec: type: string role: type: string + webBackendService: + type: string + webBackendServiceRef: + description: Reference to a BackendService in compute to populate + webBackendService. + 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 + webBackendServiceSelector: + description: Selector for a BackendService in compute to populate + webBackendService. + 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 type: object managementPolicies: default: diff --git a/package/crds/iap.gcp.upbound.io_webtypeappengineiammembers.yaml b/package/crds/iap.gcp.upbound.io_webtypeappengineiammembers.yaml index ae92c1e27..bcadddb5c 100644 --- a/package/crds/iap.gcp.upbound.io_webtypeappengineiammembers.yaml +++ b/package/crds/iap.gcp.upbound.io_webtypeappengineiammembers.yaml @@ -175,6 +175,83 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + appId: + type: string + appIdRef: + description: Reference to a Application in appengine to populate + appId. + 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 + appIdSelector: + description: Selector for a Application in appengine to populate + appId. + 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 condition: items: properties: diff --git a/package/crds/identityplatform.gcp.upbound.io_tenantdefaultsupportedidpconfigs.yaml b/package/crds/identityplatform.gcp.upbound.io_tenantdefaultsupportedidpconfigs.yaml index 85cb53494..0539b6b51 100644 --- a/package/crds/identityplatform.gcp.upbound.io_tenantdefaultsupportedidpconfigs.yaml +++ b/package/crds/identityplatform.gcp.upbound.io_tenantdefaultsupportedidpconfigs.yaml @@ -215,6 +215,85 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + tenant: + description: The name of the tenant where this DefaultSupportedIdpConfig + resource exists + type: string + tenantRef: + description: Reference to a Tenant in identityplatform to populate + tenant. + 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 + tenantSelector: + description: Selector for a Tenant in identityplatform to populate + tenant. + 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 type: object managementPolicies: default: diff --git a/package/crds/identityplatform.gcp.upbound.io_tenantinboundsamlconfigs.yaml b/package/crds/identityplatform.gcp.upbound.io_tenantinboundsamlconfigs.yaml index ea6234913..492f08031 100644 --- a/package/crds/identityplatform.gcp.upbound.io_tenantinboundsamlconfigs.yaml +++ b/package/crds/identityplatform.gcp.upbound.io_tenantinboundsamlconfigs.yaml @@ -292,6 +292,85 @@ spec: type: string type: object type: array + tenant: + description: The name of the tenant where this inbound SAML config + resource exists + type: string + tenantRef: + description: Reference to a Tenant in identityplatform to populate + tenant. + 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 + tenantSelector: + description: Selector for a Tenant in identityplatform to populate + tenant. + 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 type: object managementPolicies: default: diff --git a/package/crds/identityplatform.gcp.upbound.io_tenantoauthidpconfigs.yaml b/package/crds/identityplatform.gcp.upbound.io_tenantoauthidpconfigs.yaml index b5bcf6820..ba2b9abc3 100644 --- a/package/crds/identityplatform.gcp.upbound.io_tenantoauthidpconfigs.yaml +++ b/package/crds/identityplatform.gcp.upbound.io_tenantoauthidpconfigs.yaml @@ -226,6 +226,85 @@ spec: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. type: string + tenant: + description: The name of the tenant where this OIDC IDP configuration + resource exists + type: string + tenantRef: + description: Reference to a Tenant in identityplatform to populate + tenant. + 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 + tenantSelector: + description: Selector for a Tenant in identityplatform to populate + tenant. + 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 type: object managementPolicies: default: diff --git a/package/crds/kms.gcp.upbound.io_cryptokeyiammembers.yaml b/package/crds/kms.gcp.upbound.io_cryptokeyiammembers.yaml index 6ea6caef1..c9576211c 100644 --- a/package/crds/kms.gcp.upbound.io_cryptokeyiammembers.yaml +++ b/package/crds/kms.gcp.upbound.io_cryptokeyiammembers.yaml @@ -181,6 +181,81 @@ spec: type: string type: object type: array + cryptoKeyId: + type: string + cryptoKeyIdRef: + description: Reference to a CryptoKey to populate cryptoKeyId. + 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 + cryptoKeyIdSelector: + description: Selector for a CryptoKey to populate cryptoKeyId. + 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 member: type: string role: diff --git a/package/crds/kms.gcp.upbound.io_cryptokeyversions.yaml b/package/crds/kms.gcp.upbound.io_cryptokeyversions.yaml index b3f53eba6..3a2469fee 100644 --- a/package/crds/kms.gcp.upbound.io_cryptokeyversions.yaml +++ b/package/crds/kms.gcp.upbound.io_cryptokeyversions.yaml @@ -162,6 +162,83 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + cryptoKey: + description: 'The name of the cryptoKey associated with the CryptoKeyVersions. + Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyring}}/cryptoKeys/{{cryptoKey}}''' + type: string + cryptoKeyRef: + description: Reference to a CryptoKey in kms to populate cryptoKey. + 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 + cryptoKeySelector: + description: Selector for a CryptoKey in kms to populate cryptoKey. + 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 state: description: 'The current state of the CryptoKeyVersion. Possible values are: PENDING_GENERATION, ENABLED, DISABLED, DESTROYED, diff --git a/package/crds/kms.gcp.upbound.io_keyringiammembers.yaml b/package/crds/kms.gcp.upbound.io_keyringiammembers.yaml index 718dc7812..a39eb2429 100644 --- a/package/crds/kms.gcp.upbound.io_keyringiammembers.yaml +++ b/package/crds/kms.gcp.upbound.io_keyringiammembers.yaml @@ -181,6 +181,81 @@ spec: type: string type: object type: array + keyRingId: + type: string + keyRingIdRef: + description: Reference to a KeyRing to populate keyRingId. + 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 + keyRingIdSelector: + description: Selector for a KeyRing to populate keyRingId. + 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 member: type: string role: diff --git a/package/crds/kms.gcp.upbound.io_secretciphertexts.yaml b/package/crds/kms.gcp.upbound.io_secretciphertexts.yaml index 4da60683a..4a7d45820 100644 --- a/package/crds/kms.gcp.upbound.io_secretciphertexts.yaml +++ b/package/crds/kms.gcp.upbound.io_secretciphertexts.yaml @@ -180,6 +180,83 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + cryptoKey: + description: 'The full name of the CryptoKey that will be used + to encrypt the provided plaintext. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}''' + type: string + cryptoKeyRef: + description: Reference to a CryptoKey in kms to populate cryptoKey. + 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 + cryptoKeySelector: + description: Selector for a CryptoKey in kms to populate cryptoKey. + 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 plaintext: description: 'The plaintext to be encrypted. Note: This property is sensitive and will not be displayed in the plan.' diff --git a/package/crds/logging.gcp.upbound.io_metrics.yaml b/package/crds/logging.gcp.upbound.io_metrics.yaml index 8988df73c..149291dfd 100644 --- a/package/crds/logging.gcp.upbound.io_metrics.yaml +++ b/package/crds/logging.gcp.upbound.io_metrics.yaml @@ -325,6 +325,86 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucketName: + description: The resource name of the Log Bucket that owns the + Log Metric. Only Log Buckets in projects are supported. The + bucket has to be in the same project as the metric. + type: string + bucketNameRef: + description: Reference to a ProjectBucketConfig in logging to + populate bucketName. + 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 + bucketNameSelector: + description: Selector for a ProjectBucketConfig in logging to + populate bucketName. + 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 bucketOptions: description: The bucketOptions are required when the logs-based metric is using a DISTRIBUTION value type and it describes the diff --git a/package/crds/logging.gcp.upbound.io_projectbucketconfigs.yaml b/package/crds/logging.gcp.upbound.io_projectbucketconfigs.yaml index e4d260311..199808b3f 100644 --- a/package/crds/logging.gcp.upbound.io_projectbucketconfigs.yaml +++ b/package/crds/logging.gcp.upbound.io_projectbucketconfigs.yaml @@ -300,6 +300,100 @@ spec: by updating the log bucket. Changing the KMS key is allowed. Structure is documented below. items: + properties: + kmsKeyName: + description: 'The resource name for the configured Cloud + KMS key. KMS key name format: ''projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]'' + To enable CMEK for the bucket, set this field to a valid + kmsKeyName for which the associated service account has + the required cloudkms.cryptoKeyEncrypterDecrypter roles + assigned for the key. The Cloud KMS key used by the bucket + can be updated by changing the kmsKeyName to a new valid + key name. Encryption operations that are in progress will + be completed with the key that was in use when they started. + Decryption operations will be completed using the key + that was used at the time of encryption unless access + to that key has been revoked. See Enabling CMEK for Logging + Buckets for more information.' + type: string + kmsKeyNameRef: + description: Reference to a CryptoKey in kms to populate + kmsKeyName. + 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 + kmsKeyNameSelector: + description: Selector for a CryptoKey in kms to populate + kmsKeyName. + 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 type: object type: array description: diff --git a/package/crds/memcache.gcp.upbound.io_instances.yaml b/package/crds/memcache.gcp.upbound.io_instances.yaml index f38a94994..a52b50120 100644 --- a/package/crds/memcache.gcp.upbound.io_instances.yaml +++ b/package/crds/memcache.gcp.upbound.io_instances.yaml @@ -282,6 +282,85 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + authorizedNetwork: + description: The full name of the GCE network to connect the instance + to. If not provided, 'default' will be used. + type: string + authorizedNetworkRef: + description: Reference to a Connection in servicenetworking to + populate authorizedNetwork. + 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 + authorizedNetworkSelector: + description: Selector for a Connection in servicenetworking to + populate authorizedNetwork. + 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 displayName: description: A user-visible name for the instance. type: string diff --git a/package/crds/monitoring.gcp.upbound.io_groups.yaml b/package/crds/monitoring.gcp.upbound.io_groups.yaml index 0a45a8ae5..6244434ce 100644 --- a/package/crds/monitoring.gcp.upbound.io_groups.yaml +++ b/package/crds/monitoring.gcp.upbound.io_groups.yaml @@ -188,6 +188,84 @@ spec: to be a cluster. The system can perform additional analysis on groups that are clusters. type: boolean + parentName: + description: The name of the group's parent, if it has one. The + format is "projects/{project_id_or_number}/groups/{group_id}". + For groups with no parent, parentName is the empty string, "". + type: string + parentNameRef: + description: Reference to a Group in monitoring to populate parentName. + 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 + parentNameSelector: + description: Selector for a Group in monitoring to populate parentName. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/monitoring.gcp.upbound.io_sloes.yaml b/package/crds/monitoring.gcp.upbound.io_sloes.yaml index d206c6448..ebd56d109 100644 --- a/package/crds/monitoring.gcp.upbound.io_sloes.yaml +++ b/package/crds/monitoring.gcp.upbound.io_sloes.yaml @@ -818,6 +818,84 @@ spec: description: A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive. type: number + service: + description: ID of the service to which this SLO belongs. + type: string + serviceRef: + description: Reference to a CustomService in monitoring to populate + service. + 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 + serviceSelector: + description: Selector for a CustomService in monitoring to populate + service. + 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 sloId: description: The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. diff --git a/package/crds/monitoring.gcp.upbound.io_uptimecheckconfigs.yaml b/package/crds/monitoring.gcp.upbound.io_uptimecheckconfigs.yaml index 997898792..077d37a6b 100644 --- a/package/crds/monitoring.gcp.upbound.io_uptimecheckconfigs.yaml +++ b/package/crds/monitoring.gcp.upbound.io_uptimecheckconfigs.yaml @@ -616,6 +616,88 @@ spec: Structure is documented below. items: properties: + groupId: + description: The group of resources being monitored. Should + be the name of a group + type: string + groupIdRef: + description: Reference to a Group in monitoring to populate + groupId. + 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 + groupIdSelector: + description: Selector for a Group in monitoring to populate + groupId. + 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 resourceType: description: 'The resource type of the group members. Possible values are: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER.' diff --git a/package/crds/networkconnectivity.gcp.upbound.io_spokes.yaml b/package/crds/networkconnectivity.gcp.upbound.io_spokes.yaml index 9a2de9665..f60a361a4 100644 --- a/package/crds/networkconnectivity.gcp.upbound.io_spokes.yaml +++ b/package/crds/networkconnectivity.gcp.upbound.io_spokes.yaml @@ -322,6 +322,85 @@ spec: description: description: An optional description of the spoke. type: string + hub: + description: Immutable. The URI of the hub that this spoke is + attached to. + type: string + hubRef: + description: Reference to a Hub in networkconnectivity to populate + hub. + 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 + hubSelector: + description: Selector for a Hub in networkconnectivity to populate + hub. + 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 labels: additionalProperties: type: string @@ -361,6 +440,89 @@ spec: ipAddress: description: The IP address on the VM to use for peering. type: string + virtualMachine: + description: The URI of the virtual machine resource + type: string + virtualMachineRef: + description: Reference to a Instance in compute to + populate virtualMachine. + 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 + virtualMachineSelector: + description: Selector for a Instance in compute to + populate virtualMachine. + 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 type: object type: array siteToSiteDataTransfer: diff --git a/package/crds/networkmanagement.gcp.upbound.io_connectivitytests.yaml b/package/crds/networkmanagement.gcp.upbound.io_connectivitytests.yaml index ced1ab335..7c2949f2e 100644 --- a/package/crds/networkmanagement.gcp.upbound.io_connectivitytests.yaml +++ b/package/crds/networkmanagement.gcp.upbound.io_connectivitytests.yaml @@ -841,10 +841,340 @@ spec: is documented below. items: properties: + instance: + description: A Compute Engine instance URI. + type: string + instanceRef: + description: Reference to a Instance in compute to populate + instance. + 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 + instanceSelector: + description: Selector for a Instance in compute to populate + instance. + 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 + ipAddress: + description: The IP address of the endpoint, which can be + an external or internal IP. An IPv6 address is only allowed + when the test's destination is a global load balancer + VIP. + type: string + ipAddressRef: + description: Reference to a Address in compute to populate + ipAddress. + 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 + ipAddressSelector: + description: Selector for a Address in compute to populate + ipAddress. + 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 + network: + description: A Compute Engine network URI. + type: string + networkRef: + description: Reference to a Network in compute to populate + network. + 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 + networkSelector: + description: Selector for a Network in compute to populate + network. + 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 port: description: The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP. type: number + projectId: + description: 'Project ID where the endpoint is located. + The Project ID can be derived from the URI if you provide + a VM instance or network URI. The following are two cases + where you must provide the project ID:' + type: string + projectIdRef: + description: Reference to a Address in compute to populate + projectId. + 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 + projectIdSelector: + description: Selector for a Address in compute to populate + projectId. + 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 type: object type: array labels: @@ -890,6 +1220,252 @@ spec: that you don''t intend to test. Structure is documented below.' items: properties: + instance: + description: A Compute Engine instance URI. + type: string + instanceRef: + description: Reference to a Instance in compute to populate + instance. + 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 + instanceSelector: + description: Selector for a Instance in compute to populate + instance. + 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 + ipAddress: + description: The IP address of the endpoint, which can be + an external or internal IP. An IPv6 address is only allowed + when the test's destination is a global load balancer + VIP. + type: string + ipAddressRef: + description: Reference to a Address in compute to populate + ipAddress. + 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 + ipAddressSelector: + description: Selector for a Address in compute to populate + ipAddress. + 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 + network: + description: A Compute Engine network URI. + type: string + networkRef: + description: Reference to a Network in compute to populate + network. + 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 + networkSelector: + description: Selector for a Network in compute to populate + network. + 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 networkType: description: 'Type of the network where the endpoint is located. Possible values are: GCP_NETWORK, NON_GCP_NETWORK.' @@ -898,6 +1474,90 @@ spec: description: The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP. type: number + projectId: + description: 'Project ID where the endpoint is located. + The Project ID can be derived from the URI if you provide + a VM instance or network URI. The following are two cases + where you must provide the project ID:' + type: string + projectIdRef: + description: Reference to a Address in compute to populate + projectId. + 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 + projectIdSelector: + description: Selector for a Address in compute to populate + projectId. + 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 type: object type: array type: object diff --git a/package/crds/notebooks.gcp.upbound.io_instanceiammembers.yaml b/package/crds/notebooks.gcp.upbound.io_instanceiammembers.yaml index db8afe4b0..7e25102f4 100644 --- a/package/crds/notebooks.gcp.upbound.io_instanceiammembers.yaml +++ b/package/crds/notebooks.gcp.upbound.io_instanceiammembers.yaml @@ -185,6 +185,81 @@ spec: type: string type: object type: array + instanceName: + type: string + instanceNameRef: + description: Reference to a Instance to populate instanceName. + 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 + instanceNameSelector: + description: Selector for a Instance to populate instanceName. + 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 location: type: string member: diff --git a/package/crds/notebooks.gcp.upbound.io_runtimeiammembers.yaml b/package/crds/notebooks.gcp.upbound.io_runtimeiammembers.yaml index de7ce5de6..3e9242de7 100644 --- a/package/crds/notebooks.gcp.upbound.io_runtimeiammembers.yaml +++ b/package/crds/notebooks.gcp.upbound.io_runtimeiammembers.yaml @@ -193,6 +193,81 @@ spec: type: string role: type: string + runtimeName: + type: string + runtimeNameRef: + description: Reference to a Runtime to populate runtimeName. + 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 + runtimeNameSelector: + description: Selector for a Runtime to populate runtimeName. + 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 type: object managementPolicies: default: diff --git a/package/crds/privateca.gcp.upbound.io_capooliammembers.yaml b/package/crds/privateca.gcp.upbound.io_capooliammembers.yaml index 8ae07b98b..d359ddd99 100644 --- a/package/crds/privateca.gcp.upbound.io_capooliammembers.yaml +++ b/package/crds/privateca.gcp.upbound.io_capooliammembers.yaml @@ -174,6 +174,81 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + caPool: + type: string + caPoolRef: + description: Reference to a CAPool to populate caPool. + 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 + caPoolSelector: + description: Selector for a CAPool to populate caPool. + 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 condition: items: properties: diff --git a/package/crds/privateca.gcp.upbound.io_certificateauthorities.yaml b/package/crds/privateca.gcp.upbound.io_certificateauthorities.yaml index 5f80128c1..8ee2ef694 100644 --- a/package/crds/privateca.gcp.upbound.io_certificateauthorities.yaml +++ b/package/crds/privateca.gcp.upbound.io_certificateauthorities.yaml @@ -1172,6 +1172,90 @@ spec: describes its issuers. Structure is documented below. items: properties: + certificateAuthority: + description: This can refer to a CertificateAuthority that + was used to create a subordinate CertificateAuthority. + This field is used for information and usability purposes + only. The resource name is in the format projects/*/locations/*/caPools/*/certificateAuthorities/*. + type: string + certificateAuthorityRef: + description: Reference to a CertificateAuthority in privateca + to populate certificateAuthority. + 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 + certificateAuthoritySelector: + description: Selector for a CertificateAuthority in privateca + to populate certificateAuthority. + 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 pemIssuerChain: description: Contains the PEM certificate chain for the issuers of this CertificateAuthority, but not pem certificate diff --git a/package/crds/privateca.gcp.upbound.io_certificates.yaml b/package/crds/privateca.gcp.upbound.io_certificates.yaml index 098c37e07..c9989c5ea 100644 --- a/package/crds/privateca.gcp.upbound.io_certificates.yaml +++ b/package/crds/privateca.gcp.upbound.io_certificates.yaml @@ -754,6 +754,170 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + certificateAuthority: + description: The Certificate Authority ID that should issue the + certificate. For example, to issue a Certificate from a Certificate + Authority with resource name projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca, + argument pool should be set to projects/my-project/locations/us-central1/caPools/my-pool, + argument certificate_authority should be set to my-ca. + type: string + certificateAuthorityRef: + description: Reference to a CertificateAuthority in privateca + to populate certificateAuthority. + 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 + certificateAuthoritySelector: + description: Selector for a CertificateAuthority in privateca + to populate certificateAuthority. + 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 + certificateTemplate: + description: The resource name for a CertificateTemplate used + to issue this certificate, in the format projects/*/locations/*/certificateTemplates/*. + If this is specified, the caller must have the necessary permission + to use this template. If this is omitted, no template will be + used. This template must be in the same location as the Certificate. + type: string + certificateTemplateRef: + description: Reference to a CertificateTemplate in privateca to + populate certificateTemplate. + 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 + certificateTemplateSelector: + description: Selector for a CertificateTemplate in privateca to + populate certificateTemplate. + 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 config: description: The config used to create a self-signed X.509 certificate or CSR. Structure is documented below. diff --git a/package/crds/privateca.gcp.upbound.io_certificatetemplateiammembers.yaml b/package/crds/privateca.gcp.upbound.io_certificatetemplateiammembers.yaml index 493545cf7..315906186 100644 --- a/package/crds/privateca.gcp.upbound.io_certificatetemplateiammembers.yaml +++ b/package/crds/privateca.gcp.upbound.io_certificatetemplateiammembers.yaml @@ -175,6 +175,81 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + certificateTemplate: + type: string + certificateTemplateRef: + description: Reference to a CertificateTemplate to populate certificateTemplate. + 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 + certificateTemplateSelector: + description: Selector for a CertificateTemplate to populate certificateTemplate. + 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 condition: items: properties: diff --git a/package/crds/pubsub.gcp.upbound.io_litesubscriptions.yaml b/package/crds/pubsub.gcp.upbound.io_litesubscriptions.yaml index 92103347a..4d13fac14 100644 --- a/package/crds/pubsub.gcp.upbound.io_litesubscriptions.yaml +++ b/package/crds/pubsub.gcp.upbound.io_litesubscriptions.yaml @@ -202,6 +202,82 @@ spec: region: description: The region of the pubsub lite topic. type: string + topic: + description: A reference to a Topic resource. + type: string + topicRef: + description: Reference to a LiteTopic to populate topic. + 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 + topicSelector: + description: Selector for a LiteTopic to populate topic. + 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 type: object managementPolicies: default: diff --git a/package/crds/pubsub.gcp.upbound.io_litetopics.yaml b/package/crds/pubsub.gcp.upbound.io_litetopics.yaml index c28de7c25..cd42c6213 100644 --- a/package/crds/pubsub.gcp.upbound.io_litetopics.yaml +++ b/package/crds/pubsub.gcp.upbound.io_litetopics.yaml @@ -265,6 +265,89 @@ spec: description: The settings for this topic's Reservation usage. Structure is documented below. items: + properties: + throughputReservation: + description: The Reservation to use for this topic's throughput + capacity. + type: string + throughputReservationRef: + description: Reference to a LiteReservation to populate + throughputReservation. + 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 + throughputReservationSelector: + description: Selector for a LiteReservation to populate + throughputReservation. + 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 type: object type: array retentionConfig: diff --git a/package/crds/pubsub.gcp.upbound.io_subscriptioniammembers.yaml b/package/crds/pubsub.gcp.upbound.io_subscriptioniammembers.yaml index 0c8433a59..4cb94f95c 100644 --- a/package/crds/pubsub.gcp.upbound.io_subscriptioniammembers.yaml +++ b/package/crds/pubsub.gcp.upbound.io_subscriptioniammembers.yaml @@ -189,6 +189,81 @@ spec: type: string role: type: string + subscription: + type: string + subscriptionRef: + description: Reference to a Subscription to populate subscription. + 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 + subscriptionSelector: + description: Selector for a Subscription to populate subscription. + 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 type: object managementPolicies: default: diff --git a/package/crds/pubsub.gcp.upbound.io_subscriptions.yaml b/package/crds/pubsub.gcp.upbound.io_subscriptions.yaml index 6bd84e62f..0a1c4d16d 100644 --- a/package/crds/pubsub.gcp.upbound.io_subscriptions.yaml +++ b/package/crds/pubsub.gcp.upbound.io_subscriptions.yaml @@ -546,6 +546,95 @@ spec: Structure is documented below. items: properties: + deadLetterTopic: + description: The name of the topic to which dead letter + messages should be published. Format is projects/{project}/topics/{topic}. + The Cloud Pub/Sub service account associated with the + enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) + must have permission to Publish() to this topic. The operation + will fail if the topic does not exist. Users should ensure + that there is a subscription attached to this topic since + messages published to a topic with no subscriptions are + lost. + type: string + deadLetterTopicRef: + description: Reference to a Topic in pubsub to populate + deadLetterTopic. + 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 + deadLetterTopicSelector: + description: Selector for a Topic in pubsub to populate + deadLetterTopic. + 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 maxDeliveryAttempts: description: The maximum number of delivery attempts for any message. The value must be between 5 and 100. The @@ -726,6 +815,82 @@ spec: type: string type: object type: array + topic: + description: A reference to a Topic resource. + type: string + topicRef: + description: Reference to a Topic to populate topic. + 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 + topicSelector: + description: Selector for a Topic to populate topic. + 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 type: object managementPolicies: default: diff --git a/package/crds/pubsub.gcp.upbound.io_topiciammembers.yaml b/package/crds/pubsub.gcp.upbound.io_topiciammembers.yaml index 58f55de32..7e1384fae 100644 --- a/package/crds/pubsub.gcp.upbound.io_topiciammembers.yaml +++ b/package/crds/pubsub.gcp.upbound.io_topiciammembers.yaml @@ -189,6 +189,81 @@ spec: type: string role: type: string + topic: + type: string + topicRef: + description: Reference to a Topic to populate topic. + 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 + topicSelector: + description: Selector for a Topic to populate topic. + 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 type: object managementPolicies: default: diff --git a/package/crds/pubsub.gcp.upbound.io_topics.yaml b/package/crds/pubsub.gcp.upbound.io_topics.yaml index 409859796..2fb1da7c7 100644 --- a/package/crds/pubsub.gcp.upbound.io_topics.yaml +++ b/package/crds/pubsub.gcp.upbound.io_topics.yaml @@ -219,6 +219,86 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + kmsKeyName: + description: The resource name of the Cloud KMS CryptoKey to be + used to protect access to messages published on this topic. + Your project's PubSub service account (service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com) + must have roles/cloudkms.cryptoKeyEncrypterDecrypter to use + this feature. The expected format is projects/*/locations/*/keyRings/*/cryptoKeys/* + type: string + kmsKeyNameRef: + description: Reference to a CryptoKey in kms to populate kmsKeyName. + 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 + kmsKeyNameSelector: + description: Selector for a CryptoKey in kms to populate kmsKeyName. + 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 labels: additionalProperties: type: string diff --git a/package/crds/redis.gcp.upbound.io_instances.yaml b/package/crds/redis.gcp.upbound.io_instances.yaml index bb5677b9a..2b6fd16e6 100644 --- a/package/crds/redis.gcp.upbound.io_instances.yaml +++ b/package/crds/redis.gcp.upbound.io_instances.yaml @@ -352,6 +352,84 @@ spec: value is DIRECT_PEERING. Possible values are: DIRECT_PEERING, PRIVATE_SERVICE_ACCESS.' type: string + customerManagedKey: + description: Optional. The KMS key reference that you want to + use to encrypt the data at rest for this Redis instance. If + this is provided, CMEK is enabled. + type: string + customerManagedKeyRef: + description: Reference to a CryptoKey in kms to populate customerManagedKey. + 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 + customerManagedKeySelector: + description: Selector for a CryptoKey in kms to populate customerManagedKey. + 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 displayName: description: An arbitrary and optional user-provided name for the instance. diff --git a/package/crds/secretmanager.gcp.upbound.io_secretiammembers.yaml b/package/crds/secretmanager.gcp.upbound.io_secretiammembers.yaml index fa9e0002f..81aaf1e7a 100644 --- a/package/crds/secretmanager.gcp.upbound.io_secretiammembers.yaml +++ b/package/crds/secretmanager.gcp.upbound.io_secretiammembers.yaml @@ -189,6 +189,81 @@ spec: type: string role: type: string + secretId: + type: string + secretIdRef: + description: Reference to a Secret to populate secretId. + 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 + secretIdSelector: + description: Selector for a Secret to populate secretId. + 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 type: object managementPolicies: default: diff --git a/package/crds/secretmanager.gcp.upbound.io_secretversions.yaml b/package/crds/secretmanager.gcp.upbound.io_secretversions.yaml index ee1e7f223..3cccabc50 100644 --- a/package/crds/secretmanager.gcp.upbound.io_secretversions.yaml +++ b/package/crds/secretmanager.gcp.upbound.io_secretversions.yaml @@ -179,6 +179,82 @@ spec: enabled: description: The current state of the SecretVersion. type: boolean + secret: + description: Secret Manager secret resource + type: string + secretRef: + description: Reference to a Secret to populate secret. + 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 + secretSelector: + description: Selector for a Secret to populate secret. + 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 type: object managementPolicies: default: diff --git a/package/crds/servicenetworking.gcp.upbound.io_connections.yaml b/package/crds/servicenetworking.gcp.upbound.io_connections.yaml index baa8c504a..13e388866 100644 --- a/package/crds/servicenetworking.gcp.upbound.io_connections.yaml +++ b/package/crds/servicenetworking.gcp.upbound.io_connections.yaml @@ -248,6 +248,169 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + network: + description: Name of VPC network connected with service producers + using VPC peering. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 + reservedPeeringRanges: + description: Named IP address range(s) of PEERING type reserved + for this service provider. Note that invoking this method with + a different range when connection is already established will + not reallocate already provisioned service producer subnetworks. + items: + type: string + type: array + reservedPeeringRangesRefs: + description: References to GlobalAddress in compute to populate + reservedPeeringRanges. + items: + description: A Reference to a named object. + 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 + type: array + reservedPeeringRangesSelector: + description: Selector for a list of GlobalAddress in compute to + populate reservedPeeringRanges. + 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 service: description: Provider peering service that is managing peering connectivity for a service provider organization. For Google diff --git a/package/crds/sourcerepo.gcp.upbound.io_repositories.yaml b/package/crds/sourcerepo.gcp.upbound.io_repositories.yaml index e29810d83..96437a330 100644 --- a/package/crds/sourcerepo.gcp.upbound.io_repositories.yaml +++ b/package/crds/sourcerepo.gcp.upbound.io_repositories.yaml @@ -276,6 +276,174 @@ spec: messageFormat: description: The format of the Cloud Pub/Sub messages. type: string + serviceAccountEmail: + description: Email address of the service account used for + publishing Cloud Pub/Sub messages. This service account + needs to be in the same project as the PubsubConfig. When + added, the caller needs to have iam.serviceAccounts.actAs + permission on this service account. If unspecified, it + defaults to the compute engine default service account. + type: string + serviceAccountEmailRef: + description: Reference to a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 + serviceAccountEmailSelector: + description: Selector for a ServiceAccount in cloudplatform + to populate serviceAccountEmail. + 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 + topic: + description: The identifier for this object. Format specified + above. + type: string + topicRef: + description: Reference to a Topic in pubsub to populate + topic. + 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 + topicSelector: + description: Selector for a Topic in pubsub to populate + topic. + 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 type: object type: array type: object diff --git a/package/crds/sourcerepo.gcp.upbound.io_repositoryiammembers.yaml b/package/crds/sourcerepo.gcp.upbound.io_repositoryiammembers.yaml index 8ccbf5732..31be0ff83 100644 --- a/package/crds/sourcerepo.gcp.upbound.io_repositoryiammembers.yaml +++ b/package/crds/sourcerepo.gcp.upbound.io_repositoryiammembers.yaml @@ -187,6 +187,81 @@ spec: type: string project: type: string + repository: + type: string + repositoryRef: + description: Reference to a Repository to populate repository. + 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 + repositorySelector: + description: Selector for a Repository to populate repository. + 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 role: type: string type: object diff --git a/package/crds/spanner.gcp.upbound.io_databaseiammembers.yaml b/package/crds/spanner.gcp.upbound.io_databaseiammembers.yaml index c761c52ed..184b07021 100644 --- a/package/crds/spanner.gcp.upbound.io_databaseiammembers.yaml +++ b/package/crds/spanner.gcp.upbound.io_databaseiammembers.yaml @@ -258,6 +258,156 @@ spec: type: string type: object type: array + database: + type: string + databaseRef: + description: Reference to a Database to populate database. + 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 + databaseSelector: + description: Selector for a Database to populate database. + 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 + instance: + type: string + instanceRef: + description: Reference to a Instance to populate instance. + 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 + instanceSelector: + description: Selector for a Instance to populate instance. + 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 member: type: string project: diff --git a/package/crds/spanner.gcp.upbound.io_instanceiammembers.yaml b/package/crds/spanner.gcp.upbound.io_instanceiammembers.yaml index abdd2ef63..5699206ce 100644 --- a/package/crds/spanner.gcp.upbound.io_instanceiammembers.yaml +++ b/package/crds/spanner.gcp.upbound.io_instanceiammembers.yaml @@ -183,6 +183,81 @@ spec: type: string type: object type: array + instance: + type: string + instanceRef: + description: Reference to a Instance to populate instance. + 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 + instanceSelector: + description: Selector for a Instance to populate instance. + 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 member: type: string project: diff --git a/package/crds/sql.gcp.upbound.io_databaseinstances.yaml b/package/crds/sql.gcp.upbound.io_databaseinstances.yaml index efe081da6..d0b365fae 100644 --- a/package/crds/sql.gcp.upbound.io_databaseinstances.yaml +++ b/package/crds/sql.gcp.upbound.io_databaseinstances.yaml @@ -1071,6 +1071,94 @@ spec: be assigned a public IPV4 address. At least ipv4_enabled must be enabled or a private_network must be configured. type: boolean + privateNetwork: + description: The VPC network from which the Cloud + SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. + Specifying a network enables private IP. At least + ipv4_enabled must be enabled or a private_network + must be configured. This setting can be updated, + but it cannot be removed after it is set. + type: string + privateNetworkRef: + description: Reference to a Network in compute to + populate privateNetwork. + 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 + privateNetworkSelector: + description: Selector for a Network in compute to + populate privateNetwork. + 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 requireSsl: description: Whether SSL connections over IP are enforced or not. diff --git a/package/crds/sql.gcp.upbound.io_sslcerts.yaml b/package/crds/sql.gcp.upbound.io_sslcerts.yaml index 4f102646b..56439fad8 100644 --- a/package/crds/sql.gcp.upbound.io_sslcerts.yaml +++ b/package/crds/sql.gcp.upbound.io_sslcerts.yaml @@ -171,6 +171,83 @@ spec: identify the client. Constrained to [a-zA-Z.-_ ]+. Changing this forces a new resource to be created. type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. + type: string + instanceRef: + description: Reference to a DatabaseInstance to populate instance. + 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 + instanceSelector: + description: Selector for a DatabaseInstance to populate instance. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/sql.gcp.upbound.io_users.yaml b/package/crds/sql.gcp.upbound.io_users.yaml index e6dda43c8..21b00dd2f 100644 --- a/package/crds/sql.gcp.upbound.io_users.yaml +++ b/package/crds/sql.gcp.upbound.io_users.yaml @@ -233,6 +233,83 @@ spec: field for PostgreSQL and SQL Server instances. Can be an IP address. Changing this forces a new resource to be created. type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. + type: string + instanceRef: + description: Reference to a DatabaseInstance to populate instance. + 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 + instanceSelector: + description: Selector for a DatabaseInstance to populate instance. + 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 passwordPolicy: items: properties: diff --git a/package/crds/storage.gcp.upbound.io_bucketaccesscontrols.yaml b/package/crds/storage.gcp.upbound.io_bucketaccesscontrols.yaml index edf2338a8..c0ceed8f0 100644 --- a/package/crds/storage.gcp.upbound.io_bucketaccesscontrols.yaml +++ b/package/crds/storage.gcp.upbound.io_bucketaccesscontrols.yaml @@ -169,6 +169,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 entity: description: 'The entity holding the permission, in one of the following forms: user-userId user-email group-groupId group-email diff --git a/package/crds/storage.gcp.upbound.io_bucketacls.yaml b/package/crds/storage.gcp.upbound.io_bucketacls.yaml index 4c47c1941..3b0126eb0 100644 --- a/package/crds/storage.gcp.upbound.io_bucketacls.yaml +++ b/package/crds/storage.gcp.upbound.io_bucketacls.yaml @@ -170,6 +170,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket it applies to. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 defaultAcl: description: Configure this ACL to be the default ACL. type: string diff --git a/package/crds/storage.gcp.upbound.io_bucketiammembers.yaml b/package/crds/storage.gcp.upbound.io_bucketiammembers.yaml index 79b92c796..1e899f948 100644 --- a/package/crds/storage.gcp.upbound.io_bucketiammembers.yaml +++ b/package/crds/storage.gcp.upbound.io_bucketiammembers.yaml @@ -170,6 +170,81 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + type: string + bucketRef: + description: Reference to a Bucket to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket to populate bucket. + 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 condition: items: properties: diff --git a/package/crds/storage.gcp.upbound.io_bucketobjects.yaml b/package/crds/storage.gcp.upbound.io_bucketobjects.yaml index ab35be8c8..aedd44a48 100644 --- a/package/crds/storage.gcp.upbound.io_bucketobjects.yaml +++ b/package/crds/storage.gcp.upbound.io_bucketobjects.yaml @@ -251,6 +251,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the containing bucket. + type: string + bucketRef: + description: Reference to a Bucket to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket to populate bucket. + 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 cacheControl: description: Cache-Control directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous diff --git a/package/crds/storage.gcp.upbound.io_defaultobjectaccesscontrols.yaml b/package/crds/storage.gcp.upbound.io_defaultobjectaccesscontrols.yaml index 37a186f1a..41b7a33d7 100644 --- a/package/crds/storage.gcp.upbound.io_defaultobjectaccesscontrols.yaml +++ b/package/crds/storage.gcp.upbound.io_defaultobjectaccesscontrols.yaml @@ -170,6 +170,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 entity: description: 'The entity holding the permission, in one of the following forms:' diff --git a/package/crds/storage.gcp.upbound.io_defaultobjectacls.yaml b/package/crds/storage.gcp.upbound.io_defaultobjectacls.yaml index 819280af2..5273e3483 100644 --- a/package/crds/storage.gcp.upbound.io_defaultobjectacls.yaml +++ b/package/crds/storage.gcp.upbound.io_defaultobjectacls.yaml @@ -165,6 +165,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket it applies to. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 roleEntity: description: List of role/entity pairs in the form ROLE:entity. See GCS Object ACL documentation for more details. Omitting diff --git a/package/crds/storage.gcp.upbound.io_notifications.yaml b/package/crds/storage.gcp.upbound.io_notifications.yaml index b8ba3b087..5fb87bbe9 100644 --- a/package/crds/storage.gcp.upbound.io_notifications.yaml +++ b/package/crds/storage.gcp.upbound.io_notifications.yaml @@ -262,6 +262,82 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 customAttributes: additionalProperties: type: string @@ -287,6 +363,87 @@ spec: description: The desired content of the Payload. One of "JSON_API_V1" or "NONE". type: string + topic: + description: The Cloud PubSub topic to which this subscription + publishes. Expects either the topic name, assumed to belong + to the default GCP provider project, or the project-level name, + i.e. projects/my-gcp-project/topics/my-topic or my-topic. If + the project is not set in the provider, you will need to use + the project-level name. + type: string + topicRef: + description: Reference to a Topic in pubsub to populate topic. + 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 + topicSelector: + description: Selector for a Topic in pubsub to populate topic. + 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 type: object managementPolicies: default: diff --git a/package/crds/storage.gcp.upbound.io_objectaccesscontrols.yaml b/package/crds/storage.gcp.upbound.io_objectaccesscontrols.yaml index f03c50d1e..d5bde8a01 100644 --- a/package/crds/storage.gcp.upbound.io_objectaccesscontrols.yaml +++ b/package/crds/storage.gcp.upbound.io_objectaccesscontrols.yaml @@ -244,10 +244,165 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 entity: description: 'The entity holding the permission, in one of the following forms:' type: string + object: + description: The name of the object to apply the access control + to. + type: string + objectRef: + description: Reference to a BucketObject in storage to populate + object. + 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 + objectSelector: + description: Selector for a BucketObject in storage to populate + object. + 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 role: description: 'The access permission for the entity. Possible values are: OWNER, READER.' diff --git a/package/crds/storage.gcp.upbound.io_objectacls.yaml b/package/crds/storage.gcp.upbound.io_objectacls.yaml index cc9ef0ab0..1677aff67 100644 --- a/package/crds/storage.gcp.upbound.io_objectacls.yaml +++ b/package/crds/storage.gcp.upbound.io_objectacls.yaml @@ -246,6 +246,160 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + bucket: + description: The name of the bucket the object is stored in. + type: string + bucketRef: + description: Reference to a Bucket in storage to populate bucket. + 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 + bucketSelector: + description: Selector for a Bucket in storage to populate bucket. + 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 + object: + description: The name of the object to apply the acl to. + type: string + objectRef: + description: Reference to a BucketObject in storage to populate + object. + 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 + objectSelector: + description: Selector for a BucketObject in storage to populate + object. + 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 predefinedAcl: description: The "canned" predefined ACL to apply. Must be set if role_entity is not. diff --git a/package/crds/tpu.gcp.upbound.io_nodes.yaml b/package/crds/tpu.gcp.upbound.io_nodes.yaml index 27445439d..ce96a98a1 100644 --- a/package/crds/tpu.gcp.upbound.io_nodes.yaml +++ b/package/crds/tpu.gcp.upbound.io_nodes.yaml @@ -241,6 +241,87 @@ spec: description: Resource labels to represent user provided metadata. type: object x-kubernetes-map-type: granular + network: + description: The name of a network to peer the TPU node to. It + must be a preexisting Compute Engine network inside of the project + on which this API has been activated. If none is provided, "default" + will be used. + type: string + networkRef: + description: Reference to a Connection in servicenetworking to + populate network. + 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 + networkSelector: + description: Selector for a Connection in servicenetworking to + populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. diff --git a/package/crds/vertexai.gcp.upbound.io_featurestoreentitytypes.yaml b/package/crds/vertexai.gcp.upbound.io_featurestoreentitytypes.yaml index a789ae230..a01c4f091 100644 --- a/package/crds/vertexai.gcp.upbound.io_featurestoreentitytypes.yaml +++ b/package/crds/vertexai.gcp.upbound.io_featurestoreentitytypes.yaml @@ -274,6 +274,85 @@ spec: description: description: Optional. Description of the EntityType. type: string + featurestore: + description: The name of the Featurestore to use, in the format + projects/{project}/locations/{location}/featurestores/{featurestore}. + type: string + featurestoreRef: + description: Reference to a Featurestore in vertexai to populate + featurestore. + 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 + featurestoreSelector: + description: Selector for a Featurestore in vertexai to populate + featurestore. + 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 labels: additionalProperties: type: string diff --git a/package/crds/vpcaccess.gcp.upbound.io_connectors.yaml b/package/crds/vpcaccess.gcp.upbound.io_connectors.yaml index a33865836..c7cfaca9a 100644 --- a/package/crds/vpcaccess.gcp.upbound.io_connectors.yaml +++ b/package/crds/vpcaccess.gcp.upbound.io_connectors.yaml @@ -310,6 +310,83 @@ spec: description: Minimum throughput of the connector in Mbps. Default and min is 200. type: number + network: + description: Name or self_link of the VPC network. Required if + ip_cidr_range is set. + type: string + networkRef: + description: Reference to a Network in compute to populate network. + 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 + networkSelector: + description: Selector for a Network in compute to populate network. + 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 project: description: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. @@ -319,6 +396,89 @@ spec: is documented below. items: properties: + name: + description: Subnet name (relative, not fully qualified). + E.g. if the full subnet selfLink is https://compute.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetName} + the correct input for this field would be {subnetName}" + type: string + nameRef: + description: Reference to a Subnetwork in compute to populate + name. + 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 + nameSelector: + description: Selector for a Subnetwork in compute to populate + name. + 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 projectId: description: Project in which the subnet exists. If not set, this project is assumed to be the project for which diff --git a/package/crds/workflows.gcp.upbound.io_workflows.yaml b/package/crds/workflows.gcp.upbound.io_workflows.yaml index 3de9f1973..7fe886be5 100644 --- a/package/crds/workflows.gcp.upbound.io_workflows.yaml +++ b/package/crds/workflows.gcp.upbound.io_workflows.yaml @@ -230,6 +230,93 @@ spec: region: description: The region of the workflow. type: string + serviceAccount: + description: 'Name of the service account associated with the + latest workflow version. This service account represents the + identity of the workflow and determines what permissions the + workflow has. Format: projects/{project}/serviceAccounts/{account} + or {account}. Using - as a wildcard for the {project} or not + providing one at all will infer the project from the account. + The {account} value can be the email address or the unique_id + of the service account. If not provided, workflow will use the + project''s default service account. Modifying this field for + an existing workflow results in a new workflow revision.' + type: string + serviceAccountRef: + description: Reference to a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 + serviceAccountSelector: + description: Selector for a ServiceAccount in cloudplatform to + populate serviceAccount. + 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 sourceContents: description: Workflow code to be executed. The size limit is 32KB. type: string