Merge pull request #106 from sergenyalcin/resolver-empty-string-issue
Revert back to using cross-resource reference utilities from crossplane-runtime
This commit is contained in:
commit
889cfb1005
|
@ -50,9 +50,6 @@ const (
|
||||||
ClientAlias = "client"
|
ClientAlias = "client"
|
||||||
ClientImport = "sigs.k8s.io/controller-runtime/pkg/client"
|
ClientImport = "sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
|
|
||||||
ConvertAlias = "convert"
|
|
||||||
ConvertImport = "github.com/crossplane/crossplane-tools/pkg/convert"
|
|
||||||
|
|
||||||
RuntimeAlias = "xpv1"
|
RuntimeAlias = "xpv1"
|
||||||
RuntimeImport = "github.com/crossplane/crossplane-runtime/apis/common/v1"
|
RuntimeImport = "github.com/crossplane/crossplane-runtime/apis/common/v1"
|
||||||
|
|
||||||
|
@ -61,9 +58,6 @@ const (
|
||||||
|
|
||||||
ReferenceAlias = "reference"
|
ReferenceAlias = "reference"
|
||||||
ReferenceImport = "github.com/crossplane/crossplane-runtime/pkg/reference"
|
ReferenceImport = "github.com/crossplane/crossplane-runtime/pkg/reference"
|
||||||
|
|
||||||
PtrAlias = "ptr"
|
|
||||||
PtrImport = "k8s.io/utils/ptr"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -234,16 +228,14 @@ func GenerateReferences(filename, header string, p *packages.Package) error {
|
||||||
comm := comments.In(p)
|
comm := comments.In(p)
|
||||||
|
|
||||||
methods := method.Set{
|
methods := method.Set{
|
||||||
"ResolveReferences": method.NewResolveReferences(types.NewTraverser(comm), receiver, ClientImport, ReferenceImport, ConvertImport, PtrImport),
|
"ResolveReferences": method.NewResolveReferences(types.NewTraverser(comm), receiver, ClientImport, ReferenceImport),
|
||||||
}
|
}
|
||||||
|
|
||||||
err := generate.WriteMethods(p, methods, filepath.Join(filepath.Dir(p.GoFiles[0]), filename),
|
err := generate.WriteMethods(p, methods, filepath.Join(filepath.Dir(p.GoFiles[0]), filename),
|
||||||
generate.WithHeaders(header),
|
generate.WithHeaders(header),
|
||||||
generate.WithImportAliases(map[string]string{
|
generate.WithImportAliases(map[string]string{
|
||||||
ClientImport: ClientAlias,
|
ClientImport: ClientAlias,
|
||||||
ConvertImport: ConvertAlias,
|
|
||||||
ReferenceImport: ReferenceAlias,
|
ReferenceImport: ReferenceAlias,
|
||||||
PtrAlias: PtrImport,
|
|
||||||
}),
|
}),
|
||||||
generate.WithMatcher(match.AllOf(
|
generate.WithMatcher(match.AllOf(
|
||||||
match.Managed(),
|
match.Managed(),
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
|
|
||||||
// NewResolveReferences returns a NewMethod that writes a ResolveReferences for
|
// NewResolveReferences returns a NewMethod that writes a ResolveReferences for
|
||||||
// given managed resource, if needed.
|
// given managed resource, if needed.
|
||||||
func NewResolveReferences(traverser *xptypes.Traverser, receiver, clientPath, referencePkgPath string, convertPkgPath string, ptrPkgPath string) New {
|
func NewResolveReferences(traverser *xptypes.Traverser, receiver, clientPath, referencePkgPath string) New {
|
||||||
return func(f *jen.File, o types.Object) {
|
return func(f *jen.File, o types.Object) {
|
||||||
n, ok := o.Type().(*types.Named)
|
n, ok := o.Type().(*types.Named)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -55,10 +55,10 @@ func NewResolveReferences(traverser *xptypes.Traverser, receiver, clientPath, re
|
||||||
for i, ref := range refs {
|
for i, ref := range refs {
|
||||||
if ref.IsSlice {
|
if ref.IsSlice {
|
||||||
hasMultiResolution = true
|
hasMultiResolution = true
|
||||||
resolverCalls[i] = encapsulate(0, multiResolutionCall(ref, referencePkgPath, convertPkgPath), ref.GoValueFieldPath...).Line()
|
resolverCalls[i] = encapsulate(0, multiResolutionCall(ref, referencePkgPath), ref.GoValueFieldPath...).Line()
|
||||||
} else {
|
} else {
|
||||||
hasSingleResolution = true
|
hasSingleResolution = true
|
||||||
resolverCalls[i] = encapsulate(0, singleResolutionCall(ref, referencePkgPath, ptrPkgPath), ref.GoValueFieldPath...).Line()
|
resolverCalls[i] = encapsulate(0, singleResolutionCall(ref, referencePkgPath), ref.GoValueFieldPath...).Line()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var initStatements jen.Statement
|
var initStatements jen.Statement
|
||||||
|
@ -113,7 +113,7 @@ func encapsulate(index int, callFn resolutionCallFn, fields ...string) *jen.Stat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func singleResolutionCall(ref Reference, referencePkgPath string, ptrPkgPath string) resolutionCallFn {
|
func singleResolutionCall(ref Reference, referencePkgPath string) resolutionCallFn {
|
||||||
return func(fields ...string) *jen.Statement {
|
return func(fields ...string) *jen.Statement {
|
||||||
prefixPath := jen.Id(fields[0])
|
prefixPath := jen.Id(fields[0])
|
||||||
for i := 1; i < len(fields)-1; i++ {
|
for i := 1; i < len(fields)-1; i++ {
|
||||||
|
@ -124,15 +124,15 @@ func singleResolutionCall(ref Reference, referencePkgPath string, ptrPkgPath str
|
||||||
selectorFieldPath := prefixPath.Clone().Dot(ref.GoSelectorFieldName)
|
selectorFieldPath := prefixPath.Clone().Dot(ref.GoSelectorFieldName)
|
||||||
|
|
||||||
setResolvedValue := currentValuePath.Clone().Op("=").Id("rsp").Dot("ResolvedValue")
|
setResolvedValue := currentValuePath.Clone().Op("=").Id("rsp").Dot("ResolvedValue")
|
||||||
toPointerFunction := "To"
|
toPointerFunction := "ToPtrValue"
|
||||||
fromPointerFunction := "Deref"
|
fromPointerFunction := "FromPtrValue"
|
||||||
if ref.IsFloatPointer {
|
if ref.IsFloatPointer {
|
||||||
toPointerFunction = "ToFloatPtrValue"
|
toPointerFunction = "ToFloatPtrValue"
|
||||||
fromPointerFunction = "FromFloatPtrValue"
|
fromPointerFunction = "FromFloatPtrValue"
|
||||||
}
|
}
|
||||||
if ref.IsPointer {
|
if ref.IsPointer {
|
||||||
setResolvedValue = currentValuePath.Clone().Op("=").Qual(ptrPkgPath, toPointerFunction).Call(jen.Id("rsp").Dot("ResolvedValue"))
|
setResolvedValue = currentValuePath.Clone().Op("=").Qual(referencePkgPath, toPointerFunction).Call(jen.Id("rsp").Dot("ResolvedValue"))
|
||||||
currentValuePath = jen.Qual(ptrPkgPath, fromPointerFunction).Call(currentValuePath, jen.Op(`""`))
|
currentValuePath = jen.Qual(referencePkgPath, fromPointerFunction).Call(currentValuePath)
|
||||||
}
|
}
|
||||||
return &jen.Statement{
|
return &jen.Statement{
|
||||||
jen.List(jen.Id("rsp"), jen.Err()).Op("=").Id("r").Dot("Resolve").Call(
|
jen.List(jen.Id("rsp"), jen.Err()).Op("=").Id("r").Dot("Resolve").Call(
|
||||||
|
@ -162,7 +162,7 @@ func singleResolutionCall(ref Reference, referencePkgPath string, ptrPkgPath str
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func multiResolutionCall(ref Reference, referencePkgPath string, convertPkgPath string) resolutionCallFn {
|
func multiResolutionCall(ref Reference, referencePkgPath string) resolutionCallFn {
|
||||||
return func(fields ...string) *jen.Statement {
|
return func(fields ...string) *jen.Statement {
|
||||||
prefixPath := jen.Id(fields[0])
|
prefixPath := jen.Id(fields[0])
|
||||||
for i := 1; i < len(fields)-1; i++ {
|
for i := 1; i < len(fields)-1; i++ {
|
||||||
|
@ -181,8 +181,8 @@ func multiResolutionCall(ref Reference, referencePkgPath string, convertPkgPath
|
||||||
}
|
}
|
||||||
|
|
||||||
if ref.IsPointer {
|
if ref.IsPointer {
|
||||||
setResolvedValues = currentValuePath.Clone().Op("=").Qual(convertPkgPath, toPointersFunction).Call(jen.Id("mrsp").Dot("ResolvedValues"))
|
setResolvedValues = currentValuePath.Clone().Op("=").Qual(referencePkgPath, toPointersFunction).Call(jen.Id("mrsp").Dot("ResolvedValues"))
|
||||||
currentValuePath = jen.Qual(convertPkgPath, fromPointersFunction).Call(currentValuePath)
|
currentValuePath = jen.Qual(referencePkgPath, fromPointersFunction).Call(currentValuePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &jen.Statement{
|
return &jen.Statement{
|
||||||
|
|
|
@ -73,6 +73,10 @@ type ModelParameters struct {
|
||||||
// +crossplane:generate:reference:type=golang.org/fake/v1alpha1.Configuration
|
// +crossplane:generate:reference:type=golang.org/fake/v1alpha1.Configuration
|
||||||
// +crossplane:generate:reference:extractor=golang.org/fake/v1alpha1.Configuration()
|
// +crossplane:generate:reference:extractor=golang.org/fake/v1alpha1.Configuration()
|
||||||
CustomConfiguration *Configuration
|
CustomConfiguration *Configuration
|
||||||
|
|
||||||
|
// +crossplane:generate:reference:type=github.com/crossplane/provider-aws/apis/identity/v1beta1.IAM
|
||||||
|
// +crossplane:generate:reference:extractor=Count()
|
||||||
|
Count *float64
|
||||||
}
|
}
|
||||||
|
|
||||||
type NetworkSpec struct {
|
type NetworkSpec struct {
|
||||||
|
@ -105,12 +109,10 @@ type Model struct {
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
client "example.org/client"
|
client "example.org/client"
|
||||||
convert "example.org/convert"
|
|
||||||
reference "example.org/reference"
|
reference "example.org/reference"
|
||||||
v1beta11 "github.com/crossplane/provider-aws/apis/ec2/v1beta1"
|
v1beta11 "github.com/crossplane/provider-aws/apis/ec2/v1beta1"
|
||||||
v1beta1 "github.com/crossplane/provider-aws/apis/identity/v1beta1"
|
v1beta1 "github.com/crossplane/provider-aws/apis/identity/v1beta1"
|
||||||
errors "github.com/pkg/errors"
|
errors "github.com/pkg/errors"
|
||||||
ptr "k8s.io/utils/ptr"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ResolveReferences of this Model.
|
// ResolveReferences of this Model.
|
||||||
|
@ -138,7 +140,7 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
mg.Spec.ForProvider.APIIDRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.APIIDRef = rsp.ResolvedReference
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.SecurityGroupID, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.SecurityGroupID),
|
||||||
Extract: reference.ExternalName(),
|
Extract: reference.ExternalName(),
|
||||||
Reference: mg.Spec.ForProvider.SecurityGroupIDRef,
|
Reference: mg.Spec.ForProvider.SecurityGroupIDRef,
|
||||||
Selector: mg.Spec.ForProvider.SecurityGroupIDSelector,
|
Selector: mg.Spec.ForProvider.SecurityGroupIDSelector,
|
||||||
|
@ -150,11 +152,11 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.SecurityGroupID")
|
return errors.Wrap(err, "mg.Spec.ForProvider.SecurityGroupID")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.SecurityGroupID = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.SecurityGroupID = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.SecurityGroupIDRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.SecurityGroupIDRef = rsp.ResolvedReference
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.IAMRoleARN, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.IAMRoleARN),
|
||||||
Extract: v1beta1.IAMRoleARN(),
|
Extract: v1beta1.IAMRoleARN(),
|
||||||
Reference: mg.Spec.ForProvider.IAMRoleARNRef,
|
Reference: mg.Spec.ForProvider.IAMRoleARNRef,
|
||||||
Selector: mg.Spec.ForProvider.IAMRoleARNSelector,
|
Selector: mg.Spec.ForProvider.IAMRoleARNSelector,
|
||||||
|
@ -166,11 +168,11 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.IAMRoleARN")
|
return errors.Wrap(err, "mg.Spec.ForProvider.IAMRoleARN")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.IAMRoleARN = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.IAMRoleARN = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.IAMRoleARNRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.IAMRoleARNRef = rsp.ResolvedReference
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.NestedTargetWithPath, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NestedTargetWithPath),
|
||||||
Extract: v1beta1.IAMRoleARN("a.b.c"),
|
Extract: v1beta1.IAMRoleARN("a.b.c"),
|
||||||
Reference: mg.Spec.ForProvider.NestedTargetWithPathRef,
|
Reference: mg.Spec.ForProvider.NestedTargetWithPathRef,
|
||||||
Selector: mg.Spec.ForProvider.NestedTargetWithPathSelector,
|
Selector: mg.Spec.ForProvider.NestedTargetWithPathSelector,
|
||||||
|
@ -182,11 +184,11 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.NestedTargetWithPath")
|
return errors.Wrap(err, "mg.Spec.ForProvider.NestedTargetWithPath")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.NestedTargetWithPath = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.NestedTargetWithPath = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.NestedTargetWithPathRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.NestedTargetWithPathRef = rsp.ResolvedReference
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.NestedTargetNoPath, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NestedTargetNoPath),
|
||||||
Extract: IAMRoleARN("a.b.c"),
|
Extract: IAMRoleARN("a.b.c"),
|
||||||
Reference: mg.Spec.ForProvider.NestedTargetNoPathRef,
|
Reference: mg.Spec.ForProvider.NestedTargetNoPathRef,
|
||||||
Selector: mg.Spec.ForProvider.NestedTargetNoPathSelector,
|
Selector: mg.Spec.ForProvider.NestedTargetNoPathSelector,
|
||||||
|
@ -198,11 +200,11 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.NestedTargetNoPath")
|
return errors.Wrap(err, "mg.Spec.ForProvider.NestedTargetNoPath")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.NestedTargetNoPath = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.NestedTargetNoPath = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.NestedTargetNoPathRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.NestedTargetNoPathRef = rsp.ResolvedReference
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.NoArgNoPath, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NoArgNoPath),
|
||||||
Extract: IAMRoleARN(),
|
Extract: IAMRoleARN(),
|
||||||
Reference: mg.Spec.ForProvider.NoArgNoPathRef,
|
Reference: mg.Spec.ForProvider.NoArgNoPathRef,
|
||||||
Selector: mg.Spec.ForProvider.NoArgNoPathSelector,
|
Selector: mg.Spec.ForProvider.NoArgNoPathSelector,
|
||||||
|
@ -214,7 +216,7 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.NoArgNoPath")
|
return errors.Wrap(err, "mg.Spec.ForProvider.NoArgNoPath")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.NoArgNoPath = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.NoArgNoPath = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.NoArgNoPathRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.NoArgNoPathRef = rsp.ResolvedReference
|
||||||
|
|
||||||
if mg.Spec.ForProvider.Network != nil {
|
if mg.Spec.ForProvider.Network != nil {
|
||||||
|
@ -270,7 +272,7 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
mg.Spec.ForProvider.SubnetIDRefs = mrsp.ResolvedReferences
|
mg.Spec.ForProvider.SubnetIDRefs = mrsp.ResolvedReferences
|
||||||
|
|
||||||
mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{
|
mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{
|
||||||
CurrentValues: convert.FromPtrValues(mg.Spec.ForProvider.RouteTableIDs),
|
CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.RouteTableIDs),
|
||||||
Extract: reference.ExternalName(),
|
Extract: reference.ExternalName(),
|
||||||
References: mg.Spec.ForProvider.RouteTableIDsRefs,
|
References: mg.Spec.ForProvider.RouteTableIDsRefs,
|
||||||
Selector: mg.Spec.ForProvider.RouteTableIDsSelector,
|
Selector: mg.Spec.ForProvider.RouteTableIDsSelector,
|
||||||
|
@ -282,11 +284,11 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.RouteTableIDs")
|
return errors.Wrap(err, "mg.Spec.ForProvider.RouteTableIDs")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.RouteTableIDs = convert.ToPtrValues(mrsp.ResolvedValues)
|
mg.Spec.ForProvider.RouteTableIDs = reference.ToPtrValues(mrsp.ResolvedValues)
|
||||||
mg.Spec.ForProvider.RouteTableIDsRefs = mrsp.ResolvedReferences
|
mg.Spec.ForProvider.RouteTableIDsRefs = mrsp.ResolvedReferences
|
||||||
|
|
||||||
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
CurrentValue: ptr.Deref(mg.Spec.ForProvider.CustomConfiguration, ""),
|
CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.CustomConfiguration),
|
||||||
Extract: Configuration(),
|
Extract: Configuration(),
|
||||||
Reference: mg.Spec.ForProvider.CustomConfigurationRef,
|
Reference: mg.Spec.ForProvider.CustomConfigurationRef,
|
||||||
Selector: mg.Spec.ForProvider.CustomConfigurationSelector,
|
Selector: mg.Spec.ForProvider.CustomConfigurationSelector,
|
||||||
|
@ -298,9 +300,25 @@ func (mg *Model) ResolveReferences(ctx context.Context, c client.Reader) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "mg.Spec.ForProvider.CustomConfiguration")
|
return errors.Wrap(err, "mg.Spec.ForProvider.CustomConfiguration")
|
||||||
}
|
}
|
||||||
mg.Spec.ForProvider.CustomConfiguration = ptr.To(rsp.ResolvedValue)
|
mg.Spec.ForProvider.CustomConfiguration = reference.ToPtrValue(rsp.ResolvedValue)
|
||||||
mg.Spec.ForProvider.CustomConfigurationRef = rsp.ResolvedReference
|
mg.Spec.ForProvider.CustomConfigurationRef = rsp.ResolvedReference
|
||||||
|
|
||||||
|
rsp, err = r.Resolve(ctx, reference.ResolutionRequest{
|
||||||
|
CurrentValue: reference.FromFloatPtrValue(mg.Spec.ForProvider.Count),
|
||||||
|
Extract: Count(),
|
||||||
|
Reference: mg.Spec.ForProvider.CountRef,
|
||||||
|
Selector: mg.Spec.ForProvider.CountSelector,
|
||||||
|
To: reference.To{
|
||||||
|
List: &v1beta1.IAMList{},
|
||||||
|
Managed: &v1beta1.IAM{},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "mg.Spec.ForProvider.Count")
|
||||||
|
}
|
||||||
|
mg.Spec.ForProvider.Count = reference.ToFloatPtrValue(rsp.ResolvedValue)
|
||||||
|
mg.Spec.ForProvider.CountRef = rsp.ResolvedReference
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
@ -320,7 +338,7 @@ func TestNewResolveReferences(t *testing.T) {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
f := jen.NewFilePath("golang.org/fake/v1alpha1")
|
f := jen.NewFilePath("golang.org/fake/v1alpha1")
|
||||||
NewResolveReferences(xptypes.NewTraverser(comments.In(pkgs[0])), "mg", "example.org/client", "example.org/reference", "example.org/convert", "k8s.io/utils/ptr")(f, pkgs[0].Types.Scope().Lookup("Model"))
|
NewResolveReferences(xptypes.NewTraverser(comments.In(pkgs[0])), "mg", "example.org/client", "example.org/reference")(f, pkgs[0].Types.Scope().Lookup("Model"))
|
||||||
if diff := cmp.Diff(generated, fmt.Sprintf("%#v", f)); diff != "" {
|
if diff := cmp.Diff(generated, fmt.Sprintf("%#v", f)); diff != "" {
|
||||||
t.Errorf("NewResolveReferences(): -want, +got\n%s", diff)
|
t.Errorf("NewResolveReferences(): -want, +got\n%s", diff)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue