diff --git a/apis/alertsmanagement/v1beta1/zz_generated.deepcopy.go b/apis/alertsmanagement/v1beta1/zz_generated.deepcopy.go index 802605d17..71199f42f 100644 --- a/apis/alertsmanagement/v1beta1/zz_generated.deepcopy.go +++ b/apis/alertsmanagement/v1beta1/zz_generated.deepcopy.go @@ -2695,6 +2695,18 @@ func (in *MonitorActionRuleSuppressionScopeInitParameters) DeepCopyInto(out *Mon } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -2757,6 +2769,18 @@ func (in *MonitorActionRuleSuppressionScopeParameters) DeepCopyInto(out *Monitor } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -6897,6 +6921,18 @@ func (in *ScopeInitParameters) DeepCopyInto(out *ScopeInitParameters) { } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -6959,6 +6995,18 @@ func (in *ScopeParameters) DeepCopyInto(out *ScopeParameters) { } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/alertsmanagement/v1beta1/zz_generated.resolvers.go b/apis/alertsmanagement/v1beta1/zz_generated.resolvers.go index 4d86ab4c6..945ab4952 100644 --- a/apis/alertsmanagement/v1beta1/zz_generated.resolvers.go +++ b/apis/alertsmanagement/v1beta1/zz_generated.resolvers.go @@ -25,6 +25,7 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorActionGroup", "MonitorActionGroupList") @@ -64,12 +65,33 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Scope); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Scope[i3].ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Scope[i3].ResourceIdsRefs, + Selector: mg.Spec.ForProvider.Scope[i3].ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Scope[i3].ResourceIds") + } + mg.Spec.ForProvider.Scope[i3].ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Scope[i3].ResourceIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorActionGroup", "MonitorActionGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ActionGroupID), Extract: resource.ExtractResourceID(), @@ -84,6 +106,28 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences mg.Spec.InitProvider.ActionGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.ActionGroupIDRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.Scope); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scope[i3].ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Scope[i3].ResourceIdsRefs, + Selector: mg.Spec.InitProvider.Scope[i3].ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Scope[i3].ResourceIds") + } + mg.Spec.InitProvider.Scope[i3].ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Scope[i3].ResourceIdsRefs = mrsp.ResolvedReferences + + } + return nil } @@ -94,6 +138,7 @@ func (mg *MonitorActionRuleSuppression) ResolveReferences(ctx context.Context, c r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") @@ -115,6 +160,49 @@ func (mg *MonitorActionRuleSuppression) ResolveReferences(ctx context.Context, c mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.ForProvider.Scope); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Scope[i3].ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Scope[i3].ResourceIdsRefs, + Selector: mg.Spec.ForProvider.Scope[i3].ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Scope[i3].ResourceIds") + } + mg.Spec.ForProvider.Scope[i3].ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Scope[i3].ResourceIdsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Scope); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scope[i3].ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Scope[i3].ResourceIdsRefs, + Selector: mg.Spec.InitProvider.Scope[i3].ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Scope[i3].ResourceIds") + } + mg.Spec.InitProvider.Scope[i3].ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Scope[i3].ResourceIdsRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/apis/alertsmanagement/v1beta1/zz_monitoractionruleactiongroup_types.go b/apis/alertsmanagement/v1beta1/zz_monitoractionruleactiongroup_types.go index bfca10480..a1526d089 100755 --- a/apis/alertsmanagement/v1beta1/zz_monitoractionruleactiongroup_types.go +++ b/apis/alertsmanagement/v1beta1/zz_monitoractionruleactiongroup_types.go @@ -366,9 +366,19 @@ type MonitorServiceParameters struct { type ScopeInitParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` + // Specifies the type of target scope. Possible values are ResourceGroup and Resource. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -386,9 +396,19 @@ type ScopeObservation struct { type ScopeParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - ResourceIds []*string `json:"resourceIds" tf:"resource_ids,omitempty"` + ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` // Specifies the type of target scope. Possible values are ResourceGroup and Resource. // +kubebuilder:validation:Optional diff --git a/apis/alertsmanagement/v1beta1/zz_monitoractionrulesuppression_types.go b/apis/alertsmanagement/v1beta1/zz_monitoractionrulesuppression_types.go index 5315da12a..b58a3d317 100755 --- a/apis/alertsmanagement/v1beta1/zz_monitoractionrulesuppression_types.go +++ b/apis/alertsmanagement/v1beta1/zz_monitoractionrulesuppression_types.go @@ -410,9 +410,19 @@ type MonitorActionRuleSuppressionParameters struct { type MonitorActionRuleSuppressionScopeInitParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` + // Specifies the type of target scope. Possible values are ResourceGroup and Resource. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -430,9 +440,19 @@ type MonitorActionRuleSuppressionScopeObservation struct { type MonitorActionRuleSuppressionScopeParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - ResourceIds []*string `json:"resourceIds" tf:"resource_ids,omitempty"` + ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` // Specifies the type of target scope. Possible values are ResourceGroup and Resource. // +kubebuilder:validation:Optional diff --git a/apis/alertsmanagement/v1beta2/zz_generated.deepcopy.go b/apis/alertsmanagement/v1beta2/zz_generated.deepcopy.go index 1bb1438be..1bcd4d6ba 100644 --- a/apis/alertsmanagement/v1beta2/zz_generated.deepcopy.go +++ b/apis/alertsmanagement/v1beta2/zz_generated.deepcopy.go @@ -2581,6 +2581,18 @@ func (in *MonitorActionRuleSuppressionScopeInitParameters) DeepCopyInto(out *Mon } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -2643,6 +2655,18 @@ func (in *MonitorActionRuleSuppressionScopeParameters) DeepCopyInto(out *Monitor } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -6609,6 +6633,18 @@ func (in *ScopeInitParameters) DeepCopyInto(out *ScopeInitParameters) { } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -6671,6 +6707,18 @@ func (in *ScopeParameters) DeepCopyInto(out *ScopeParameters) { } } } + if in.ResourceIdsRefs != nil { + in, out := &in.ResourceIdsRefs, &out.ResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceIdsSelector != nil { + in, out := &in.ResourceIdsSelector, &out.ResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/alertsmanagement/v1beta2/zz_generated.resolvers.go b/apis/alertsmanagement/v1beta2/zz_generated.resolvers.go index 10a5cbd2b..5155d8645 100644 --- a/apis/alertsmanagement/v1beta2/zz_generated.resolvers.go +++ b/apis/alertsmanagement/v1beta2/zz_generated.resolvers.go @@ -25,6 +25,7 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") @@ -64,12 +65,33 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + + if mg.Spec.ForProvider.Scope != nil { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Scope.ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Scope.ResourceIdsRefs, + Selector: mg.Spec.ForProvider.Scope.ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Scope.ResourceIds") + } + mg.Spec.ForProvider.Scope.ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Scope.ResourceIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ActionGroupID), Extract: resource.ExtractResourceID(), @@ -84,6 +106,28 @@ func (mg *MonitorActionRuleActionGroup) ResolveReferences( // ResolveReferences mg.Spec.InitProvider.ActionGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.ActionGroupIDRef = rsp.ResolvedReference + if mg.Spec.InitProvider.Scope != nil { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scope.ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Scope.ResourceIdsRefs, + Selector: mg.Spec.InitProvider.Scope.ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Scope.ResourceIds") + } + mg.Spec.InitProvider.Scope.ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Scope.ResourceIdsRefs = mrsp.ResolvedReferences + + } + return nil } @@ -94,6 +138,7 @@ func (mg *MonitorActionRuleSuppression) ResolveReferences(ctx context.Context, c r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") @@ -115,6 +160,49 @@ func (mg *MonitorActionRuleSuppression) ResolveReferences(ctx context.Context, c mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + if mg.Spec.ForProvider.Scope != nil { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Scope.ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Scope.ResourceIdsRefs, + Selector: mg.Spec.ForProvider.Scope.ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Scope.ResourceIds") + } + mg.Spec.ForProvider.Scope.ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Scope.ResourceIdsRefs = mrsp.ResolvedReferences + + } + if mg.Spec.InitProvider.Scope != nil { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scope.ResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Scope.ResourceIdsRefs, + Selector: mg.Spec.InitProvider.Scope.ResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Scope.ResourceIds") + } + mg.Spec.InitProvider.Scope.ResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Scope.ResourceIdsRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/apis/alertsmanagement/v1beta2/zz_monitoractionruleactiongroup_types.go b/apis/alertsmanagement/v1beta2/zz_monitoractionruleactiongroup_types.go index fb6406f3d..f28e1588b 100755 --- a/apis/alertsmanagement/v1beta2/zz_monitoractionruleactiongroup_types.go +++ b/apis/alertsmanagement/v1beta2/zz_monitoractionruleactiongroup_types.go @@ -366,9 +366,19 @@ type MonitorServiceParameters struct { type ScopeInitParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` + // Specifies the type of target scope. Possible values are ResourceGroup and Resource. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -386,9 +396,19 @@ type ScopeObservation struct { type ScopeParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - ResourceIds []*string `json:"resourceIds" tf:"resource_ids,omitempty"` + ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` // Specifies the type of target scope. Possible values are ResourceGroup and Resource. // +kubebuilder:validation:Optional diff --git a/apis/alertsmanagement/v1beta2/zz_monitoractionrulesuppression_types.go b/apis/alertsmanagement/v1beta2/zz_monitoractionrulesuppression_types.go index f91319bf2..828c2eee8 100755 --- a/apis/alertsmanagement/v1beta2/zz_monitoractionrulesuppression_types.go +++ b/apis/alertsmanagement/v1beta2/zz_monitoractionrulesuppression_types.go @@ -410,9 +410,19 @@ type MonitorActionRuleSuppressionParameters struct { type MonitorActionRuleSuppressionScopeInitParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` + // Specifies the type of target scope. Possible values are ResourceGroup and Resource. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -430,9 +440,19 @@ type MonitorActionRuleSuppressionScopeObservation struct { type MonitorActionRuleSuppressionScopeParameters struct { // A list of resource IDs of the given scope type which will be the target of action rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - ResourceIds []*string `json:"resourceIds" tf:"resource_ids,omitempty"` + ResourceIds []*string `json:"resourceIds,omitempty" tf:"resource_ids,omitempty"` + + // References to ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsRefs []v1.Reference `json:"resourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate resourceIds. + // +kubebuilder:validation:Optional + ResourceIdsSelector *v1.Selector `json:"resourceIdsSelector,omitempty" tf:"-"` // Specifies the type of target scope. Possible values are ResourceGroup and Resource. // +kubebuilder:validation:Optional diff --git a/apis/appconfiguration/v1beta1/zz_configuration_types.go b/apis/appconfiguration/v1beta1/zz_configuration_types.go index bd92981d9..ad9c07498 100755 --- a/apis/appconfiguration/v1beta1/zz_configuration_types.go +++ b/apis/appconfiguration/v1beta1/zz_configuration_types.go @@ -231,9 +231,19 @@ type EncryptionParameters struct { type IdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this App Configuration. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -257,10 +267,20 @@ type IdentityObservation struct { type IdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this App Configuration. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/appconfiguration/v1beta1/zz_generated.deepcopy.go b/apis/appconfiguration/v1beta1/zz_generated.deepcopy.go index b70580d05..63d9ad141 100644 --- a/apis/appconfiguration/v1beta1/zz_generated.deepcopy.go +++ b/apis/appconfiguration/v1beta1/zz_generated.deepcopy.go @@ -540,6 +540,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -612,6 +624,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/appconfiguration/v1beta1/zz_generated.resolvers.go b/apis/appconfiguration/v1beta1/zz_generated.resolvers.go index 070a9e1d0..09444dd84 100644 --- a/apis/appconfiguration/v1beta1/zz_generated.resolvers.go +++ b/apis/appconfiguration/v1beta1/zz_generated.resolvers.go @@ -24,6 +24,7 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error for i3 := 0; i3 < len(mg.Spec.ForProvider.Encryption); i3++ { @@ -67,6 +68,27 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu mg.Spec.ForProvider.Encryption[i3].KeyVaultKeyIdentifier = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption[i3].KeyVaultKeyIdentifierRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") @@ -128,6 +150,27 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu mg.Spec.InitProvider.Encryption[i3].KeyVaultKeyIdentifier = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption[i3].KeyVaultKeyIdentifierRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } return nil diff --git a/apis/appconfiguration/v1beta2/zz_configuration_types.go b/apis/appconfiguration/v1beta2/zz_configuration_types.go index deea91497..55e5ffe46 100755 --- a/apis/appconfiguration/v1beta2/zz_configuration_types.go +++ b/apis/appconfiguration/v1beta2/zz_configuration_types.go @@ -231,9 +231,19 @@ type EncryptionParameters struct { type IdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this App Configuration. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -257,10 +267,20 @@ type IdentityObservation struct { type IdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this App Configuration. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/appconfiguration/v1beta2/zz_generated.deepcopy.go b/apis/appconfiguration/v1beta2/zz_generated.deepcopy.go index 7237d94ec..66aaeb222 100644 --- a/apis/appconfiguration/v1beta2/zz_generated.deepcopy.go +++ b/apis/appconfiguration/v1beta2/zz_generated.deepcopy.go @@ -528,6 +528,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -600,6 +612,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/appconfiguration/v1beta2/zz_generated.resolvers.go b/apis/appconfiguration/v1beta2/zz_generated.resolvers.go index 3b1e37932..a17669890 100644 --- a/apis/appconfiguration/v1beta2/zz_generated.resolvers.go +++ b/apis/appconfiguration/v1beta2/zz_generated.resolvers.go @@ -24,6 +24,7 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error if mg.Spec.ForProvider.Encryption != nil { @@ -67,6 +68,27 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu mg.Spec.ForProvider.Encryption.KeyVaultKeyIdentifier = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption.KeyVaultKeyIdentifierRef = rsp.ResolvedReference + } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") @@ -128,6 +150,27 @@ func (mg *Configuration) ResolveReferences( // ResolveReferences of this Configu mg.Spec.InitProvider.Encryption.KeyVaultKeyIdentifier = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption.KeyVaultKeyIdentifierRef = rsp.ResolvedReference + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } return nil diff --git a/apis/consumption/v1beta1/zz_budgetmanagementgroup_types.go b/apis/consumption/v1beta1/zz_budgetmanagementgroup_types.go index 4ac6d770c..a761d9a0f 100755 --- a/apis/consumption/v1beta1/zz_budgetmanagementgroup_types.go +++ b/apis/consumption/v1beta1/zz_budgetmanagementgroup_types.go @@ -134,7 +134,16 @@ type DimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type DimensionObservation struct { @@ -160,8 +169,17 @@ type DimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterInitParameters struct { diff --git a/apis/consumption/v1beta1/zz_budgetresourcegroup_types.go b/apis/consumption/v1beta1/zz_budgetresourcegroup_types.go index 359351583..448a7ed22 100755 --- a/apis/consumption/v1beta1/zz_budgetresourcegroup_types.go +++ b/apis/consumption/v1beta1/zz_budgetresourcegroup_types.go @@ -134,8 +134,18 @@ type BudgetResourceGroupNotificationInitParameters struct { ContactEmails []*string `json:"contactEmails,omitempty" tf:"contact_emails,omitempty"` // Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() ContactGroups []*string `json:"contactGroups,omitempty" tf:"contact_groups,omitempty"` + // References to MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsRefs []v1.Reference `json:"contactGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsSelector *v1.Selector `json:"contactGroupsSelector,omitempty" tf:"-"` + // Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. ContactRoles []*string `json:"contactRoles,omitempty" tf:"contact_roles,omitempty"` @@ -183,9 +193,19 @@ type BudgetResourceGroupNotificationParameters struct { ContactEmails []*string `json:"contactEmails,omitempty" tf:"contact_emails,omitempty"` // Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional ContactGroups []*string `json:"contactGroups,omitempty" tf:"contact_groups,omitempty"` + // References to MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsRefs []v1.Reference `json:"contactGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsSelector *v1.Selector `json:"contactGroupsSelector,omitempty" tf:"-"` + // Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. // +kubebuilder:validation:Optional ContactRoles []*string `json:"contactRoles,omitempty" tf:"contact_roles,omitempty"` @@ -320,7 +340,17 @@ type FilterDimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterDimensionObservation struct { @@ -346,8 +376,18 @@ type FilterDimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterNotDimensionInitParameters struct { diff --git a/apis/consumption/v1beta1/zz_budgetsubscription_types.go b/apis/consumption/v1beta1/zz_budgetsubscription_types.go index 69267155d..b39864fae 100755 --- a/apis/consumption/v1beta1/zz_budgetsubscription_types.go +++ b/apis/consumption/v1beta1/zz_budgetsubscription_types.go @@ -22,7 +22,16 @@ type BudgetSubscriptionFilterDimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type BudgetSubscriptionFilterDimensionObservation struct { @@ -48,8 +57,17 @@ type BudgetSubscriptionFilterDimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type BudgetSubscriptionFilterInitParameters struct { diff --git a/apis/consumption/v1beta1/zz_generated.deepcopy.go b/apis/consumption/v1beta1/zz_generated.deepcopy.go index 9564b4c44..2ca598989 100644 --- a/apis/consumption/v1beta1/zz_generated.deepcopy.go +++ b/apis/consumption/v1beta1/zz_generated.deepcopy.go @@ -686,6 +686,18 @@ func (in *BudgetResourceGroupNotificationInitParameters) DeepCopyInto(out *Budge } } } + if in.ContactGroupsRefs != nil { + in, out := &in.ContactGroupsRefs, &out.ContactGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContactGroupsSelector != nil { + in, out := &in.ContactGroupsSelector, &out.ContactGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ContactRoles != nil { in, out := &in.ContactRoles, &out.ContactRoles *out = make([]*string, len(*in)) @@ -822,6 +834,18 @@ func (in *BudgetResourceGroupNotificationParameters) DeepCopyInto(out *BudgetRes } } } + if in.ContactGroupsRefs != nil { + in, out := &in.ContactGroupsRefs, &out.ContactGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContactGroupsSelector != nil { + in, out := &in.ContactGroupsSelector, &out.ContactGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ContactRoles != nil { in, out := &in.ContactRoles, &out.ContactRoles *out = make([]*string, len(*in)) @@ -1163,6 +1187,18 @@ func (in *BudgetSubscriptionFilterDimensionInitParameters) DeepCopyInto(out *Bud } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetSubscriptionFilterDimensionInitParameters. @@ -1235,6 +1271,18 @@ func (in *BudgetSubscriptionFilterDimensionParameters) DeepCopyInto(out *BudgetS } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetSubscriptionFilterDimensionParameters. @@ -2225,6 +2273,18 @@ func (in *DimensionInitParameters) DeepCopyInto(out *DimensionInitParameters) { } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DimensionInitParameters. @@ -2297,6 +2357,18 @@ func (in *DimensionParameters) DeepCopyInto(out *DimensionParameters) { } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DimensionParameters. @@ -2333,6 +2405,18 @@ func (in *FilterDimensionInitParameters) DeepCopyInto(out *FilterDimensionInitPa } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDimensionInitParameters. @@ -2405,6 +2489,18 @@ func (in *FilterDimensionParameters) DeepCopyInto(out *FilterDimensionParameters } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDimensionParameters. diff --git a/apis/consumption/v1beta1/zz_generated.resolvers.go b/apis/consumption/v1beta1/zz_generated.resolvers.go index ddbf34be4..e8fe4425a 100644 --- a/apis/consumption/v1beta1/zz_generated.resolvers.go +++ b/apis/consumption/v1beta1/zz_generated.resolvers.go @@ -25,13 +25,37 @@ func (mg *BudgetManagementGroup) ResolveReferences( // ResolveReferences of this r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } { m, l, err = apisresolver.GetManagedResource("management.azure.upbound.io", "v1beta1", "ManagementGroup", "ManagementGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ManagementGroupID), Extract: resource.ExtractResourceID(), @@ -45,12 +69,35 @@ func (mg *BudgetManagementGroup) ResolveReferences( // ResolveReferences of this } mg.Spec.ForProvider.ManagementGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ManagementGroupIDRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } { m, l, err = apisresolver.GetManagedResource("management.azure.upbound.io", "v1beta1", "ManagementGroup", "ManagementGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ManagementGroupID), Extract: resource.ExtractResourceID(), @@ -75,13 +122,58 @@ func (mg *BudgetResourceGroup) ResolveReferences(ctx context.Context, c client.R r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Notification); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Notification[i3].ContactGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs, + Selector: mg.Spec.ForProvider.Notification[i3].ContactGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Notification[i3].ContactGroups") + } + mg.Spec.ForProvider.Notification[i3].ContactGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupID), Extract: resource.ExtractResourceID(), @@ -95,12 +187,56 @@ func (mg *BudgetResourceGroup) ResolveReferences(ctx context.Context, c client.R } mg.Spec.ForProvider.ResourceGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupIDRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Notification); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Notification[i3].ContactGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Notification[i3].ContactGroupsRefs, + Selector: mg.Spec.InitProvider.Notification[i3].ContactGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Notification[i3].ContactGroups") + } + mg.Spec.InitProvider.Notification[i3].ContactGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ResourceGroupID), Extract: resource.ExtractResourceID(), @@ -127,6 +263,29 @@ func (mg *BudgetSubscription) ResolveReferences(ctx context.Context, c client.Re var mrsp reference.MultiResolutionResponse var err error + for i3 := 0; i3 < len(mg.Spec.ForProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } for i3 := 0; i3 < len(mg.Spec.ForProvider.Notification); i3++ { { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorActionGroup", "MonitorActionGroupList") @@ -148,6 +307,29 @@ func (mg *BudgetSubscription) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Filter); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter[i3].Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter[i3].Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter[i3].Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } for i3 := 0; i3 < len(mg.Spec.InitProvider.Notification); i3++ { { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorActionGroup", "MonitorActionGroupList") diff --git a/apis/consumption/v1beta2/zz_budgetmanagementgroup_types.go b/apis/consumption/v1beta2/zz_budgetmanagementgroup_types.go index 60bbeb8d2..3994c59cf 100755 --- a/apis/consumption/v1beta2/zz_budgetmanagementgroup_types.go +++ b/apis/consumption/v1beta2/zz_budgetmanagementgroup_types.go @@ -134,7 +134,16 @@ type DimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type DimensionObservation struct { @@ -160,8 +169,17 @@ type DimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterInitParameters struct { diff --git a/apis/consumption/v1beta2/zz_budgetresourcegroup_types.go b/apis/consumption/v1beta2/zz_budgetresourcegroup_types.go index b3b3d0e01..c07ff7e13 100755 --- a/apis/consumption/v1beta2/zz_budgetresourcegroup_types.go +++ b/apis/consumption/v1beta2/zz_budgetresourcegroup_types.go @@ -134,8 +134,18 @@ type BudgetResourceGroupNotificationInitParameters struct { ContactEmails []*string `json:"contactEmails,omitempty" tf:"contact_emails,omitempty"` // Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() ContactGroups []*string `json:"contactGroups,omitempty" tf:"contact_groups,omitempty"` + // References to MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsRefs []v1.Reference `json:"contactGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsSelector *v1.Selector `json:"contactGroupsSelector,omitempty" tf:"-"` + // Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. ContactRoles []*string `json:"contactRoles,omitempty" tf:"contact_roles,omitempty"` @@ -183,9 +193,19 @@ type BudgetResourceGroupNotificationParameters struct { ContactEmails []*string `json:"contactEmails,omitempty" tf:"contact_emails,omitempty"` // Specifies a list of Action Group IDs to send the budget notification to when the threshold is exceeded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional ContactGroups []*string `json:"contactGroups,omitempty" tf:"contact_groups,omitempty"` + // References to MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsRefs []v1.Reference `json:"contactGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate contactGroups. + // +kubebuilder:validation:Optional + ContactGroupsSelector *v1.Selector `json:"contactGroupsSelector,omitempty" tf:"-"` + // Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. // +kubebuilder:validation:Optional ContactRoles []*string `json:"contactRoles,omitempty" tf:"contact_roles,omitempty"` @@ -320,7 +340,17 @@ type FilterDimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterDimensionObservation struct { @@ -346,8 +376,18 @@ type FilterDimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type FilterNotDimensionInitParameters struct { diff --git a/apis/consumption/v1beta2/zz_budgetsubscription_types.go b/apis/consumption/v1beta2/zz_budgetsubscription_types.go index 6b499881a..fc4698f15 100755 --- a/apis/consumption/v1beta2/zz_budgetsubscription_types.go +++ b/apis/consumption/v1beta2/zz_budgetsubscription_types.go @@ -22,7 +22,16 @@ type BudgetSubscriptionFilterDimensionInitParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type BudgetSubscriptionFilterDimensionObservation struct { @@ -48,8 +57,17 @@ type BudgetSubscriptionFilterDimensionParameters struct { Operator *string `json:"operator,omitempty" tf:"operator,omitempty"` // Specifies a list of values for the tag. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup // +kubebuilder:validation:Optional - Values []*string `json:"values" tf:"values,omitempty"` + Values []*string `json:"values,omitempty" tf:"values,omitempty"` + + // References to ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesRefs []v1.Reference `json:"valuesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate values. + // +kubebuilder:validation:Optional + ValuesSelector *v1.Selector `json:"valuesSelector,omitempty" tf:"-"` } type BudgetSubscriptionFilterInitParameters struct { diff --git a/apis/consumption/v1beta2/zz_generated.deepcopy.go b/apis/consumption/v1beta2/zz_generated.deepcopy.go index e4cf75baf..0e5980a76 100644 --- a/apis/consumption/v1beta2/zz_generated.deepcopy.go +++ b/apis/consumption/v1beta2/zz_generated.deepcopy.go @@ -664,6 +664,18 @@ func (in *BudgetResourceGroupNotificationInitParameters) DeepCopyInto(out *Budge } } } + if in.ContactGroupsRefs != nil { + in, out := &in.ContactGroupsRefs, &out.ContactGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContactGroupsSelector != nil { + in, out := &in.ContactGroupsSelector, &out.ContactGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ContactRoles != nil { in, out := &in.ContactRoles, &out.ContactRoles *out = make([]*string, len(*in)) @@ -800,6 +812,18 @@ func (in *BudgetResourceGroupNotificationParameters) DeepCopyInto(out *BudgetRes } } } + if in.ContactGroupsRefs != nil { + in, out := &in.ContactGroupsRefs, &out.ContactGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContactGroupsSelector != nil { + in, out := &in.ContactGroupsSelector, &out.ContactGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ContactRoles != nil { in, out := &in.ContactRoles, &out.ContactRoles *out = make([]*string, len(*in)) @@ -1133,6 +1157,18 @@ func (in *BudgetSubscriptionFilterDimensionInitParameters) DeepCopyInto(out *Bud } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetSubscriptionFilterDimensionInitParameters. @@ -1205,6 +1241,18 @@ func (in *BudgetSubscriptionFilterDimensionParameters) DeepCopyInto(out *BudgetS } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetSubscriptionFilterDimensionParameters. @@ -2165,6 +2213,18 @@ func (in *DimensionInitParameters) DeepCopyInto(out *DimensionInitParameters) { } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DimensionInitParameters. @@ -2237,6 +2297,18 @@ func (in *DimensionParameters) DeepCopyInto(out *DimensionParameters) { } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DimensionParameters. @@ -2273,6 +2345,18 @@ func (in *FilterDimensionInitParameters) DeepCopyInto(out *FilterDimensionInitPa } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDimensionInitParameters. @@ -2345,6 +2429,18 @@ func (in *FilterDimensionParameters) DeepCopyInto(out *FilterDimensionParameters } } } + if in.ValuesRefs != nil { + in, out := &in.ValuesRefs, &out.ValuesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ValuesSelector != nil { + in, out := &in.ValuesSelector, &out.ValuesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDimensionParameters. diff --git a/apis/consumption/v1beta2/zz_generated.resolvers.go b/apis/consumption/v1beta2/zz_generated.resolvers.go index a1a10b696..976592e28 100644 --- a/apis/consumption/v1beta2/zz_generated.resolvers.go +++ b/apis/consumption/v1beta2/zz_generated.resolvers.go @@ -25,13 +25,37 @@ func (mg *BudgetManagementGroup) ResolveReferences( // ResolveReferences of this r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter.Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter.Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } { m, l, err = apisresolver.GetManagedResource("management.azure.upbound.io", "v1beta1", "ManagementGroup", "ManagementGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ManagementGroupID), Extract: resource.ExtractResourceID(), @@ -45,12 +69,35 @@ func (mg *BudgetManagementGroup) ResolveReferences( // ResolveReferences of this } mg.Spec.ForProvider.ManagementGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ManagementGroupIDRef = rsp.ResolvedReference + + if mg.Spec.InitProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter.Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter.Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } { m, l, err = apisresolver.GetManagedResource("management.azure.upbound.io", "v1beta1", "ManagementGroup", "ManagementGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ManagementGroupID), Extract: resource.ExtractResourceID(), @@ -75,13 +122,58 @@ func (mg *BudgetResourceGroup) ResolveReferences(ctx context.Context, c client.R r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter.Dimension[i4].Values), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter.Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Notification); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Notification[i3].ContactGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs, + Selector: mg.Spec.ForProvider.Notification[i3].ContactGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Notification[i3].ContactGroups") + } + mg.Spec.ForProvider.Notification[i3].ContactGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupID), Extract: resource.ExtractResourceID(), @@ -95,12 +187,56 @@ func (mg *BudgetResourceGroup) ResolveReferences(ctx context.Context, c client.R } mg.Spec.ForProvider.ResourceGroupID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupIDRef = rsp.ResolvedReference + + if mg.Spec.InitProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter.Dimension[i4].Values), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter.Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Notification); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Notification[i3].ContactGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Notification[i3].ContactGroupsRefs, + Selector: mg.Spec.InitProvider.Notification[i3].ContactGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Notification[i3].ContactGroups") + } + mg.Spec.InitProvider.Notification[i3].ContactGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ResourceGroupID), Extract: resource.ExtractResourceID(), @@ -127,6 +263,29 @@ func (mg *BudgetSubscription) ResolveReferences(ctx context.Context, c client.Re var mrsp reference.MultiResolutionResponse var err error + if mg.Spec.ForProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Filter.Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.ForProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Filter.Dimension[i4].Values") + } + mg.Spec.ForProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } for i3 := 0; i3 < len(mg.Spec.ForProvider.Notification); i3++ { { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") @@ -148,6 +307,29 @@ func (mg *BudgetSubscription) ResolveReferences(ctx context.Context, c client.Re mg.Spec.ForProvider.Notification[i3].ContactGroupsRefs = mrsp.ResolvedReferences } + if mg.Spec.InitProvider.Filter != nil { + for i4 := 0; i4 < len(mg.Spec.InitProvider.Filter.Dimension); i4++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Filter.Dimension[i4].Values), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs, + Selector: mg.Spec.InitProvider.Filter.Dimension[i4].ValuesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Filter.Dimension[i4].Values") + } + mg.Spec.InitProvider.Filter.Dimension[i4].Values = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Filter.Dimension[i4].ValuesRefs = mrsp.ResolvedReferences + + } + } for i3 := 0; i3 < len(mg.Spec.InitProvider.Notification); i3++ { { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") diff --git a/apis/containerregistry/v1beta1/zz_generated.deepcopy.go b/apis/containerregistry/v1beta1/zz_generated.deepcopy.go index 31e20ebb8..cfbf4619d 100644 --- a/apis/containerregistry/v1beta1/zz_generated.deepcopy.go +++ b/apis/containerregistry/v1beta1/zz_generated.deepcopy.go @@ -1035,6 +1035,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -1107,6 +1119,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/containerregistry/v1beta1/zz_generated.resolvers.go b/apis/containerregistry/v1beta1/zz_generated.resolvers.go index a88474b9b..ac2f70e36 100644 --- a/apis/containerregistry/v1beta1/zz_generated.resolvers.go +++ b/apis/containerregistry/v1beta1/zz_generated.resolvers.go @@ -201,6 +201,7 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error for i3 := 0; i3 < len(mg.Spec.ForProvider.Encryption); i3++ { @@ -223,6 +224,27 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.Encryption[i3].IdentityClientID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption[i3].IdentityClientIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } for i3 := 0; i3 < len(mg.Spec.ForProvider.NetworkRuleSet); i3++ { for i4 := 0; i4 < len(mg.Spec.ForProvider.NetworkRuleSet[i3].VirtualNetwork); i4++ { @@ -286,6 +308,27 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.InitProvider.Encryption[i3].IdentityClientID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption[i3].IdentityClientIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkRuleSet); i3++ { for i4 := 0; i4 < len(mg.Spec.InitProvider.NetworkRuleSet[i3].VirtualNetwork); i4++ { diff --git a/apis/containerregistry/v1beta1/zz_registry_types.go b/apis/containerregistry/v1beta1/zz_registry_types.go index a0f7ba7f3..c3d0316ce 100755 --- a/apis/containerregistry/v1beta1/zz_registry_types.go +++ b/apis/containerregistry/v1beta1/zz_registry_types.go @@ -156,9 +156,19 @@ type IPRuleParameters struct { type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -182,10 +192,20 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/containerregistry/v1beta2/zz_generated.deepcopy.go b/apis/containerregistry/v1beta2/zz_generated.deepcopy.go index a4ca98171..21535d2b5 100644 --- a/apis/containerregistry/v1beta2/zz_generated.deepcopy.go +++ b/apis/containerregistry/v1beta2/zz_generated.deepcopy.go @@ -350,6 +350,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -422,6 +434,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/containerregistry/v1beta2/zz_generated.resolvers.go b/apis/containerregistry/v1beta2/zz_generated.resolvers.go index eab645c27..f84d5b316 100644 --- a/apis/containerregistry/v1beta2/zz_generated.resolvers.go +++ b/apis/containerregistry/v1beta2/zz_generated.resolvers.go @@ -26,6 +26,7 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error if mg.Spec.ForProvider.Encryption != nil { @@ -48,6 +49,27 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.Encryption.IdentityClientID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption.IdentityClientIDRef = rsp.ResolvedReference + } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } if mg.Spec.ForProvider.NetworkRuleSet != nil { for i4 := 0; i4 < len(mg.Spec.ForProvider.NetworkRuleSet.VirtualNetwork); i4++ { @@ -111,6 +133,27 @@ func (mg *Registry) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.InitProvider.Encryption.IdentityClientID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption.IdentityClientIDRef = rsp.ResolvedReference + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } if mg.Spec.InitProvider.NetworkRuleSet != nil { for i4 := 0; i4 < len(mg.Spec.InitProvider.NetworkRuleSet.VirtualNetwork); i4++ { diff --git a/apis/containerregistry/v1beta2/zz_registry_types.go b/apis/containerregistry/v1beta2/zz_registry_types.go index c98fbb378..7079f0d1f 100755 --- a/apis/containerregistry/v1beta2/zz_registry_types.go +++ b/apis/containerregistry/v1beta2/zz_registry_types.go @@ -156,9 +156,19 @@ type IPRuleParameters struct { type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -182,10 +192,20 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Container Registry. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cosmosdb/v1beta1/zz_account_types.go b/apis/cosmosdb/v1beta1/zz_account_types.go index 4784af966..fdad5d540 100755 --- a/apis/cosmosdb/v1beta1/zz_account_types.go +++ b/apis/cosmosdb/v1beta1/zz_account_types.go @@ -723,9 +723,19 @@ type GremlinDatabaseParameters struct { type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cosmos Account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The Type of Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -749,10 +759,20 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cosmos Account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The Type of Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cosmosdb/v1beta1/zz_generated.deepcopy.go b/apis/cosmosdb/v1beta1/zz_generated.deepcopy.go index 9250c2137..59a6f5e3a 100644 --- a/apis/cosmosdb/v1beta1/zz_generated.deepcopy.go +++ b/apis/cosmosdb/v1beta1/zz_generated.deepcopy.go @@ -4310,6 +4310,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -4382,6 +4394,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/cosmosdb/v1beta1/zz_generated.resolvers.go b/apis/cosmosdb/v1beta1/zz_generated.resolvers.go index c81b03444..8641bf187 100644 --- a/apis/cosmosdb/v1beta1/zz_generated.resolvers.go +++ b/apis/cosmosdb/v1beta1/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -67,6 +89,27 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Restore[i3].SourceCosmosDBAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Restore[i3].SourceCosmosDBAccountIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } for i3 := 0; i3 < len(mg.Spec.InitProvider.Restore); i3++ { { diff --git a/apis/cosmosdb/v1beta2/zz_account_types.go b/apis/cosmosdb/v1beta2/zz_account_types.go index 38c5b41d9..906c3dc9c 100755 --- a/apis/cosmosdb/v1beta2/zz_account_types.go +++ b/apis/cosmosdb/v1beta2/zz_account_types.go @@ -714,9 +714,19 @@ type GremlinDatabaseParameters struct { type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cosmos Account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The Type of Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -740,10 +750,20 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Cosmos Account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The Type of Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/cosmosdb/v1beta2/zz_generated.deepcopy.go b/apis/cosmosdb/v1beta2/zz_generated.deepcopy.go index 8ad12d8e4..73c24c6ce 100644 --- a/apis/cosmosdb/v1beta2/zz_generated.deepcopy.go +++ b/apis/cosmosdb/v1beta2/zz_generated.deepcopy.go @@ -3876,6 +3876,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -3948,6 +3960,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/cosmosdb/v1beta2/zz_generated.resolvers.go b/apis/cosmosdb/v1beta2/zz_generated.resolvers.go index 21c4a4f22..814f52bc1 100644 --- a/apis/cosmosdb/v1beta2/zz_generated.resolvers.go +++ b/apis/cosmosdb/v1beta2/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -67,6 +89,27 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.Restore.SourceCosmosDBAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Restore.SourceCosmosDBAccountIDRef = rsp.ResolvedReference + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } if mg.Spec.InitProvider.Restore != nil { { diff --git a/apis/devices/v1beta1/zz_generated.deepcopy.go b/apis/devices/v1beta1/zz_generated.deepcopy.go index 43fd29c63..10aa8b445 100644 --- a/apis/devices/v1beta1/zz_generated.deepcopy.go +++ b/apis/devices/v1beta1/zz_generated.deepcopy.go @@ -3126,6 +3126,18 @@ func (in *IOTHubEnrichmentInitParameters) DeepCopyInto(out *IOTHubEnrichmentInit } } } + if in.EndpointNamesRefs != nil { + in, out := &in.EndpointNamesRefs, &out.EndpointNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointNamesSelector != nil { + in, out := &in.EndpointNamesSelector, &out.EndpointNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IOTHubName != nil { in, out := &in.IOTHubName, &out.IOTHubName *out = new(string) @@ -3275,6 +3287,18 @@ func (in *IOTHubEnrichmentParameters) DeepCopyInto(out *IOTHubEnrichmentParamete } } } + if in.EndpointNamesRefs != nil { + in, out := &in.EndpointNamesRefs, &out.EndpointNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointNamesSelector != nil { + in, out := &in.EndpointNamesSelector, &out.EndpointNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IOTHubName != nil { in, out := &in.IOTHubName, &out.IOTHubName *out = new(string) @@ -4114,6 +4138,18 @@ func (in *IOTHubRouteInitParameters) DeepCopyInto(out *IOTHubRouteInitParameters } } } + if in.EndpointNamesRefs != nil { + in, out := &in.EndpointNamesRefs, &out.EndpointNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointNamesSelector != nil { + in, out := &in.EndpointNamesSelector, &out.EndpointNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Source != nil { in, out := &in.Source, &out.Source *out = new(string) @@ -4243,6 +4279,18 @@ func (in *IOTHubRouteParameters) DeepCopyInto(out *IOTHubRouteParameters) { } } } + if in.EndpointNamesRefs != nil { + in, out := &in.EndpointNamesRefs, &out.EndpointNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointNamesSelector != nil { + in, out := &in.EndpointNamesSelector, &out.EndpointNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.IOTHubName != nil { in, out := &in.IOTHubName, &out.IOTHubName *out = new(string) diff --git a/apis/devices/v1beta1/zz_generated.resolvers.go b/apis/devices/v1beta1/zz_generated.resolvers.go index a5bceb92e..dfff15c97 100644 --- a/apis/devices/v1beta1/zz_generated.resolvers.go +++ b/apis/devices/v1beta1/zz_generated.resolvers.go @@ -620,7 +620,27 @@ func (mg *IOTHubEnrichment) ResolveReferences(ctx context.Context, c client.Read r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + { + m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta1", "IOTHubEndpointStorageContainer", "IOTHubEndpointStorageContainerList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.EndpointNames), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.EndpointNamesRefs, + Selector: mg.Spec.ForProvider.EndpointNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.EndpointNames") + } + mg.Spec.ForProvider.EndpointNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.EndpointNamesRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta2", "IOTHub", "IOTHubList") if err != nil { @@ -659,6 +679,25 @@ func (mg *IOTHubEnrichment) ResolveReferences(ctx context.Context, c client.Read } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta1", "IOTHubEndpointStorageContainer", "IOTHubEndpointStorageContainerList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.EndpointNames), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.EndpointNamesRefs, + Selector: mg.Spec.InitProvider.EndpointNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EndpointNames") + } + mg.Spec.InitProvider.EndpointNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.EndpointNamesRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta2", "IOTHub", "IOTHubList") if err != nil { @@ -797,7 +836,27 @@ func (mg *IOTHubRoute) ResolveReferences(ctx context.Context, c client.Reader) e r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + { + m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta1", "IOTHubEndpointStorageContainer", "IOTHubEndpointStorageContainerList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.EndpointNames), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.EndpointNamesRefs, + Selector: mg.Spec.ForProvider.EndpointNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.EndpointNames") + } + mg.Spec.ForProvider.EndpointNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.EndpointNamesRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta2", "IOTHub", "IOTHubList") if err != nil { @@ -836,6 +895,25 @@ func (mg *IOTHubRoute) ResolveReferences(ctx context.Context, c client.Reader) e } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("devices.azure.upbound.io", "v1beta1", "IOTHubEndpointStorageContainer", "IOTHubEndpointStorageContainerList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.EndpointNames), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.EndpointNamesRefs, + Selector: mg.Spec.InitProvider.EndpointNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EndpointNames") + } + mg.Spec.InitProvider.EndpointNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.EndpointNamesRefs = mrsp.ResolvedReferences return nil } diff --git a/apis/devices/v1beta1/zz_iothubenrichment_types.go b/apis/devices/v1beta1/zz_iothubenrichment_types.go index 55a718fed..f23c2c434 100755 --- a/apis/devices/v1beta1/zz_iothubenrichment_types.go +++ b/apis/devices/v1beta1/zz_iothubenrichment_types.go @@ -16,8 +16,17 @@ import ( type IOTHubEnrichmentInitParameters struct { // The list of endpoints which will be enriched. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta1.IOTHubEndpointStorageContainer EndpointNames []*string `json:"endpointNames,omitempty" tf:"endpoint_names,omitempty"` + // References to IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesRefs []v1.Reference `json:"endpointNamesRefs,omitempty" tf:"-"` + + // Selector for a list of IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesSelector *v1.Selector `json:"endpointNamesSelector,omitempty" tf:"-"` + // The IoTHub name of the enrichment. Changing this forces a new resource to be created. // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta2.IOTHub IOTHubName *string `json:"iothubName,omitempty" tf:"iothub_name,omitempty"` @@ -73,9 +82,18 @@ type IOTHubEnrichmentObservation struct { type IOTHubEnrichmentParameters struct { // The list of endpoints which will be enriched. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta1.IOTHubEndpointStorageContainer // +kubebuilder:validation:Optional EndpointNames []*string `json:"endpointNames,omitempty" tf:"endpoint_names,omitempty"` + // References to IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesRefs []v1.Reference `json:"endpointNamesRefs,omitempty" tf:"-"` + + // Selector for a list of IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesSelector *v1.Selector `json:"endpointNamesSelector,omitempty" tf:"-"` + // The IoTHub name of the enrichment. Changing this forces a new resource to be created. // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta2.IOTHub // +kubebuilder:validation:Optional @@ -147,7 +165,6 @@ type IOTHubEnrichmentStatus struct { type IOTHubEnrichment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.endpointNames) || (has(self.initProvider) && has(self.initProvider.endpointNames))",message="spec.forProvider.endpointNames is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.key) || (has(self.initProvider) && has(self.initProvider.key))",message="spec.forProvider.key is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.value) || (has(self.initProvider) && has(self.initProvider.value))",message="spec.forProvider.value is a required parameter" Spec IOTHubEnrichmentSpec `json:"spec"` diff --git a/apis/devices/v1beta1/zz_iothubroute_types.go b/apis/devices/v1beta1/zz_iothubroute_types.go index 0cad62555..8b8d50a3e 100755 --- a/apis/devices/v1beta1/zz_iothubroute_types.go +++ b/apis/devices/v1beta1/zz_iothubroute_types.go @@ -22,8 +22,17 @@ type IOTHubRouteInitParameters struct { Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta1.IOTHubEndpointStorageContainer EndpointNames []*string `json:"endpointNames,omitempty" tf:"endpoint_names,omitempty"` + // References to IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesRefs []v1.Reference `json:"endpointNamesRefs,omitempty" tf:"-"` + + // Selector for a list of IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesSelector *v1.Selector `json:"endpointNamesSelector,omitempty" tf:"-"` + // The source that the routing rule is to be applied to. Possible values include: DeviceConnectionStateEvents, DeviceJobLifecycleEvents, DeviceLifecycleEvents, DeviceMessages, DigitalTwinChangeEvents, Invalid, TwinChangeEvents. Source *string `json:"source,omitempty" tf:"source,omitempty"` } @@ -63,9 +72,18 @@ type IOTHubRouteParameters struct { Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta1.IOTHubEndpointStorageContainer // +kubebuilder:validation:Optional EndpointNames []*string `json:"endpointNames,omitempty" tf:"endpoint_names,omitempty"` + // References to IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesRefs []v1.Reference `json:"endpointNamesRefs,omitempty" tf:"-"` + + // Selector for a list of IOTHubEndpointStorageContainer in devices to populate endpointNames. + // +kubebuilder:validation:Optional + EndpointNamesSelector *v1.Selector `json:"endpointNamesSelector,omitempty" tf:"-"` + // The name of the IoTHub to which this Route belongs. Changing this forces a new resource to be created. // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/devices/v1beta2.IOTHub // +kubebuilder:validation:Optional @@ -134,7 +152,6 @@ type IOTHubRoute struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.enabled) || (has(self.initProvider) && has(self.initProvider.enabled))",message="spec.forProvider.enabled is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.endpointNames) || (has(self.initProvider) && has(self.initProvider.endpointNames))",message="spec.forProvider.endpointNames is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.source) || (has(self.initProvider) && has(self.initProvider.source))",message="spec.forProvider.source is a required parameter" Spec IOTHubRouteSpec `json:"spec"` Status IOTHubRouteStatus `json:"status,omitempty"` diff --git a/apis/insights/v1beta1/zz_generated.deepcopy.go b/apis/insights/v1beta1/zz_generated.deepcopy.go index 0fca63b60..3133ef327 100644 --- a/apis/insights/v1beta1/zz_generated.deepcopy.go +++ b/apis/insights/v1beta1/zz_generated.deepcopy.go @@ -10183,6 +10183,18 @@ func (in *MonitorDataCollectionRuleIdentityInitParameters) DeepCopyInto(out *Mon } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -10255,6 +10267,18 @@ func (in *MonitorDataCollectionRuleIdentityParameters) DeepCopyInto(out *Monitor } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -12392,6 +12416,18 @@ func (in *MonitorScheduledQueryRulesAlertInitParameters) DeepCopyInto(out *Monit } } } + if in.AuthorizedResourceIdsRefs != nil { + in, out := &in.AuthorizedResourceIdsRefs, &out.AuthorizedResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AuthorizedResourceIdsSelector != nil { + in, out := &in.AuthorizedResourceIdsSelector, &out.AuthorizedResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoMitigationEnabled != nil { in, out := &in.AutoMitigationEnabled, &out.AutoMitigationEnabled *out = new(bool) @@ -12691,6 +12727,18 @@ func (in *MonitorScheduledQueryRulesAlertParameters) DeepCopyInto(out *MonitorSc } } } + if in.AuthorizedResourceIdsRefs != nil { + in, out := &in.AuthorizedResourceIdsRefs, &out.AuthorizedResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AuthorizedResourceIdsSelector != nil { + in, out := &in.AuthorizedResourceIdsSelector, &out.AuthorizedResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoMitigationEnabled != nil { in, out := &in.AutoMitigationEnabled, &out.AutoMitigationEnabled *out = new(bool) @@ -12887,6 +12935,18 @@ func (in *MonitorScheduledQueryRulesAlertV2ActionInitParameters) DeepCopyInto(ou } } } + if in.ActionGroupsRefs != nil { + in, out := &in.ActionGroupsRefs, &out.ActionGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ActionGroupsSelector != nil { + in, out := &in.ActionGroupsSelector, &out.ActionGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CustomProperties != nil { in, out := &in.CustomProperties, &out.CustomProperties *out = make(map[string]*string, len(*in)) @@ -12971,6 +13031,18 @@ func (in *MonitorScheduledQueryRulesAlertV2ActionParameters) DeepCopyInto(out *M } } } + if in.ActionGroupsRefs != nil { + in, out := &in.ActionGroupsRefs, &out.ActionGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ActionGroupsSelector != nil { + in, out := &in.ActionGroupsSelector, &out.ActionGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CustomProperties != nil { in, out := &in.CustomProperties, &out.CustomProperties *out = make(map[string]*string, len(*in)) @@ -13190,6 +13262,18 @@ func (in *MonitorScheduledQueryRulesAlertV2IdentityInitParameters) DeepCopyInto( } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -13262,6 +13346,18 @@ func (in *MonitorScheduledQueryRulesAlertV2IdentityParameters) DeepCopyInto(out } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/insights/v1beta1/zz_generated.resolvers.go b/apis/insights/v1beta1/zz_generated.resolvers.go index d9df82643..4e7126ac0 100644 --- a/apis/insights/v1beta1/zz_generated.resolvers.go +++ b/apis/insights/v1beta1/zz_generated.resolvers.go @@ -875,6 +875,7 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorDataCollectionEndpoint", "MonitorDataCollectionEndpointList") @@ -988,6 +989,27 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl } } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { @@ -1118,6 +1140,27 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl } } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } return nil } @@ -1546,6 +1589,25 @@ func (mg *MonitorScheduledQueryRulesAlert) ResolveReferences(ctx context.Context if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.AuthorizedResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.AuthorizedResourceIdsRefs, + Selector: mg.Spec.ForProvider.AuthorizedResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.AuthorizedResourceIds") + } + mg.Spec.ForProvider.AuthorizedResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.AuthorizedResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DataSourceID), Extract: resource.ExtractResourceID(), @@ -1605,6 +1667,25 @@ func (mg *MonitorScheduledQueryRulesAlert) ResolveReferences(ctx context.Context if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.AuthorizedResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.AuthorizedResourceIdsRefs, + Selector: mg.Spec.InitProvider.AuthorizedResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AuthorizedResourceIds") + } + mg.Spec.InitProvider.AuthorizedResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.AuthorizedResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DataSourceID), Extract: resource.ExtractResourceID(), @@ -1650,12 +1731,54 @@ func (mg *MonitorScheduledQueryRulesAlertV2) ResolveReferences(ctx context.Conte var rsp reference.ResolutionResponse var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Action); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Action[i3].ActionGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Action[i3].ActionGroupsRefs, + Selector: mg.Spec.ForProvider.Action[i3].ActionGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Action[i3].ActionGroups") + } + mg.Spec.ForProvider.Action[i3].ActionGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Action[i3].ActionGroupsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -1688,12 +1811,54 @@ func (mg *MonitorScheduledQueryRulesAlertV2) ResolveReferences(ctx context.Conte } mg.Spec.ForProvider.Scopes = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.ScopesRefs = mrsp.ResolvedReferences + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Action); i3++ { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Action[i3].ActionGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Action[i3].ActionGroupsRefs, + Selector: mg.Spec.InitProvider.Action[i3].ActionGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Action[i3].ActionGroups") + } + mg.Spec.InitProvider.Action[i3].ActionGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Action[i3].ActionGroupsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scopes), Extract: rconfig.ExtractResourceID(), diff --git a/apis/insights/v1beta1/zz_monitordatacollectionrule_types.go b/apis/insights/v1beta1/zz_monitordatacollectionrule_types.go index 9d9005531..57bb4e028 100755 --- a/apis/insights/v1beta1/zz_monitordatacollectionrule_types.go +++ b/apis/insights/v1beta1/zz_monitordatacollectionrule_types.go @@ -721,9 +721,19 @@ type MonitorAccountParameters struct { type MonitorDataCollectionRuleIdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -747,10 +757,20 @@ type MonitorDataCollectionRuleIdentityObservation struct { type MonitorDataCollectionRuleIdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalert_types.go b/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalert_types.go index 507209922..3d3a70c18 100755 --- a/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalert_types.go +++ b/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalert_types.go @@ -81,9 +81,19 @@ type MonitorScheduledQueryRulesAlertInitParameters struct { Action []MonitorScheduledQueryRulesAlertActionInitParameters `json:"action,omitempty" tf:"action,omitempty"` // List of Resource IDs referred into query. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set AuthorizedResourceIds []*string `json:"authorizedResourceIds,omitempty" tf:"authorized_resource_ids,omitempty"` + // References to ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsRefs []v1.Reference `json:"authorizedResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsSelector *v1.Selector `json:"authorizedResourceIdsSelector,omitempty" tf:"-"` + // Should the alerts in this Metric Alert be auto resolved? Defaults to false. // -> NOTE auto_mitigation_enabled and throttling are mutually exclusive and cannot both be set. AutoMitigationEnabled *bool `json:"autoMitigationEnabled,omitempty" tf:"auto_mitigation_enabled,omitempty"` @@ -218,10 +228,20 @@ type MonitorScheduledQueryRulesAlertParameters struct { Action []MonitorScheduledQueryRulesAlertActionParameters `json:"action,omitempty" tf:"action,omitempty"` // List of Resource IDs referred into query. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set AuthorizedResourceIds []*string `json:"authorizedResourceIds,omitempty" tf:"authorized_resource_ids,omitempty"` + // References to ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsRefs []v1.Reference `json:"authorizedResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsSelector *v1.Selector `json:"authorizedResourceIdsSelector,omitempty" tf:"-"` + // Should the alerts in this Metric Alert be auto resolved? Defaults to false. // -> NOTE auto_mitigation_enabled and throttling are mutually exclusive and cannot both be set. // +kubebuilder:validation:Optional diff --git a/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalertv2_types.go b/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalertv2_types.go index af7bb4bb8..f10aee181 100755 --- a/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalertv2_types.go +++ b/apis/insights/v1beta1/zz_monitorscheduledqueryrulesalertv2_types.go @@ -84,8 +84,18 @@ type FailingPeriodsParameters struct { type MonitorScheduledQueryRulesAlertV2ActionInitParameters struct { // List of Action Group resource IDs to invoke when the alert fires. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() ActionGroups []*string `json:"actionGroups,omitempty" tf:"action_groups,omitempty"` + // References to MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsRefs []v1.Reference `json:"actionGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsSelector *v1.Selector `json:"actionGroupsSelector,omitempty" tf:"-"` + // Specifies the properties of an alert payload. // +mapType=granular CustomProperties map[string]*string `json:"customProperties,omitempty" tf:"custom_properties,omitempty"` @@ -104,9 +114,19 @@ type MonitorScheduledQueryRulesAlertV2ActionObservation struct { type MonitorScheduledQueryRulesAlertV2ActionParameters struct { // List of Action Group resource IDs to invoke when the alert fires. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional ActionGroups []*string `json:"actionGroups,omitempty" tf:"action_groups,omitempty"` + // References to MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsRefs []v1.Reference `json:"actionGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsSelector *v1.Selector `json:"actionGroupsSelector,omitempty" tf:"-"` + // Specifies the properties of an alert payload. // +kubebuilder:validation:Optional // +mapType=granular @@ -205,9 +225,19 @@ type MonitorScheduledQueryRulesAlertV2CriteriaParameters struct { type MonitorScheduledQueryRulesAlertV2IdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Scheduled Query Rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. Possible values are SystemAssigned, UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -231,10 +261,19 @@ type MonitorScheduledQueryRulesAlertV2IdentityObservation struct { type MonitorScheduledQueryRulesAlertV2IdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Scheduled Query Rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` // Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. Possible values are SystemAssigned, UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/insights/v1beta2/zz_generated.deepcopy.go b/apis/insights/v1beta2/zz_generated.deepcopy.go index 9fad5f9c6..4c13c19e2 100644 --- a/apis/insights/v1beta2/zz_generated.deepcopy.go +++ b/apis/insights/v1beta2/zz_generated.deepcopy.go @@ -7455,6 +7455,18 @@ func (in *MonitorDataCollectionRuleIdentityInitParameters) DeepCopyInto(out *Mon } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -7527,6 +7539,18 @@ func (in *MonitorDataCollectionRuleIdentityParameters) DeepCopyInto(out *Monitor } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -9171,6 +9195,18 @@ func (in *MonitorScheduledQueryRulesAlertInitParameters) DeepCopyInto(out *Monit } } } + if in.AuthorizedResourceIdsRefs != nil { + in, out := &in.AuthorizedResourceIdsRefs, &out.AuthorizedResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AuthorizedResourceIdsSelector != nil { + in, out := &in.AuthorizedResourceIdsSelector, &out.AuthorizedResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoMitigationEnabled != nil { in, out := &in.AutoMitigationEnabled, &out.AutoMitigationEnabled *out = new(bool) @@ -9462,6 +9498,18 @@ func (in *MonitorScheduledQueryRulesAlertParameters) DeepCopyInto(out *MonitorSc } } } + if in.AuthorizedResourceIdsRefs != nil { + in, out := &in.AuthorizedResourceIdsRefs, &out.AuthorizedResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AuthorizedResourceIdsSelector != nil { + in, out := &in.AuthorizedResourceIdsSelector, &out.AuthorizedResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoMitigationEnabled != nil { in, out := &in.AutoMitigationEnabled, &out.AutoMitigationEnabled *out = new(bool) @@ -9656,6 +9704,18 @@ func (in *MonitorScheduledQueryRulesAlertV2ActionInitParameters) DeepCopyInto(ou } } } + if in.ActionGroupsRefs != nil { + in, out := &in.ActionGroupsRefs, &out.ActionGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ActionGroupsSelector != nil { + in, out := &in.ActionGroupsSelector, &out.ActionGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CustomProperties != nil { in, out := &in.CustomProperties, &out.CustomProperties *out = make(map[string]*string, len(*in)) @@ -9740,6 +9800,18 @@ func (in *MonitorScheduledQueryRulesAlertV2ActionParameters) DeepCopyInto(out *M } } } + if in.ActionGroupsRefs != nil { + in, out := &in.ActionGroupsRefs, &out.ActionGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ActionGroupsSelector != nil { + in, out := &in.ActionGroupsSelector, &out.ActionGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.CustomProperties != nil { in, out := &in.CustomProperties, &out.CustomProperties *out = make(map[string]*string, len(*in)) @@ -9953,6 +10025,18 @@ func (in *MonitorScheduledQueryRulesAlertV2IdentityInitParameters) DeepCopyInto( } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -10025,6 +10109,18 @@ func (in *MonitorScheduledQueryRulesAlertV2IdentityParameters) DeepCopyInto(out } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/insights/v1beta2/zz_generated.resolvers.go b/apis/insights/v1beta2/zz_generated.resolvers.go index d1eaf8f0d..e2ff10610 100644 --- a/apis/insights/v1beta2/zz_generated.resolvers.go +++ b/apis/insights/v1beta2/zz_generated.resolvers.go @@ -487,6 +487,7 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "MonitorDataCollectionEndpoint", "MonitorDataCollectionEndpointList") @@ -600,6 +601,27 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl } } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { @@ -730,6 +752,27 @@ func (mg *MonitorDataCollectionRule) ResolveReferences(ctx context.Context, c cl } } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } return nil } @@ -932,6 +975,25 @@ func (mg *MonitorScheduledQueryRulesAlert) ResolveReferences(ctx context.Context if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.AuthorizedResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.AuthorizedResourceIdsRefs, + Selector: mg.Spec.ForProvider.AuthorizedResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.AuthorizedResourceIds") + } + mg.Spec.ForProvider.AuthorizedResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.AuthorizedResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DataSourceID), Extract: resource.ExtractResourceID(), @@ -991,6 +1053,25 @@ func (mg *MonitorScheduledQueryRulesAlert) ResolveReferences(ctx context.Context if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.AuthorizedResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.AuthorizedResourceIdsRefs, + Selector: mg.Spec.InitProvider.AuthorizedResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AuthorizedResourceIds") + } + mg.Spec.InitProvider.AuthorizedResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.AuthorizedResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DataSourceID), Extract: resource.ExtractResourceID(), @@ -1036,12 +1117,54 @@ func (mg *MonitorScheduledQueryRulesAlertV2) ResolveReferences(ctx context.Conte var rsp reference.ResolutionResponse var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Action != nil { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Action.ActionGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Action.ActionGroupsRefs, + Selector: mg.Spec.ForProvider.Action.ActionGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Action.ActionGroups") + } + mg.Spec.ForProvider.Action.ActionGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Action.ActionGroupsRefs = mrsp.ResolvedReferences + + } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -1074,12 +1197,54 @@ func (mg *MonitorScheduledQueryRulesAlertV2) ResolveReferences(ctx context.Conte } mg.Spec.ForProvider.Scopes = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.ScopesRefs = mrsp.ResolvedReferences + + if mg.Spec.InitProvider.Action != nil { + { + m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta2", "MonitorActionGroup", "MonitorActionGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Action.ActionGroups), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Action.ActionGroupsRefs, + Selector: mg.Spec.InitProvider.Action.ActionGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Action.ActionGroups") + } + mg.Spec.InitProvider.Action.ActionGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Action.ActionGroupsRefs = mrsp.ResolvedReferences + + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Scopes), Extract: rconfig.ExtractResourceID(), diff --git a/apis/insights/v1beta2/zz_monitordatacollectionrule_types.go b/apis/insights/v1beta2/zz_monitordatacollectionrule_types.go index 1d8e50f59..957a30b69 100755 --- a/apis/insights/v1beta2/zz_monitordatacollectionrule_types.go +++ b/apis/insights/v1beta2/zz_monitordatacollectionrule_types.go @@ -721,9 +721,19 @@ type MonitorAccountParameters struct { type MonitorDataCollectionRuleIdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -747,10 +757,20 @@ type MonitorDataCollectionRuleIdentityObservation struct { type MonitorDataCollectionRuleIdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalert_types.go b/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalert_types.go index f0a12c2ec..a5253726d 100755 --- a/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalert_types.go +++ b/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalert_types.go @@ -81,9 +81,19 @@ type MonitorScheduledQueryRulesAlertInitParameters struct { Action *MonitorScheduledQueryRulesAlertActionInitParameters `json:"action,omitempty" tf:"action,omitempty"` // List of Resource IDs referred into query. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set AuthorizedResourceIds []*string `json:"authorizedResourceIds,omitempty" tf:"authorized_resource_ids,omitempty"` + // References to ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsRefs []v1.Reference `json:"authorizedResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsSelector *v1.Selector `json:"authorizedResourceIdsSelector,omitempty" tf:"-"` + // Should the alerts in this Metric Alert be auto resolved? Defaults to false. // -> NOTE auto_mitigation_enabled and throttling are mutually exclusive and cannot both be set. AutoMitigationEnabled *bool `json:"autoMitigationEnabled,omitempty" tf:"auto_mitigation_enabled,omitempty"` @@ -218,10 +228,20 @@ type MonitorScheduledQueryRulesAlertParameters struct { Action *MonitorScheduledQueryRulesAlertActionParameters `json:"action,omitempty" tf:"action,omitempty"` // List of Resource IDs referred into query. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set AuthorizedResourceIds []*string `json:"authorizedResourceIds,omitempty" tf:"authorized_resource_ids,omitempty"` + // References to ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsRefs []v1.Reference `json:"authorizedResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of ApplicationInsights in insights to populate authorizedResourceIds. + // +kubebuilder:validation:Optional + AuthorizedResourceIdsSelector *v1.Selector `json:"authorizedResourceIdsSelector,omitempty" tf:"-"` + // Should the alerts in this Metric Alert be auto resolved? Defaults to false. // -> NOTE auto_mitigation_enabled and throttling are mutually exclusive and cannot both be set. // +kubebuilder:validation:Optional diff --git a/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalertv2_types.go b/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalertv2_types.go index f57af8004..57bec2b2e 100755 --- a/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalertv2_types.go +++ b/apis/insights/v1beta2/zz_monitorscheduledqueryrulesalertv2_types.go @@ -84,8 +84,18 @@ type FailingPeriodsParameters struct { type MonitorScheduledQueryRulesAlertV2ActionInitParameters struct { // List of Action Group resource IDs to invoke when the alert fires. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() ActionGroups []*string `json:"actionGroups,omitempty" tf:"action_groups,omitempty"` + // References to MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsRefs []v1.Reference `json:"actionGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsSelector *v1.Selector `json:"actionGroupsSelector,omitempty" tf:"-"` + // Specifies the properties of an alert payload. // +mapType=granular CustomProperties map[string]*string `json:"customProperties,omitempty" tf:"custom_properties,omitempty"` @@ -104,9 +114,19 @@ type MonitorScheduledQueryRulesAlertV2ActionObservation struct { type MonitorScheduledQueryRulesAlertV2ActionParameters struct { // List of Action Group resource IDs to invoke when the alert fires. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta2.MonitorActionGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional ActionGroups []*string `json:"actionGroups,omitempty" tf:"action_groups,omitempty"` + // References to MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsRefs []v1.Reference `json:"actionGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of MonitorActionGroup in insights to populate actionGroups. + // +kubebuilder:validation:Optional + ActionGroupsSelector *v1.Selector `json:"actionGroupsSelector,omitempty" tf:"-"` + // Specifies the properties of an alert payload. // +kubebuilder:validation:Optional // +mapType=granular @@ -205,9 +225,19 @@ type MonitorScheduledQueryRulesAlertV2CriteriaParameters struct { type MonitorScheduledQueryRulesAlertV2IdentityInitParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Scheduled Query Rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. Possible values are SystemAssigned, UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -231,10 +261,20 @@ type MonitorScheduledQueryRulesAlertV2IdentityObservation struct { type MonitorScheduledQueryRulesAlertV2IdentityParameters struct { // A list of User Assigned Managed Identity IDs to be assigned to this Scheduled Query Rule. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. Possible values are SystemAssigned, UserAssigned. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/labservices/v1beta1/zz_generated.deepcopy.go b/apis/labservices/v1beta1/zz_generated.deepcopy.go index a97a23732..e240e0ce4 100644 --- a/apis/labservices/v1beta1/zz_generated.deepcopy.go +++ b/apis/labservices/v1beta1/zz_generated.deepcopy.go @@ -1023,6 +1023,18 @@ func (in *LabServicePlanInitParameters) DeepCopyInto(out *LabServicePlanInitPara } } } + if in.AllowedRegionsRefs != nil { + in, out := &in.AllowedRegionsRefs, &out.AllowedRegionsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowedRegionsSelector != nil { + in, out := &in.AllowedRegionsSelector, &out.AllowedRegionsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultAutoShutdown != nil { in, out := &in.DefaultAutoShutdown, &out.DefaultAutoShutdown *out = make([]DefaultAutoShutdownInitParameters, len(*in)) @@ -1231,6 +1243,18 @@ func (in *LabServicePlanParameters) DeepCopyInto(out *LabServicePlanParameters) } } } + if in.AllowedRegionsRefs != nil { + in, out := &in.AllowedRegionsRefs, &out.AllowedRegionsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowedRegionsSelector != nil { + in, out := &in.AllowedRegionsSelector, &out.AllowedRegionsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultAutoShutdown != nil { in, out := &in.DefaultAutoShutdown, &out.DefaultAutoShutdown *out = make([]DefaultAutoShutdownParameters, len(*in)) diff --git a/apis/labservices/v1beta1/zz_generated.resolvers.go b/apis/labservices/v1beta1/zz_generated.resolvers.go index a25e6c220..47592c152 100644 --- a/apis/labservices/v1beta1/zz_generated.resolvers.go +++ b/apis/labservices/v1beta1/zz_generated.resolvers.go @@ -9,6 +9,7 @@ package v1beta1 import ( "context" reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" errors "github.com/pkg/errors" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" @@ -98,7 +99,27 @@ func (mg *LabServicePlan) ResolveReferences(ctx context.Context, c client.Reader r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.AllowedRegions), + Extract: resource.ExtractParamPath("location", false), + References: mg.Spec.ForProvider.AllowedRegionsRefs, + Selector: mg.Spec.ForProvider.AllowedRegionsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.AllowedRegions") + } + mg.Spec.ForProvider.AllowedRegions = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.AllowedRegionsRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "Subnet", "SubnetList") if err != nil { @@ -137,6 +158,25 @@ func (mg *LabServicePlan) ResolveReferences(ctx context.Context, c client.Reader } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.AllowedRegions), + Extract: resource.ExtractParamPath("location", false), + References: mg.Spec.InitProvider.AllowedRegionsRefs, + Selector: mg.Spec.InitProvider.AllowedRegionsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AllowedRegions") + } + mg.Spec.InitProvider.AllowedRegions = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.AllowedRegionsRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "Subnet", "SubnetList") if err != nil { diff --git a/apis/labservices/v1beta1/zz_labserviceplan_types.go b/apis/labservices/v1beta1/zz_labserviceplan_types.go index f0263bcf0..6db5b0501 100755 --- a/apis/labservices/v1beta1/zz_labserviceplan_types.go +++ b/apis/labservices/v1beta1/zz_labserviceplan_types.go @@ -114,8 +114,18 @@ type DefaultConnectionParameters struct { type LabServicePlanInitParameters struct { // The allowed regions for the lab creator to use when creating labs using this Lab Service Plan. The allowed region's count must be between 1 and 28. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false) AllowedRegions []*string `json:"allowedRegions,omitempty" tf:"allowed_regions,omitempty"` + // References to ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsRefs []v1.Reference `json:"allowedRegionsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsSelector *v1.Selector `json:"allowedRegionsSelector,omitempty" tf:"-"` + // A default_auto_shutdown block as defined below. DefaultAutoShutdown []DefaultAutoShutdownInitParameters `json:"defaultAutoShutdown,omitempty" tf:"default_auto_shutdown,omitempty"` @@ -186,9 +196,19 @@ type LabServicePlanObservation struct { type LabServicePlanParameters struct { // The allowed regions for the lab creator to use when creating labs using this Lab Service Plan. The allowed region's count must be between 1 and 28. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false) // +kubebuilder:validation:Optional AllowedRegions []*string `json:"allowedRegions,omitempty" tf:"allowed_regions,omitempty"` + // References to ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsRefs []v1.Reference `json:"allowedRegionsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsSelector *v1.Selector `json:"allowedRegionsSelector,omitempty" tf:"-"` + // A default_auto_shutdown block as defined below. // +kubebuilder:validation:Optional DefaultAutoShutdown []DefaultAutoShutdownParameters `json:"defaultAutoShutdown,omitempty" tf:"default_auto_shutdown,omitempty"` @@ -327,7 +347,6 @@ type LabServicePlanStatus struct { type LabServicePlan struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.allowedRegions) || (has(self.initProvider) && has(self.initProvider.allowedRegions))",message="spec.forProvider.allowedRegions is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter" Spec LabServicePlanSpec `json:"spec"` Status LabServicePlanStatus `json:"status,omitempty"` diff --git a/apis/labservices/v1beta2/zz_generated.deepcopy.go b/apis/labservices/v1beta2/zz_generated.deepcopy.go index 335c97a19..d92dfe344 100644 --- a/apis/labservices/v1beta2/zz_generated.deepcopy.go +++ b/apis/labservices/v1beta2/zz_generated.deepcopy.go @@ -988,6 +988,18 @@ func (in *LabServicePlanInitParameters) DeepCopyInto(out *LabServicePlanInitPara } } } + if in.AllowedRegionsRefs != nil { + in, out := &in.AllowedRegionsRefs, &out.AllowedRegionsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowedRegionsSelector != nil { + in, out := &in.AllowedRegionsSelector, &out.AllowedRegionsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultAutoShutdown != nil { in, out := &in.DefaultAutoShutdown, &out.DefaultAutoShutdown *out = new(DefaultAutoShutdownInitParameters) @@ -1184,6 +1196,18 @@ func (in *LabServicePlanParameters) DeepCopyInto(out *LabServicePlanParameters) } } } + if in.AllowedRegionsRefs != nil { + in, out := &in.AllowedRegionsRefs, &out.AllowedRegionsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowedRegionsSelector != nil { + in, out := &in.AllowedRegionsSelector, &out.AllowedRegionsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DefaultAutoShutdown != nil { in, out := &in.DefaultAutoShutdown, &out.DefaultAutoShutdown *out = new(DefaultAutoShutdownParameters) diff --git a/apis/labservices/v1beta2/zz_generated.resolvers.go b/apis/labservices/v1beta2/zz_generated.resolvers.go index c31217a72..21a7cd6b2 100644 --- a/apis/labservices/v1beta2/zz_generated.resolvers.go +++ b/apis/labservices/v1beta2/zz_generated.resolvers.go @@ -9,6 +9,7 @@ package v1beta2 import ( "context" reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" errors "github.com/pkg/errors" xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" @@ -98,7 +99,27 @@ func (mg *LabServicePlan) ResolveReferences(ctx context.Context, c client.Reader r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.AllowedRegions), + Extract: resource.ExtractParamPath("location", false), + References: mg.Spec.ForProvider.AllowedRegionsRefs, + Selector: mg.Spec.ForProvider.AllowedRegionsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.AllowedRegions") + } + mg.Spec.ForProvider.AllowedRegions = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.AllowedRegionsRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") if err != nil { @@ -137,6 +158,25 @@ func (mg *LabServicePlan) ResolveReferences(ctx context.Context, c client.Reader } mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.AllowedRegions), + Extract: resource.ExtractParamPath("location", false), + References: mg.Spec.InitProvider.AllowedRegionsRefs, + Selector: mg.Spec.InitProvider.AllowedRegionsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AllowedRegions") + } + mg.Spec.InitProvider.AllowedRegions = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.AllowedRegionsRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") if err != nil { diff --git a/apis/labservices/v1beta2/zz_labserviceplan_types.go b/apis/labservices/v1beta2/zz_labserviceplan_types.go index 6f76a665a..5fb1c7644 100755 --- a/apis/labservices/v1beta2/zz_labserviceplan_types.go +++ b/apis/labservices/v1beta2/zz_labserviceplan_types.go @@ -114,8 +114,18 @@ type DefaultConnectionParameters struct { type LabServicePlanInitParameters struct { // The allowed regions for the lab creator to use when creating labs using this Lab Service Plan. The allowed region's count must be between 1 and 28. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false) AllowedRegions []*string `json:"allowedRegions,omitempty" tf:"allowed_regions,omitempty"` + // References to ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsRefs []v1.Reference `json:"allowedRegionsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsSelector *v1.Selector `json:"allowedRegionsSelector,omitempty" tf:"-"` + // A default_auto_shutdown block as defined below. DefaultAutoShutdown *DefaultAutoShutdownInitParameters `json:"defaultAutoShutdown,omitempty" tf:"default_auto_shutdown,omitempty"` @@ -186,9 +196,19 @@ type LabServicePlanObservation struct { type LabServicePlanParameters struct { // The allowed regions for the lab creator to use when creating labs using this Lab Service Plan. The allowed region's count must be between 1 and 28. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("location",false) // +kubebuilder:validation:Optional AllowedRegions []*string `json:"allowedRegions,omitempty" tf:"allowed_regions,omitempty"` + // References to ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsRefs []v1.Reference `json:"allowedRegionsRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate allowedRegions. + // +kubebuilder:validation:Optional + AllowedRegionsSelector *v1.Selector `json:"allowedRegionsSelector,omitempty" tf:"-"` + // A default_auto_shutdown block as defined below. // +kubebuilder:validation:Optional DefaultAutoShutdown *DefaultAutoShutdownParameters `json:"defaultAutoShutdown,omitempty" tf:"default_auto_shutdown,omitempty"` @@ -326,7 +346,6 @@ type LabServicePlanStatus struct { type LabServicePlan struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.allowedRegions) || (has(self.initProvider) && has(self.initProvider.allowedRegions))",message="spec.forProvider.allowedRegions is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter" Spec LabServicePlanSpec `json:"spec"` Status LabServicePlanStatus `json:"status,omitempty"` diff --git a/apis/machinelearningservices/v1beta1/zz_generated.deepcopy.go b/apis/machinelearningservices/v1beta1/zz_generated.deepcopy.go index 80dd6d7ec..831485ed6 100644 --- a/apis/machinelearningservices/v1beta1/zz_generated.deepcopy.go +++ b/apis/machinelearningservices/v1beta1/zz_generated.deepcopy.go @@ -2241,6 +2241,18 @@ func (in *WorkspaceIdentityInitParameters) DeepCopyInto(out *WorkspaceIdentityIn } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -2313,6 +2325,18 @@ func (in *WorkspaceIdentityParameters) DeepCopyInto(out *WorkspaceIdentityParame } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/machinelearningservices/v1beta1/zz_generated.resolvers.go b/apis/machinelearningservices/v1beta1/zz_generated.resolvers.go index e08051961..34186c304 100644 --- a/apis/machinelearningservices/v1beta1/zz_generated.resolvers.go +++ b/apis/machinelearningservices/v1beta1/zz_generated.resolvers.go @@ -252,6 +252,7 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") @@ -335,6 +336,27 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Encryption[i3].UserAssignedIdentityID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption[i3].UserAssignedIdentityIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta1", "Vault", "VaultList") @@ -514,6 +536,27 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.InitProvider.Encryption[i3].UserAssignedIdentityID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption[i3].UserAssignedIdentityIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta1", "Vault", "VaultList") diff --git a/apis/machinelearningservices/v1beta1/zz_workspace_types.go b/apis/machinelearningservices/v1beta1/zz_workspace_types.go index c1b72ed91..6de57142f 100755 --- a/apis/machinelearningservices/v1beta1/zz_workspace_types.go +++ b/apis/machinelearningservices/v1beta1/zz_workspace_types.go @@ -222,9 +222,19 @@ type ServerlessComputeParameters struct { type WorkspaceIdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Workspace. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -248,10 +258,20 @@ type WorkspaceIdentityObservation struct { type WorkspaceIdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Workspace. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/machinelearningservices/v1beta2/zz_generated.deepcopy.go b/apis/machinelearningservices/v1beta2/zz_generated.deepcopy.go index ac3047df0..cbd553027 100644 --- a/apis/machinelearningservices/v1beta2/zz_generated.deepcopy.go +++ b/apis/machinelearningservices/v1beta2/zz_generated.deepcopy.go @@ -2199,6 +2199,18 @@ func (in *WorkspaceIdentityInitParameters) DeepCopyInto(out *WorkspaceIdentityIn } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -2271,6 +2283,18 @@ func (in *WorkspaceIdentityParameters) DeepCopyInto(out *WorkspaceIdentityParame } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/machinelearningservices/v1beta2/zz_generated.resolvers.go b/apis/machinelearningservices/v1beta2/zz_generated.resolvers.go index f10a62b1d..1ffbd5720 100644 --- a/apis/machinelearningservices/v1beta2/zz_generated.resolvers.go +++ b/apis/machinelearningservices/v1beta2/zz_generated.resolvers.go @@ -252,6 +252,7 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("insights.azure.upbound.io", "v1beta1", "ApplicationInsights", "ApplicationInsightsList") @@ -335,6 +336,27 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.Encryption.UserAssignedIdentityID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.Encryption.UserAssignedIdentityIDRef = rsp.ResolvedReference + } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta2", "Vault", "VaultList") @@ -514,6 +536,27 @@ func (mg *Workspace) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.InitProvider.Encryption.UserAssignedIdentityID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.Encryption.UserAssignedIdentityIDRef = rsp.ResolvedReference + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta2", "Vault", "VaultList") diff --git a/apis/machinelearningservices/v1beta2/zz_workspace_types.go b/apis/machinelearningservices/v1beta2/zz_workspace_types.go index 504cf3d5e..05dd01e2b 100755 --- a/apis/machinelearningservices/v1beta2/zz_workspace_types.go +++ b/apis/machinelearningservices/v1beta2/zz_workspace_types.go @@ -222,9 +222,19 @@ type ServerlessComputeParameters struct { type WorkspaceIdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Workspace. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -248,10 +258,20 @@ type WorkspaceIdentityObservation struct { type WorkspaceIdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Workspace. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/media/v1beta1/zz_generated.deepcopy.go b/apis/media/v1beta1/zz_generated.deepcopy.go index 3329052ea..94c989e51 100644 --- a/apis/media/v1beta1/zz_generated.deepcopy.go +++ b/apis/media/v1beta1/zz_generated.deepcopy.go @@ -11941,6 +11941,18 @@ func (in *StreamingLocatorInitParameters) DeepCopyInto(out *StreamingLocatorInit } } } + if in.FilterNamesRefs != nil { + in, out := &in.FilterNamesRefs, &out.FilterNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FilterNamesSelector != nil { + in, out := &in.FilterNamesSelector, &out.FilterNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.StartTime != nil { in, out := &in.StartTime, &out.StartTime *out = new(string) @@ -12134,6 +12146,18 @@ func (in *StreamingLocatorParameters) DeepCopyInto(out *StreamingLocatorParamete } } } + if in.FilterNamesRefs != nil { + in, out := &in.FilterNamesRefs, &out.FilterNamesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FilterNamesSelector != nil { + in, out := &in.FilterNamesSelector, &out.FilterNamesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.MediaServicesAccountName != nil { in, out := &in.MediaServicesAccountName, &out.MediaServicesAccountName *out = new(string) diff --git a/apis/media/v1beta1/zz_generated.resolvers.go b/apis/media/v1beta1/zz_generated.resolvers.go index 038a4b972..ce40d4df6 100644 --- a/apis/media/v1beta1/zz_generated.resolvers.go +++ b/apis/media/v1beta1/zz_generated.resolvers.go @@ -605,6 +605,7 @@ func (mg *StreamingLocator) ResolveReferences(ctx context.Context, c client.Read r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("media.azure.upbound.io", "v1beta1", "Asset", "AssetList") @@ -625,6 +626,25 @@ func (mg *StreamingLocator) ResolveReferences(ctx context.Context, c client.Read } mg.Spec.ForProvider.AssetName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AssetNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("media.azure.upbound.io", "v1beta2", "ServicesAccountFilter", "ServicesAccountFilterList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.FilterNames), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.FilterNamesRefs, + Selector: mg.Spec.ForProvider.FilterNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.FilterNames") + } + mg.Spec.ForProvider.FilterNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.FilterNamesRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("media.azure.upbound.io", "v1beta2", "ServicesAccount", "ServicesAccountList") if err != nil { @@ -682,6 +702,25 @@ func (mg *StreamingLocator) ResolveReferences(ctx context.Context, c client.Read } mg.Spec.InitProvider.AssetName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.AssetNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("media.azure.upbound.io", "v1beta2", "ServicesAccountFilter", "ServicesAccountFilterList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.FilterNames), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.FilterNamesRefs, + Selector: mg.Spec.InitProvider.FilterNamesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.FilterNames") + } + mg.Spec.InitProvider.FilterNames = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.FilterNamesRefs = mrsp.ResolvedReferences return nil } diff --git a/apis/media/v1beta1/zz_streaminglocator_types.go b/apis/media/v1beta1/zz_streaminglocator_types.go index e4a3d6923..501ab8514 100755 --- a/apis/media/v1beta1/zz_streaminglocator_types.go +++ b/apis/media/v1beta1/zz_streaminglocator_types.go @@ -99,8 +99,17 @@ type StreamingLocatorInitParameters struct { EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` // A list of names of asset or account filters which apply to this Streaming Locator. Changing this forces a new Streaming Locator to be created. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/media/v1beta2.ServicesAccountFilter FilterNames []*string `json:"filterNames,omitempty" tf:"filter_names,omitempty"` + // References to ServicesAccountFilter in media to populate filterNames. + // +kubebuilder:validation:Optional + FilterNamesRefs []v1.Reference `json:"filterNamesRefs,omitempty" tf:"-"` + + // Selector for a list of ServicesAccountFilter in media to populate filterNames. + // +kubebuilder:validation:Optional + FilterNamesSelector *v1.Selector `json:"filterNamesSelector,omitempty" tf:"-"` + // The start time of the Streaming Locator. Changing this forces a new Streaming Locator to be created. StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` @@ -182,9 +191,18 @@ type StreamingLocatorParameters struct { EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` // A list of names of asset or account filters which apply to this Streaming Locator. Changing this forces a new Streaming Locator to be created. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/media/v1beta2.ServicesAccountFilter // +kubebuilder:validation:Optional FilterNames []*string `json:"filterNames,omitempty" tf:"filter_names,omitempty"` + // References to ServicesAccountFilter in media to populate filterNames. + // +kubebuilder:validation:Optional + FilterNamesRefs []v1.Reference `json:"filterNamesRefs,omitempty" tf:"-"` + + // Selector for a list of ServicesAccountFilter in media to populate filterNames. + // +kubebuilder:validation:Optional + FilterNamesSelector *v1.Selector `json:"filterNamesSelector,omitempty" tf:"-"` + // The Media Services account name. Changing this forces a new Streaming Locator to be created. // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/media/v1beta2.ServicesAccount // +kubebuilder:validation:Optional diff --git a/apis/netapp/v1beta1/zz_account_types.go b/apis/netapp/v1beta1/zz_account_types.go index 288a69e9a..2a9319ef5 100755 --- a/apis/netapp/v1beta1/zz_account_types.go +++ b/apis/netapp/v1beta1/zz_account_types.go @@ -253,9 +253,19 @@ type ActiveDirectoryParameters struct { type IdentityInitParameters struct { // The identity id of the user assigned identity to use when type is UserAssigned + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by Azure NetApp Files. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -279,10 +289,20 @@ type IdentityObservation struct { type IdentityParameters struct { // The identity id of the user assigned identity to use when type is UserAssigned + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by Azure NetApp Files. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/netapp/v1beta1/zz_generated.deepcopy.go b/apis/netapp/v1beta1/zz_generated.deepcopy.go index 302279034..2d783da0f 100644 --- a/apis/netapp/v1beta1/zz_generated.deepcopy.go +++ b/apis/netapp/v1beta1/zz_generated.deepcopy.go @@ -1181,6 +1181,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -1253,6 +1265,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/netapp/v1beta1/zz_generated.resolvers.go b/apis/netapp/v1beta1/zz_generated.resolvers.go index 20ae5b648..80bb1322e 100644 --- a/apis/netapp/v1beta1/zz_generated.resolvers.go +++ b/apis/netapp/v1beta1/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -47,6 +69,28 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/apis/netapp/v1beta2/zz_account_types.go b/apis/netapp/v1beta2/zz_account_types.go index 2a43aa84c..f7ef49185 100755 --- a/apis/netapp/v1beta2/zz_account_types.go +++ b/apis/netapp/v1beta2/zz_account_types.go @@ -256,9 +256,19 @@ type ActiveDirectoryParameters struct { type IdentityInitParameters struct { // The identity id of the user assigned identity to use when type is UserAssigned + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by Azure NetApp Files. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -282,10 +292,20 @@ type IdentityObservation struct { type IdentityParameters struct { // The identity id of the user assigned identity to use when type is UserAssigned + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // The identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by Azure NetApp Files. // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/netapp/v1beta2/zz_generated.deepcopy.go b/apis/netapp/v1beta2/zz_generated.deepcopy.go index 7cbafd022..cccb5da96 100644 --- a/apis/netapp/v1beta2/zz_generated.deepcopy.go +++ b/apis/netapp/v1beta2/zz_generated.deepcopy.go @@ -1170,6 +1170,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -1242,6 +1254,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/netapp/v1beta2/zz_generated.resolvers.go b/apis/netapp/v1beta2/zz_generated.resolvers.go index b135b5f64..9f9fc4490 100644 --- a/apis/netapp/v1beta2/zz_generated.resolvers.go +++ b/apis/netapp/v1beta2/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -47,6 +69,28 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/apis/network/v1beta1/zz_connectionmonitor_types.go b/apis/network/v1beta1/zz_connectionmonitor_types.go index 94dcc8908..08eb9f588 100755 --- a/apis/network/v1beta1/zz_connectionmonitor_types.go +++ b/apis/network/v1beta1/zz_connectionmonitor_types.go @@ -25,9 +25,19 @@ type ConnectionMonitorInitParameters struct { Notes *string `json:"notes,omitempty" tf:"notes,omitempty"` // A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/operationalinsights/v1beta2.Workspace + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set OutputWorkspaceResourceIds []*string `json:"outputWorkspaceResourceIds,omitempty" tf:"output_workspace_resource_ids,omitempty"` + // References to Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsRefs []v1.Reference `json:"outputWorkspaceResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsSelector *v1.Selector `json:"outputWorkspaceResourceIdsSelector,omitempty" tf:"-"` + // A mapping of tags which should be assigned to the Network Connection Monitor. // +mapType=granular Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` @@ -100,10 +110,20 @@ type ConnectionMonitorParameters struct { Notes *string `json:"notes,omitempty" tf:"notes,omitempty"` // A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/operationalinsights/v1beta2.Workspace + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set OutputWorkspaceResourceIds []*string `json:"outputWorkspaceResourceIds,omitempty" tf:"output_workspace_resource_ids,omitempty"` + // References to Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsRefs []v1.Reference `json:"outputWorkspaceResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsSelector *v1.Selector `json:"outputWorkspaceResourceIdsSelector,omitempty" tf:"-"` + // A mapping of tags which should be assigned to the Network Connection Monitor. // +kubebuilder:validation:Optional // +mapType=granular diff --git a/apis/network/v1beta1/zz_firewallnatrulecollection_types.go b/apis/network/v1beta1/zz_firewallnatrulecollection_types.go index 7026d7b68..2b23e7179 100755 --- a/apis/network/v1beta1/zz_firewallnatrulecollection_types.go +++ b/apis/network/v1beta1/zz_firewallnatrulecollection_types.go @@ -92,8 +92,18 @@ type FirewallNATRuleCollectionRuleInitParameters struct { Description *string `json:"description,omitempty" tf:"description,omitempty"` // A list of destination IP addresses and/or IP ranges. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.PublicIP + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("ip_address",true) DestinationAddresses []*string `json:"destinationAddresses,omitempty" tf:"destination_addresses,omitempty"` + // References to PublicIP in network to populate destinationAddresses. + // +kubebuilder:validation:Optional + DestinationAddressesRefs []v1.Reference `json:"destinationAddressesRefs,omitempty" tf:"-"` + + // Selector for a list of PublicIP in network to populate destinationAddresses. + // +kubebuilder:validation:Optional + DestinationAddressesSelector *v1.Selector `json:"destinationAddressesSelector,omitempty" tf:"-"` + // A list of destination ports. DestinationPorts []*string `json:"destinationPorts,omitempty" tf:"destination_ports,omitempty"` @@ -153,8 +163,18 @@ type FirewallNATRuleCollectionRuleParameters struct { Description *string `json:"description,omitempty" tf:"description,omitempty"` // A list of destination IP addresses and/or IP ranges. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta1.PublicIP + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("ip_address",true) + // +kubebuilder:validation:Optional + DestinationAddresses []*string `json:"destinationAddresses,omitempty" tf:"destination_addresses,omitempty"` + + // References to PublicIP in network to populate destinationAddresses. + // +kubebuilder:validation:Optional + DestinationAddressesRefs []v1.Reference `json:"destinationAddressesRefs,omitempty" tf:"-"` + + // Selector for a list of PublicIP in network to populate destinationAddresses. // +kubebuilder:validation:Optional - DestinationAddresses []*string `json:"destinationAddresses" tf:"destination_addresses,omitempty"` + DestinationAddressesSelector *v1.Selector `json:"destinationAddressesSelector,omitempty" tf:"-"` // A list of destination ports. // +kubebuilder:validation:Optional diff --git a/apis/network/v1beta1/zz_generated.deepcopy.go b/apis/network/v1beta1/zz_generated.deepcopy.go index d87a4534c..70c719297 100644 --- a/apis/network/v1beta1/zz_generated.deepcopy.go +++ b/apis/network/v1beta1/zz_generated.deepcopy.go @@ -4112,6 +4112,18 @@ func (in *ConnectionMonitorInitParameters) DeepCopyInto(out *ConnectionMonitorIn } } } + if in.OutputWorkspaceResourceIdsRefs != nil { + in, out := &in.OutputWorkspaceResourceIdsRefs, &out.OutputWorkspaceResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputWorkspaceResourceIdsSelector != nil { + in, out := &in.OutputWorkspaceResourceIdsSelector, &out.OutputWorkspaceResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make(map[string]*string, len(*in)) @@ -4315,6 +4327,18 @@ func (in *ConnectionMonitorParameters) DeepCopyInto(out *ConnectionMonitorParame } } } + if in.OutputWorkspaceResourceIdsRefs != nil { + in, out := &in.OutputWorkspaceResourceIdsRefs, &out.OutputWorkspaceResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputWorkspaceResourceIdsSelector != nil { + in, out := &in.OutputWorkspaceResourceIdsSelector, &out.OutputWorkspaceResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make(map[string]*string, len(*in)) @@ -9189,6 +9213,18 @@ func (in *DefinitionInitParameters) DeepCopyInto(out *DefinitionInitParameters) } } } + if in.ServiceResourcesRefs != nil { + in, out := &in.ServiceResourcesRefs, &out.ServiceResourcesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceResourcesSelector != nil { + in, out := &in.ServiceResourcesSelector, &out.ServiceResourcesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionInitParameters. @@ -9271,6 +9307,18 @@ func (in *DefinitionParameters) DeepCopyInto(out *DefinitionParameters) { } } } + if in.ServiceResourcesRefs != nil { + in, out := &in.ServiceResourcesRefs, &out.ServiceResourcesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceResourcesSelector != nil { + in, out := &in.ServiceResourcesSelector, &out.ServiceResourcesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionParameters. @@ -13236,6 +13284,18 @@ func (in *FirewallNATRuleCollectionRuleInitParameters) DeepCopyInto(out *Firewal } } } + if in.DestinationAddressesRefs != nil { + in, out := &in.DestinationAddressesRefs, &out.DestinationAddressesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationAddressesSelector != nil { + in, out := &in.DestinationAddressesSelector, &out.DestinationAddressesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DestinationPorts != nil { in, out := &in.DestinationPorts, &out.DestinationPorts *out = make([]*string, len(*in)) @@ -13416,6 +13476,18 @@ func (in *FirewallNATRuleCollectionRuleParameters) DeepCopyInto(out *FirewallNAT } } } + if in.DestinationAddressesRefs != nil { + in, out := &in.DestinationAddressesRefs, &out.DestinationAddressesRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationAddressesSelector != nil { + in, out := &in.DestinationAddressesSelector, &out.DestinationAddressesSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.DestinationPorts != nil { in, out := &in.DestinationPorts, &out.DestinationPorts *out = make([]*string, len(*in)) diff --git a/apis/network/v1beta1/zz_generated.resolvers.go b/apis/network/v1beta1/zz_generated.resolvers.go index fb27f81e1..2394f1fa9 100644 --- a/apis/network/v1beta1/zz_generated.resolvers.go +++ b/apis/network/v1beta1/zz_generated.resolvers.go @@ -377,6 +377,7 @@ func (mg *ConnectionMonitor) ResolveReferences(ctx context.Context, c client.Rea r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "Watcher", "WatcherList") @@ -397,6 +398,44 @@ func (mg *ConnectionMonitor) ResolveReferences(ctx context.Context, c client.Rea } mg.Spec.ForProvider.NetworkWatcherID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkWatcherIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("operationalinsights.azure.upbound.io", "v1beta2", "Workspace", "WorkspaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.OutputWorkspaceResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.OutputWorkspaceResourceIdsRefs, + Selector: mg.Spec.ForProvider.OutputWorkspaceResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.OutputWorkspaceResourceIds") + } + mg.Spec.ForProvider.OutputWorkspaceResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.OutputWorkspaceResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("operationalinsights.azure.upbound.io", "v1beta2", "Workspace", "WorkspaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.OutputWorkspaceResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.OutputWorkspaceResourceIdsRefs, + Selector: mg.Spec.InitProvider.OutputWorkspaceResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.OutputWorkspaceResourceIds") + } + mg.Spec.InitProvider.OutputWorkspaceResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.OutputWorkspaceResourceIdsRefs = mrsp.ResolvedReferences return nil } @@ -1611,6 +1650,7 @@ func (mg *FirewallNATRuleCollection) ResolveReferences(ctx context.Context, c cl r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Firewall", "FirewallList") @@ -1651,6 +1691,49 @@ func (mg *FirewallNATRuleCollection) ResolveReferences(ctx context.Context, c cl mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.ForProvider.Rule); i3++ { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "PublicIP", "PublicIPList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Rule[i3].DestinationAddresses), + Extract: resource.ExtractParamPath("ip_address", true), + References: mg.Spec.ForProvider.Rule[i3].DestinationAddressesRefs, + Selector: mg.Spec.ForProvider.Rule[i3].DestinationAddressesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Rule[i3].DestinationAddresses") + } + mg.Spec.ForProvider.Rule[i3].DestinationAddresses = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Rule[i3].DestinationAddressesRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Rule); i3++ { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "PublicIP", "PublicIPList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Rule[i3].DestinationAddresses), + Extract: resource.ExtractParamPath("ip_address", true), + References: mg.Spec.InitProvider.Rule[i3].DestinationAddressesRefs, + Selector: mg.Spec.InitProvider.Rule[i3].DestinationAddressesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Rule[i3].DestinationAddresses") + } + mg.Spec.InitProvider.Rule[i3].DestinationAddresses = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Rule[i3].DestinationAddressesRefs = mrsp.ResolvedReferences + + } + return nil } @@ -5421,13 +5504,35 @@ func (mg *SubnetServiceEndpointStoragePolicy) ResolveReferences(ctx context.Cont r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Definition); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Definition[i3].ServiceResources), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Definition[i3].ServiceResourcesRefs, + Selector: mg.Spec.ForProvider.Definition[i3].ServiceResourcesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Definition[i3].ServiceResources") + } + mg.Spec.ForProvider.Definition[i3].ServiceResources = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Definition[i3].ServiceResourcesRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -5442,6 +5547,28 @@ func (mg *SubnetServiceEndpointStoragePolicy) ResolveReferences(ctx context.Cont mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.Definition); i3++ { + { + m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Definition[i3].ServiceResources), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Definition[i3].ServiceResourcesRefs, + Selector: mg.Spec.InitProvider.Definition[i3].ServiceResourcesSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Definition[i3].ServiceResources") + } + mg.Spec.InitProvider.Definition[i3].ServiceResources = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Definition[i3].ServiceResourcesRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/apis/network/v1beta1/zz_subnetserviceendpointstoragepolicy_types.go b/apis/network/v1beta1/zz_subnetserviceendpointstoragepolicy_types.go index 22c80abbc..2568f8ea8 100755 --- a/apis/network/v1beta1/zz_subnetserviceendpointstoragepolicy_types.go +++ b/apis/network/v1beta1/zz_subnetserviceendpointstoragepolicy_types.go @@ -25,8 +25,18 @@ type DefinitionInitParameters struct { Service *string `json:"service,omitempty" tf:"service,omitempty"` // Specifies a list of resources or aliases that this Subnet Service Endpoint Storage Policy Definition applies to. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set ServiceResources []*string `json:"serviceResources,omitempty" tf:"service_resources,omitempty"` + + // References to ResourceGroup in azure to populate serviceResources. + // +kubebuilder:validation:Optional + ServiceResourcesRefs []v1.Reference `json:"serviceResourcesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate serviceResources. + // +kubebuilder:validation:Optional + ServiceResourcesSelector *v1.Selector `json:"serviceResourcesSelector,omitempty" tf:"-"` } type DefinitionObservation struct { @@ -60,9 +70,19 @@ type DefinitionParameters struct { Service *string `json:"service,omitempty" tf:"service,omitempty"` // Specifies a list of resources or aliases that this Subnet Service Endpoint Storage Policy Definition applies to. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - ServiceResources []*string `json:"serviceResources" tf:"service_resources,omitempty"` + ServiceResources []*string `json:"serviceResources,omitempty" tf:"service_resources,omitempty"` + + // References to ResourceGroup in azure to populate serviceResources. + // +kubebuilder:validation:Optional + ServiceResourcesRefs []v1.Reference `json:"serviceResourcesRefs,omitempty" tf:"-"` + + // Selector for a list of ResourceGroup in azure to populate serviceResources. + // +kubebuilder:validation:Optional + ServiceResourcesSelector *v1.Selector `json:"serviceResourcesSelector,omitempty" tf:"-"` } type SubnetServiceEndpointStoragePolicyInitParameters struct { diff --git a/apis/network/v1beta2/zz_connectionmonitor_types.go b/apis/network/v1beta2/zz_connectionmonitor_types.go index b62da1298..8039daeb7 100755 --- a/apis/network/v1beta2/zz_connectionmonitor_types.go +++ b/apis/network/v1beta2/zz_connectionmonitor_types.go @@ -25,9 +25,19 @@ type ConnectionMonitorInitParameters struct { Notes *string `json:"notes,omitempty" tf:"notes,omitempty"` // A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/operationalinsights/v1beta2.Workspace + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set OutputWorkspaceResourceIds []*string `json:"outputWorkspaceResourceIds,omitempty" tf:"output_workspace_resource_ids,omitempty"` + // References to Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsRefs []v1.Reference `json:"outputWorkspaceResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsSelector *v1.Selector `json:"outputWorkspaceResourceIdsSelector,omitempty" tf:"-"` + // A mapping of tags which should be assigned to the Network Connection Monitor. // +mapType=granular Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` @@ -100,10 +110,20 @@ type ConnectionMonitorParameters struct { Notes *string `json:"notes,omitempty" tf:"notes,omitempty"` // A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/operationalinsights/v1beta2.Workspace + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set OutputWorkspaceResourceIds []*string `json:"outputWorkspaceResourceIds,omitempty" tf:"output_workspace_resource_ids,omitempty"` + // References to Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsRefs []v1.Reference `json:"outputWorkspaceResourceIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Workspace in operationalinsights to populate outputWorkspaceResourceIds. + // +kubebuilder:validation:Optional + OutputWorkspaceResourceIdsSelector *v1.Selector `json:"outputWorkspaceResourceIdsSelector,omitempty" tf:"-"` + // A mapping of tags which should be assigned to the Network Connection Monitor. // +kubebuilder:validation:Optional // +mapType=granular diff --git a/apis/network/v1beta2/zz_generated.deepcopy.go b/apis/network/v1beta2/zz_generated.deepcopy.go index 03a007f6c..0568a8a71 100644 --- a/apis/network/v1beta2/zz_generated.deepcopy.go +++ b/apis/network/v1beta2/zz_generated.deepcopy.go @@ -2846,6 +2846,18 @@ func (in *ConnectionMonitorInitParameters) DeepCopyInto(out *ConnectionMonitorIn } } } + if in.OutputWorkspaceResourceIdsRefs != nil { + in, out := &in.OutputWorkspaceResourceIdsRefs, &out.OutputWorkspaceResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputWorkspaceResourceIdsSelector != nil { + in, out := &in.OutputWorkspaceResourceIdsSelector, &out.OutputWorkspaceResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make(map[string]*string, len(*in)) @@ -3049,6 +3061,18 @@ func (in *ConnectionMonitorParameters) DeepCopyInto(out *ConnectionMonitorParame } } } + if in.OutputWorkspaceResourceIdsRefs != nil { + in, out := &in.OutputWorkspaceResourceIdsRefs, &out.OutputWorkspaceResourceIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputWorkspaceResourceIdsSelector != nil { + in, out := &in.OutputWorkspaceResourceIdsSelector, &out.OutputWorkspaceResourceIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Tags != nil { in, out := &in.Tags, &out.Tags *out = make(map[string]*string, len(*in)) diff --git a/apis/network/v1beta2/zz_generated.resolvers.go b/apis/network/v1beta2/zz_generated.resolvers.go index bd3a0857b..08658e64a 100644 --- a/apis/network/v1beta2/zz_generated.resolvers.go +++ b/apis/network/v1beta2/zz_generated.resolvers.go @@ -230,6 +230,7 @@ func (mg *ConnectionMonitor) ResolveReferences(ctx context.Context, c client.Rea r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta1", "Watcher", "WatcherList") @@ -250,6 +251,44 @@ func (mg *ConnectionMonitor) ResolveReferences(ctx context.Context, c client.Rea } mg.Spec.ForProvider.NetworkWatcherID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.NetworkWatcherIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("operationalinsights.azure.upbound.io", "v1beta2", "Workspace", "WorkspaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.OutputWorkspaceResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.OutputWorkspaceResourceIdsRefs, + Selector: mg.Spec.ForProvider.OutputWorkspaceResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.OutputWorkspaceResourceIds") + } + mg.Spec.ForProvider.OutputWorkspaceResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.OutputWorkspaceResourceIdsRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("operationalinsights.azure.upbound.io", "v1beta2", "Workspace", "WorkspaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.OutputWorkspaceResourceIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.OutputWorkspaceResourceIdsRefs, + Selector: mg.Spec.InitProvider.OutputWorkspaceResourceIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.OutputWorkspaceResourceIds") + } + mg.Spec.InitProvider.OutputWorkspaceResourceIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.OutputWorkspaceResourceIdsRefs = mrsp.ResolvedReferences return nil } diff --git a/apis/sql/v1beta1/zz_generated.deepcopy.go b/apis/sql/v1beta1/zz_generated.deepcopy.go index 229e270f1..00281941c 100644 --- a/apis/sql/v1beta1/zz_generated.deepcopy.go +++ b/apis/sql/v1beta1/zz_generated.deepcopy.go @@ -250,6 +250,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -312,6 +324,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -5307,6 +5331,18 @@ func (in *MSSQLServerIdentityInitParameters) DeepCopyInto(out *MSSQLServerIdenti } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -5379,6 +5415,18 @@ func (in *MSSQLServerIdentityParameters) DeepCopyInto(out *MSSQLServerIdentityPa } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/sql/v1beta1/zz_generated.resolvers.go b/apis/sql/v1beta1/zz_generated.resolvers.go index 04a392dc4..f78787fcb 100644 --- a/apis/sql/v1beta1/zz_generated.resolvers.go +++ b/apis/sql/v1beta1/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *MSSQLDatabase) ResolveReferences( // ResolveReferences of this MSSQLDa r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("sql.azure.upbound.io", "v1beta1", "MSSQLServer", "MSSQLServerList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ServerID), Extract: rconfig.ExtractResourceID(), @@ -65,12 +87,33 @@ func (mg *MSSQLDatabase) ResolveReferences( // ResolveReferences of this MSSQLDa } mg.Spec.ForProvider.TransparentDataEncryptionKeyVaultKeyID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TransparentDataEncryptionKeyVaultKeyIDRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta1", "Key", "KeyList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TransparentDataEncryptionKeyVaultKeyID), Extract: resource.ExtractResourceID(), @@ -846,6 +889,7 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error for i3 := 0; i3 < len(mg.Spec.ForProvider.AzureadAdministrator); i3++ { @@ -889,6 +933,27 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.AzureadAdministrator[i3].ObjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AzureadAdministrator[i3].ObjectIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity[i3].IdentityIds") + } + mg.Spec.ForProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") @@ -988,6 +1053,27 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.InitProvider.AzureadAdministrator[i3].ObjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.AzureadAdministrator[i3].ObjectIDRef = rsp.ResolvedReference + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.Identity); i3++ { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity[i3].IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity[i3].IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity[i3].IdentityIds") + } + mg.Spec.InitProvider.Identity[i3].IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity[i3].IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") diff --git a/apis/sql/v1beta1/zz_mssqldatabase_types.go b/apis/sql/v1beta1/zz_mssqldatabase_types.go index 970a81cf1..a2f765eab 100755 --- a/apis/sql/v1beta1/zz_mssqldatabase_types.go +++ b/apis/sql/v1beta1/zz_mssqldatabase_types.go @@ -16,9 +16,19 @@ import ( type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -36,9 +46,19 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - IdentityIds []*string `json:"identityIds" tf:"identity_ids,omitempty"` + IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` // Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is UserAssigned. // +kubebuilder:validation:Optional diff --git a/apis/sql/v1beta1/zz_mssqlserver_types.go b/apis/sql/v1beta1/zz_mssqlserver_types.go index f3b63e61d..247b1bcb8 100755 --- a/apis/sql/v1beta1/zz_mssqlserver_types.go +++ b/apis/sql/v1beta1/zz_mssqlserver_types.go @@ -105,9 +105,19 @@ type AzureadAdministratorParameters struct { type MSSQLServerIdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -131,10 +141,20 @@ type MSSQLServerIdentityObservation struct { type MSSQLServerIdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/sql/v1beta2/zz_generated.deepcopy.go b/apis/sql/v1beta2/zz_generated.deepcopy.go index 8fced1012..1317d9a50 100644 --- a/apis/sql/v1beta2/zz_generated.deepcopy.go +++ b/apis/sql/v1beta2/zz_generated.deepcopy.go @@ -172,6 +172,18 @@ func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -234,6 +246,18 @@ func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters) { } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -3441,6 +3465,18 @@ func (in *MSSQLServerIdentityInitParameters) DeepCopyInto(out *MSSQLServerIdenti } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) @@ -3513,6 +3549,18 @@ func (in *MSSQLServerIdentityParameters) DeepCopyInto(out *MSSQLServerIdentityPa } } } + if in.IdentityIdsRefs != nil { + in, out := &in.IdentityIdsRefs, &out.IdentityIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityIdsSelector != nil { + in, out := &in.IdentityIdsSelector, &out.IdentityIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Type != nil { in, out := &in.Type, &out.Type *out = new(string) diff --git a/apis/sql/v1beta2/zz_generated.resolvers.go b/apis/sql/v1beta2/zz_generated.resolvers.go index cec9a7925..16073bc87 100644 --- a/apis/sql/v1beta2/zz_generated.resolvers.go +++ b/apis/sql/v1beta2/zz_generated.resolvers.go @@ -26,13 +26,35 @@ func (mg *MSSQLDatabase) ResolveReferences( // ResolveReferences of this MSSQLDa r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("sql.azure.upbound.io", "v1beta2", "MSSQLServer", "MSSQLServerList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ServerID), Extract: rconfig.ExtractResourceID(), @@ -65,12 +87,33 @@ func (mg *MSSQLDatabase) ResolveReferences( // ResolveReferences of this MSSQLDa } mg.Spec.ForProvider.TransparentDataEncryptionKeyVaultKeyID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.TransparentDataEncryptionKeyVaultKeyIDRef = rsp.ResolvedReference + + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("keyvault.azure.upbound.io", "v1beta2", "Key", "KeyList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TransparentDataEncryptionKeyVaultKeyID), Extract: resource.ExtractResourceID(), @@ -515,6 +558,7 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error if mg.Spec.ForProvider.AzureadAdministrator != nil { @@ -558,6 +602,27 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.AzureadAdministrator.ObjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AzureadAdministrator.ObjectIDRef = rsp.ResolvedReference + } + if mg.Spec.ForProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.ForProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Identity.IdentityIds") + } + mg.Spec.ForProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") @@ -657,6 +722,27 @@ func (mg *MSSQLServer) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.InitProvider.AzureadAdministrator.ObjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.AzureadAdministrator.ObjectIDRef = rsp.ResolvedReference + } + if mg.Spec.InitProvider.Identity != nil { + { + m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.Identity.IdentityIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.Identity.IdentityIdsRefs, + Selector: mg.Spec.InitProvider.Identity.IdentityIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Identity.IdentityIds") + } + mg.Spec.InitProvider.Identity.IdentityIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.Identity.IdentityIdsRefs = mrsp.ResolvedReferences + } { m, l, err = apisresolver.GetManagedResource("managedidentity.azure.upbound.io", "v1beta1", "UserAssignedIdentity", "UserAssignedIdentityList") diff --git a/apis/sql/v1beta2/zz_mssqldatabase_types.go b/apis/sql/v1beta2/zz_mssqldatabase_types.go index a13493f2c..f39f8106c 100755 --- a/apis/sql/v1beta2/zz_mssqldatabase_types.go +++ b/apis/sql/v1beta2/zz_mssqldatabase_types.go @@ -16,9 +16,19 @@ import ( type IdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is UserAssigned. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -36,9 +46,19 @@ type IdentityObservation struct { type IdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set - IdentityIds []*string `json:"identityIds" tf:"identity_ids,omitempty"` + IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` // Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is UserAssigned. // +kubebuilder:validation:Optional diff --git a/apis/sql/v1beta2/zz_mssqlserver_types.go b/apis/sql/v1beta2/zz_mssqlserver_types.go index 40c4eb907..c4eccc8e9 100755 --- a/apis/sql/v1beta2/zz_mssqlserver_types.go +++ b/apis/sql/v1beta2/zz_mssqlserver_types.go @@ -105,9 +105,19 @@ type AzureadAdministratorParameters struct { type MSSQLServerIdentityInitParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -131,10 +141,20 @@ type MSSQLServerIdentityObservation struct { type MSSQLServerIdentityParameters struct { // Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/managedidentity/v1beta1.UserAssignedIdentity + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"` + // References to UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsRefs []v1.Reference `json:"identityIdsRefs,omitempty" tf:"-"` + + // Selector for a list of UserAssignedIdentity in managedidentity to populate identityIds. + // +kubebuilder:validation:Optional + IdentityIdsSelector *v1.Selector `json:"identityIdsSelector,omitempty" tf:"-"` + // Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). // +kubebuilder:validation:Optional Type *string `json:"type" tf:"type,omitempty"` diff --git a/apis/storage/v1beta1/zz_account_types.go b/apis/storage/v1beta1/zz_account_types.go index ca130ab00..ea23e64bd 100755 --- a/apis/storage/v1beta1/zz_account_types.go +++ b/apis/storage/v1beta1/zz_account_types.go @@ -1248,8 +1248,18 @@ type NetworkRulesInitParameters struct { PrivateLinkAccess []PrivateLinkAccessInitParameters `json:"privateLinkAccess,omitempty" tf:"private_link_access,omitempty"` // A list of resource ids for subnets. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type NetworkRulesObservation struct { @@ -1294,9 +1304,19 @@ type NetworkRulesParameters struct { PrivateLinkAccess []PrivateLinkAccessParameters `json:"privateLinkAccess,omitempty" tf:"private_link_access,omitempty"` // A list of resource ids for subnets. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type PrivateLinkAccessInitParameters struct { diff --git a/apis/storage/v1beta1/zz_accountnetworkrules_types.go b/apis/storage/v1beta1/zz_accountnetworkrules_types.go index 4245efe60..9f55755e8 100755 --- a/apis/storage/v1beta1/zz_accountnetworkrules_types.go +++ b/apis/storage/v1beta1/zz_accountnetworkrules_types.go @@ -43,8 +43,18 @@ type AccountNetworkRulesInitParameters struct { StorageAccountIDSelector *v1.Selector `json:"storageAccountIdSelector,omitempty" tf:"-"` // A list of virtual network subnet ids to secure the storage account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type AccountNetworkRulesObservation struct { @@ -109,9 +119,19 @@ type AccountNetworkRulesParameters struct { StorageAccountIDSelector *v1.Selector `json:"storageAccountIdSelector,omitempty" tf:"-"` // A list of virtual network subnet ids to secure the storage account. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type AccountNetworkRulesPrivateLinkAccessInitParameters struct { diff --git a/apis/storage/v1beta1/zz_generated.deepcopy.go b/apis/storage/v1beta1/zz_generated.deepcopy.go index b8a2a58a5..de9ae2218 100644 --- a/apis/storage/v1beta1/zz_generated.deepcopy.go +++ b/apis/storage/v1beta1/zz_generated.deepcopy.go @@ -909,6 +909,18 @@ func (in *AccountNetworkRulesInitParameters) DeepCopyInto(out *AccountNetworkRul } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountNetworkRulesInitParameters. @@ -1086,6 +1098,18 @@ func (in *AccountNetworkRulesParameters) DeepCopyInto(out *AccountNetworkRulesPa } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountNetworkRulesParameters. @@ -6436,6 +6460,18 @@ func (in *NetworkRulesInitParameters) DeepCopyInto(out *NetworkRulesInitParamete } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRulesInitParameters. @@ -6556,6 +6592,18 @@ func (in *NetworkRulesParameters) DeepCopyInto(out *NetworkRulesParameters) { } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRulesParameters. diff --git a/apis/storage/v1beta1/zz_generated.resolvers.go b/apis/storage/v1beta1/zz_generated.resolvers.go index 7336fc9d2..c744c658e 100644 --- a/apis/storage/v1beta1/zz_generated.resolvers.go +++ b/apis/storage/v1beta1/zz_generated.resolvers.go @@ -27,13 +27,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.NetworkRules); i3++ { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIds") + } + mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.NetworkRules[i3].VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -48,6 +70,28 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + for i3 := 0; i3 < len(mg.Spec.InitProvider.NetworkRules); i3++ { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIds") + } + mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.NetworkRules[i3].VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences + + } + return nil } @@ -132,6 +176,7 @@ func (mg *AccountNetworkRules) ResolveReferences(ctx context.Context, c client.R r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error { m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta2", "Account", "AccountList") @@ -152,6 +197,25 @@ func (mg *AccountNetworkRules) ResolveReferences(ctx context.Context, c client.R } mg.Spec.ForProvider.StorageAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.StorageAccountIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.ForProvider.VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VirtualNetworkSubnetIds") + } + mg.Spec.ForProvider.VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences { m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta2", "Account", "AccountList") if err != nil { @@ -171,6 +235,25 @@ func (mg *AccountNetworkRules) ResolveReferences(ctx context.Context, c client.R } mg.Spec.InitProvider.StorageAccountID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.StorageAccountIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.InitProvider.VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VirtualNetworkSubnetIds") + } + mg.Spec.InitProvider.VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences return nil } diff --git a/apis/storage/v1beta2/zz_account_types.go b/apis/storage/v1beta2/zz_account_types.go index 134078fea..e7021c210 100755 --- a/apis/storage/v1beta2/zz_account_types.go +++ b/apis/storage/v1beta2/zz_account_types.go @@ -1245,8 +1245,18 @@ type NetworkRulesInitParameters struct { PrivateLinkAccess []PrivateLinkAccessInitParameters `json:"privateLinkAccess,omitempty" tf:"private_link_access,omitempty"` // A list of resource ids for subnets. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type NetworkRulesObservation struct { @@ -1291,9 +1301,19 @@ type NetworkRulesParameters struct { PrivateLinkAccess []PrivateLinkAccessParameters `json:"privateLinkAccess,omitempty" tf:"private_link_access,omitempty"` // A list of resource ids for subnets. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional // +listType=set VirtualNetworkSubnetIds []*string `json:"virtualNetworkSubnetIds,omitempty" tf:"virtual_network_subnet_ids,omitempty"` + + // References to Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsRefs []v1.Reference `json:"virtualNetworkSubnetIdsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. + // +kubebuilder:validation:Optional + VirtualNetworkSubnetIdsSelector *v1.Selector `json:"virtualNetworkSubnetIdsSelector,omitempty" tf:"-"` } type PrivateLinkAccessInitParameters struct { diff --git a/apis/storage/v1beta2/zz_generated.deepcopy.go b/apis/storage/v1beta2/zz_generated.deepcopy.go index b29379dd9..3eadfbab1 100644 --- a/apis/storage/v1beta2/zz_generated.deepcopy.go +++ b/apis/storage/v1beta2/zz_generated.deepcopy.go @@ -3976,6 +3976,18 @@ func (in *NetworkRulesInitParameters) DeepCopyInto(out *NetworkRulesInitParamete } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRulesInitParameters. @@ -4096,6 +4108,18 @@ func (in *NetworkRulesParameters) DeepCopyInto(out *NetworkRulesParameters) { } } } + if in.VirtualNetworkSubnetIdsRefs != nil { + in, out := &in.VirtualNetworkSubnetIdsRefs, &out.VirtualNetworkSubnetIdsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualNetworkSubnetIdsSelector != nil { + in, out := &in.VirtualNetworkSubnetIdsSelector, &out.VirtualNetworkSubnetIdsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRulesParameters. diff --git a/apis/storage/v1beta2/zz_generated.resolvers.go b/apis/storage/v1beta2/zz_generated.resolvers.go index 4362f1611..d2e6f1ff4 100644 --- a/apis/storage/v1beta2/zz_generated.resolvers.go +++ b/apis/storage/v1beta2/zz_generated.resolvers.go @@ -25,13 +25,35 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error r := reference.NewAPIResolver(c, mg) var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse var err error + + if mg.Spec.ForProvider.NetworkRules != nil { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIds") + } + mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.NetworkRules.VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences + + } { m, l, err = apisresolver.GetManagedResource("azure.upbound.io", "v1beta1", "ResourceGroup", "ResourceGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ResourceGroupName), Extract: reference.ExternalName(), @@ -46,6 +68,28 @@ func (mg *Account) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ResourceGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ResourceGroupNameRef = rsp.ResolvedReference + if mg.Spec.InitProvider.NetworkRules != nil { + { + m, l, err = apisresolver.GetManagedResource("network.azure.upbound.io", "v1beta2", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIds), + Extract: resource.ExtractResourceID(), + References: mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIdsRefs, + Selector: mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIdsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIds") + } + mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.NetworkRules.VirtualNetworkSubnetIdsRefs = mrsp.ResolvedReferences + + } + return nil } diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 023f9d07a..1e3c7922d 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -3677,6 +3677,7 @@ resources: references: encryption.identity_client_id: azurerm_user_assigned_identity.example.client_id encryption.key_vault_key_identifier: azurerm_key_vault_key.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -10336,7 +10337,9 @@ resources: "version_id": "${data.azurerm_blueprint_published_version.example.id}" } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location + lock_exclude_principals: data.azurerm_client_config.current.object_id target_subscription_id: data.azurerm_subscription.example.id version_id: data.azurerm_blueprint_published_version.example.id dependencies: @@ -11533,6 +11536,7 @@ resources: } references: cdn_frontdoor_custom_domain_id: azurerm_cdn_frontdoor_custom_domain.example.id + cdn_frontdoor_route_ids: azurerm_cdn_frontdoor_route.example.id dependencies: azurerm_cdn_frontdoor_custom_domain.example: |- { @@ -12267,8 +12271,11 @@ resources: ] } references: + cdn_frontdoor_custom_domain_ids: azurerm_cdn_frontdoor_custom_domain.contoso.id cdn_frontdoor_endpoint_id: azurerm_cdn_frontdoor_endpoint.example.id cdn_frontdoor_origin_group_id: azurerm_cdn_frontdoor_origin_group.example.id + cdn_frontdoor_origin_ids: azurerm_cdn_frontdoor_origin.example.id + cdn_frontdoor_rule_set_ids: azurerm_cdn_frontdoor_rule_set.example.id dependencies: azurerm_cdn_frontdoor_custom_domain.contoso: |- { @@ -12403,6 +12410,7 @@ resources: "cdn_frontdoor_route_id": "${azurerm_cdn_frontdoor_route.example.id}" } references: + cdn_frontdoor_custom_domain_ids: azurerm_cdn_frontdoor_custom_domain.contoso.id cdn_frontdoor_route_id: azurerm_cdn_frontdoor_route.example.id argumentDocs: cdn_frontdoor_custom_domain_ids: '- (Required) The resource IDs of the Front Door Custom Domains which are associated with this Front Door Route.' @@ -13129,6 +13137,7 @@ resources: references: location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name + selectors.chaos_studio_target_ids: azurerm_chaos_studio_target.example.id steps.branch.actions.urn: azurerm_chaos_studio_capability.example.urn dependencies: azurerm_chaos_studio_capability.example: |- @@ -13786,6 +13795,7 @@ resources: ] } references: + filter.dimension.values: azurerm_resource_group.example.name management_group_id: azurerm_management_group.example.id dependencies: azurerm_management_group.example: |- @@ -13900,6 +13910,8 @@ resources: ] } references: + filter.dimension.values: azurerm_monitor_action_group.example.id + notification.contact_groups: azurerm_monitor_action_group.example.id resource_group_id: azurerm_resource_group.example.id dependencies: azurerm_monitor_action_group.example: |- @@ -14018,6 +14030,8 @@ resources: ] } references: + filter.dimension.values: azurerm_resource_group.example.name + notification.contact_groups: azurerm_monitor_action_group.example.id subscription_id: data.azurerm_subscription.current.id dependencies: azurerm_monitor_action_group.example: |- @@ -14371,6 +14385,7 @@ resources: } references: container_app_id: azurerm_container_app.example.id + lifecycle.ignore_changes: certificate_binding_type argumentDocs: certificate_binding_type: '- (Optional) The Certificate Binding type. Possible values include Disabled and SniEnabled. Required with container_app_environment_certificate_id. Changing this forces a new resource to be created.' container_app_environment_certificate_id: '- (Optional) The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.' @@ -15171,6 +15186,7 @@ resources: references: encryption.identity_client_id: azurerm_user_assigned_identity.example.client_id encryption.key_vault_key_id: data.azurerm_key_vault_key.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -15884,6 +15900,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -27100,6 +27117,7 @@ resources: elastic_san_id: azurerm_elastic_san.example.id encryption.key_vault_key_id: azurerm_key_vault_key.example.versionless_id encryption.user_assigned_identity_id: azurerm_user_assigned_identity.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id network_rule.subnet_id: azurerm_subnet.example.id dependencies: azurerm_elastic_san.example: |- @@ -28186,6 +28204,7 @@ resources: } references: eventhub_namespace_id: azurerm_eventhub_namespace.example.id + key_vault_key_ids: azurerm_key_vault_key.example.id dependencies: azurerm_eventhub_cluster.example: |- { @@ -28277,6 +28296,7 @@ resources: } references: eventhub_namespace_id: azurerm_eventhub_namespace.example.id + key_vault_key_ids: azurerm_key_vault_key.example.id user_assigned_identity_id: azurerm_user_assigned_identity.example.id dependencies: azurerm_eventhub_cluster.example: |- @@ -29122,6 +29142,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + cluster_extension_ids: azurerm_arc_kubernetes_cluster_extension.example.id host_resource_id: azurerm_arc_kubernetes_cluster.example.id resource_group_name: azurerm_resource_group.example.name dependencies: @@ -29486,6 +29507,7 @@ resources: references: azure_firewall_name: azurerm_firewall.example.name resource_group_name: azurerm_resource_group.example.name + rule.destination_addresses: azurerm_public_ip.example.ip_address dependencies: azurerm_firewall.example: |- { @@ -32982,6 +33004,7 @@ resources: "workspace_id": "${azurerm_healthcare_workspace.example.id}" } references: + access_policy_object_ids: data.azurerm_client_config.current.object_id workspace_id: azurerm_healthcare_workspace.example.id dependencies: azurerm_healthcare_workspace.example: |- @@ -33878,6 +33901,7 @@ resources: references: location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name + virtual_network_subnet_ids: azurerm_subnet.isesubnet1.id dependencies: azurerm_resource_group.example: |- { @@ -34056,6 +34080,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + iothub_ids: azurerm_iothub.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -35733,6 +35758,7 @@ resources: "value": "my value" } references: + endpoint_names: azurerm_iothub_endpoint_storage_container.example.name iothub_name: azurerm_iothub.example.name resource_group_name: azurerm_resource_group.example.name dependencies: @@ -35825,6 +35851,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + endpoint_names: azurerm_iothub_endpoint_storage_container.example.name iothub_name: azurerm_iothub.example.name resource_group_name: azurerm_resource_group.example.name dependencies: @@ -35982,6 +36009,7 @@ resources: "source": "DeviceMessages" } references: + endpoint_names: azurerm_iothub_endpoint_storage_container.example.name iothub_name: azurerm_iothub.example.name resource_group_name: azurerm_resource_group.example.name dependencies: @@ -36871,6 +36899,7 @@ resources: "tenant_id": "${data.azurerm_client_config.current.tenant_id}" } references: + admin_object_ids: data.azurerm_client_config.current.object_id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name tenant_id: data.azurerm_client_config.current.tenant_id @@ -39674,6 +39703,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + allowed_regions: azurerm_resource_group.example.location location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -41158,6 +41188,7 @@ resources: } references: location: azurerm_resource_group.example.location + network_interface_ids: azurerm_network_interface.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_network_interface.example: |- @@ -42652,6 +42683,7 @@ resources: } references: resource_group_name: azurerm_resource_group.example.name + storage_account_ids: azurerm_storage_account.example.id workspace_resource_id: azurerm_log_analytics_workspace.example.id dependencies: azurerm_log_analytics_workspace.example: |- @@ -45193,6 +45225,7 @@ resources: encryption.key_id: azurerm_key_vault_key.example.id encryption.key_vault_id: azurerm_key_vault.example.id encryption.user_assigned_identity_id: azurerm_user_assigned_identity.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id key_vault_id: azurerm_key_vault.example.id location: azurerm_resource_group.example.location primary_user_assigned_identity: azurerm_user_assigned_identity.example.id @@ -45467,6 +45500,7 @@ resources: "name": "example" } references: + filter.resource_groups: azurerm_resource_group.example.name maintenance_configuration_id: azurerm_maintenance_configuration.example.id dependencies: azurerm_maintenance_configuration.example: |- @@ -46263,6 +46297,8 @@ resources: "${data.azurerm_subscription.current.subscription_id}" ] } + references: + subscription_ids: data.azurerm_subscription.current.subscription_id - name: example_child manifest: |- { @@ -46274,6 +46310,7 @@ resources: } references: parent_management_group_id: azurerm_management_group.example_parent.id + subscription_ids: data.azurerm_subscription.current.subscription_id argumentDocs: display_name: '- (Optional) A friendly name for this Management Group. If not specified, this will be the same as the name.' id: '- The ID of the Management Group.' @@ -47007,6 +47044,7 @@ resources: "role_definition_name": "Marketplace Admin" } references: + lifecycle.ignore_changes: name principal_id: data.azurerm_client_config.example.object_id - name: example manifest: |- @@ -47022,6 +47060,7 @@ resources: "role_definition_id": "${data.azurerm_role_definition.example.id}" } references: + lifecycle.ignore_changes: role_definition_name principal_id: data.azurerm_client_config.example.object_id argumentDocs: condition: '- (Optional) The condition that limits the resources that the role can be assigned to. Changing this forces a new resource to be created.' @@ -48086,6 +48125,7 @@ resources: } references: asset_name: azurerm_media_asset.example.name + filter_names: azurerm_media_services_account_filter.example.name media_services_account_name: azurerm_media_services_account.example.name resource_group_name: azurerm_resource_group.example.name dependencies: @@ -49167,6 +49207,7 @@ resources: location: azurerm_resource_group.example.location platform.edge_device_id: azurerm_databox_edge_device.example.id resource_group_name: azurerm_resource_group.example.name + site_ids: azurerm_mobile_network_site.example.id dependencies: azurerm_databox_edge_device.example: |- { @@ -49561,6 +49602,7 @@ resources: } references: encryption_key_url: data.azurerm_key_vault_key.example.id + identity.identity_ids: data.azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location mobile_network_id: azurerm_mobile_network.example.id dependencies: @@ -49646,6 +49688,7 @@ resources: default_slice_id: azurerm_mobile_network_slice.example.id location: azurerm_resource_group.example.location mobile_network_id: azurerm_mobile_network.example.id + slice.data_network.allowed_services_ids: azurerm_mobile_network_service.example.id slice.data_network.data_network_id: azurerm_mobile_network_data_network.example.id slice.default_data_network_id: azurerm_mobile_network_data_network.example.id slice.slice_id: azurerm_mobile_network_slice.example.id @@ -50157,6 +50200,7 @@ resources: references: action_group_id: azurerm_monitor_action_group.example.id resource_group_name: azurerm_resource_group.example.name + scope.resource_ids: azurerm_resource_group.example.id dependencies: azurerm_monitor_action_group.example: |- { @@ -50250,6 +50294,7 @@ resources: } references: resource_group_name: azurerm_resource_group.example.name + scope.resource_ids: azurerm_resource_group.example.id dependencies: azurerm_resource_group.example: |- { @@ -50336,6 +50381,7 @@ resources: action.action_group_id: azurerm_monitor_action_group.main.id criteria.resource_id: azurerm_storage_account.to_monitor.id resource_group_name: azurerm_resource_group.example.name + scopes: azurerm_resource_group.example.id dependencies: azurerm_monitor_action_group.main: |- { @@ -50478,6 +50524,9 @@ resources: "foo": "bar" } } + references: + add_action_group_ids: azurerm_monitor_action_group.example.id + scopes: azurerm_resource_group.example.id dependencies: azurerm_monitor_action_group.example: |- { @@ -50620,6 +50669,8 @@ resources: "foo": "bar" } } + references: + scopes: azurerm_resource_group.example.id dependencies: azurerm_resource_group.example: |- { @@ -50751,6 +50802,7 @@ resources: cluster_name: azurerm_kubernetes_cluster.example.name resource_group_name: azurerm_resource_group.example.name rule.action.action_group_id: azurerm_monitor_action_group.example.id + scopes: azurerm_monitor_workspace.example.id dependencies: azurerm_kubernetes_cluster.example: |- { @@ -51646,6 +51698,7 @@ resources: destinations.log_analytics.workspace_resource_id: azurerm_log_analytics_workspace.example.id destinations.storage_blob.container_name: azurerm_storage_container.example.name destinations.storage_blob.storage_account_id: azurerm_storage_account.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -52261,6 +52314,7 @@ resources: references: action.action_group_id: azurerm_monitor_action_group.main.id resource_group_name: azurerm_resource_group.example.name + scopes: azurerm_storage_account.to_monitor.id dependencies: azurerm_monitor_action_group.main: |- { @@ -52513,6 +52567,7 @@ resources: ] } references: + authorized_resource_ids: azurerm_application_insights.example2.id data_source_id: azurerm_application_insights.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name @@ -52651,8 +52706,11 @@ resources: "workspace_alerts_storage_enabled": false } references: + action.action_groups: azurerm_monitor_action_group.example.id + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name + scopes: azurerm_application_insights.example.id dependencies: azurerm_application_insights.example: |- { @@ -52870,7 +52928,9 @@ resources: "severity": "Sev0" } references: + action_group.ids: azurerm_monitor_action_group.example.id resource_group_name: azurerm_resource_group.example.name + scope_resource_ids: azurerm_application_insights.example.id dependencies: azurerm_application_insights.example: |- { @@ -53035,6 +53095,7 @@ resources: "zone_redundant": true } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id server_id: azurerm_mssql_server.example.id transparent_data_encryption_key_vault_key_id: azurerm_key_vault_key.example.id dependencies: @@ -53449,6 +53510,7 @@ resources: } } references: + databases: azurerm_mssql_database.example.id partner_server.id: azurerm_mssql_server.secondary.id server_id: azurerm_mssql_server.primary.id dependencies: @@ -54850,6 +54912,7 @@ resources: references: azuread_administrator.login_username: azurerm_user_assigned_identity.example.name azuread_administrator.object_id: azurerm_user_assigned_identity.example.principal_id + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location primary_user_assigned_identity_id: azurerm_user_assigned_identity.example.id resource_group_name: azurerm_resource_group.example.name @@ -55755,6 +55818,7 @@ resources: } references: load_balancer_configuration.load_balancer_id: data.azurerm_lb.example.id + load_balancer_configuration.sql_virtual_machine_ids: azurerm_mssql_virtual_machine.example[0].id load_balancer_configuration.subnet_id: data.azurerm_subnet.example.id replica.sql_virtual_machine_id: azurerm_mssql_virtual_machine.example[1].id sql_virtual_machine_group_id: azurerm_mssql_virtual_machine_group.example.id @@ -56977,6 +57041,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -58270,6 +58335,7 @@ resources: endpoint.target_resource_id: azurerm_virtual_machine.example.id location: azurerm_network_watcher.example.location network_watcher_id: azurerm_network_watcher.example.id + output_workspace_resource_ids: azurerm_log_analytics_workspace.example.id dependencies: azurerm_log_analytics_workspace.example: |- { @@ -58527,6 +58593,7 @@ resources: "traffic_collector_id": "${azurerm_network_function_azure_traffic_collector.example.id}" } references: + ipfx_ingestion.source_resource_ids: azurerm_express_route_circuit.example.id location: azurerm_resource_group.example.location traffic_collector_id: azurerm_network_function_azure_traffic_collector.example.id dependencies: @@ -59167,6 +59234,7 @@ resources: references: location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name + scope.subscription_ids: data.azurerm_subscription.current.id dependencies: azurerm_resource_group.example: |- { @@ -59317,6 +59385,7 @@ resources: "security_admin_configuration_id": "${azurerm_network_manager_security_admin_configuration.example.id}" } references: + network_group_ids: azurerm_network_manager_network_group.example.id security_admin_configuration_id: azurerm_network_manager_security_admin_configuration.example.id dependencies: azurerm_network_manager.example: |- @@ -59480,6 +59549,7 @@ resources: "scope_access": "Connectivity" } references: + configuration_ids: azurerm_network_manager_connectivity_configuration.example.id network_manager_id: azurerm_network_manager.example.id dependencies: azurerm_network_manager.example: |- @@ -59555,6 +59625,7 @@ resources: } } references: + configuration_ids: azurerm_network_manager_security_admin_configuration.example.id network_manager_id: azurerm_network_manager.example.id dependencies: azurerm_network_manager.example: |- @@ -60921,6 +60992,7 @@ resources: "sku": "standard_Monthly" } references: + frontend_public.ip_address: azurerm_public_ip.example.id location: azurerm_resource_group.example.location network_interface.subnet_id: azurerm_subnet.example.id resource_group_name: azurerm_resource_group.example.name @@ -61862,6 +61934,7 @@ resources: } references: network_profile.network_virtual_appliance_id: azurerm_palo_alto_virtual_network_appliance.example.id + network_profile.public_ip_address_ids: azurerm_public_ip.example.id network_profile.virtual_hub_id: azurerm_virtual_hub.example.id resource_group_name: azurerm_resource_group.example.name rulestack_id: azurerm_palo_alto_local_rulestack.example.id @@ -61959,6 +62032,7 @@ resources: references: location: azurerm_resource_group.example.location network_profile.network_virtual_appliance_id: azurerm_palo_alto_virtual_network_appliance.example.id + network_profile.public_ip_address_ids: azurerm_public_ip.example.id network_profile.virtual_hub_id: azurerm_virtual_hub.example.id resource_group_name: azurerm_resource_group.example.name dependencies: @@ -62058,6 +62132,7 @@ resources: "rulestack_id": "${azurerm_palo_alto_local_rulestack.example.id}" } references: + network_profile.public_ip_address_ids: azurerm_public_ip.example.id network_profile.vnet_configuration.trusted_subnet_id: azurerm_subnet.trust.id network_profile.vnet_configuration.untrusted_subnet_id: azurerm_subnet.untrust.id network_profile.vnet_configuration.virtual_network_id: azurerm_virtual_network.example.id @@ -62241,6 +62316,7 @@ resources: } references: location: azurerm_resource_group.example.location + network_profile.public_ip_address_ids: azurerm_public_ip.example.id network_profile.vnet_configuration.trusted_subnet_id: azurerm_subnet.trust.id network_profile.vnet_configuration.untrusted_subnet_id: azurerm_subnet.untrust.id network_profile.vnet_configuration.virtual_network_id: azurerm_virtual_network.example.id @@ -64229,6 +64305,7 @@ resources: } references: location: azurerm_resource_group.example.location + private_dns_resolver_outbound_endpoint_ids: azurerm_private_dns_resolver_outbound_endpoint.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_private_dns_resolver.example: |- @@ -65019,6 +65096,7 @@ resources: } references: location: azurerm_resource_group.example.location + private_dns_zone_group.private_dns_zone_ids: azurerm_private_dns_zone.example.id private_service_connection.private_connection_resource_id: azurerm_storage_account.example.id resource_group_name: azurerm_resource_group.example.name subnet_id: azurerm_subnet.example.id @@ -65275,6 +65353,7 @@ resources: ] } references: + load_balancer_frontend_ip_configuration_ids: azurerm_lb.example.frontend_ip_configuration[0].id location: azurerm_resource_group.example.location nat_ip_configuration.subnet_id: azurerm_subnet.example.id resource_group_name: azurerm_resource_group.example.name @@ -65855,6 +65934,8 @@ resources: "${redis_configuration[0].rdb_storage_connection_string}" ] } + references: + ignore_changes: redis_configuration[0].rdb_storage_connection_string argumentDocs: capacity: '- (Required) The size of the Redis cache to deploy. Valid values for a SKU family of C (Basic/Standard) are 0, 1, 2, 3, 4, 5, 6, and for P (Premium) family are 1, 2, 3, 4, 5.' enable_non_ssl_port: '- (Optional) Enable the non-SSL port (6379) - disabled by default.' @@ -66500,6 +66581,7 @@ resources: "version": "2.40.0" } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_resource_group.example: |- @@ -66579,6 +66661,7 @@ resources: "version": "8.3" } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_resource_group.example: |- @@ -67079,6 +67162,7 @@ resources: "resource_management_private_link_id": "${azurerm_resource_management_private_link.example.id}" } references: + lifecycle.ignore_changes: name management_group_id: azurerm_management_group.example.id resource_management_private_link_id: azurerm_resource_management_private_link.example.id argumentDocs: @@ -67484,6 +67568,7 @@ resources: "scope": "${data.azurerm_subscription.primary.id}" } references: + assignable_scopes: data.azurerm_subscription.primary.id scope: data.azurerm_subscription.primary.id argumentDocs: assignable_scopes: '- (Optional) One or more assignable scopes for this Role Definition, such as /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM.' @@ -72941,6 +73026,7 @@ resources: "target_recovery_fabric_id": "${azurerm_site_recovery_fabric.secondary.id}" } references: + boot_recovery_group.replicated_protected_items: azurerm_site_recovery_replicated_vm.vm-replication.id recovery_vault_id: azurerm_recovery_services_vault.vault.id source_recovery_fabric_id: azurerm_site_recovery_fabric.primary.id target_recovery_fabric_id: azurerm_site_recovery_fabric.secondary.id @@ -73716,6 +73802,7 @@ resources: ] } references: + gateway_ids: azurerm_spring_cloud_gateway.example.id spring_cloud_service_id: azurerm_spring_cloud_service.example.id dependencies: azurerm_resource_group.example: |- @@ -75882,6 +75969,7 @@ resources: "server_name": "${azurerm_sql_server.primary.name}" } references: + databases: azurerm_sql_database.db1.id partner_servers.id: azurerm_sql_server.secondary.id resource_group_name: azurerm_sql_server.primary.resource_group_name server_name: azurerm_sql_server.primary.name @@ -77101,6 +77189,7 @@ resources: } references: location: azurerm_resource_group.example.location + network_rules.virtual_network_subnet_ids: azurerm_subnet.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_resource_group.example: |- @@ -77569,6 +77658,7 @@ resources: } references: storage_account_id: azurerm_storage_account.example.id + virtual_network_subnet_ids: azurerm_subnet.example.id dependencies: azurerm_resource_group.example: |- { @@ -80878,6 +80968,7 @@ resources: "resource_group_name": "${azurerm_resource_group.example.name}" } references: + definition.service_resources: azurerm_resource_group.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -84072,6 +84163,7 @@ resources: } } references: + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name storage_account.id: azurerm_storage_account.example.id @@ -85497,6 +85589,7 @@ resources: } references: location: azurerm_resource_group.example.location + network_interface_ids: azurerm_network_interface.main.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_network_interface.main: |- @@ -87110,6 +87203,8 @@ resources: references: health_probe_id: azurerm_lb_probe.example.id location: azurerm_resource_group.example.location + network_profile.ip_configuration.load_balancer_backend_address_pool_ids: azurerm_lb_backend_address_pool.bpepool.id + network_profile.ip_configuration.load_balancer_inbound_nat_rules_ids: azurerm_lb_nat_pool.lbnatpool.id network_profile.ip_configuration.subnet_id: azurerm_subnet.example.id resource_group_name: azurerm_resource_group.example.name dependencies: @@ -91226,6 +91321,7 @@ resources: } references: location: azurerm_resource_group.example.location + network_interface_ids: azurerm_network_interface.example.id resource_group_name: azurerm_resource_group.example.name dependencies: azurerm_network_interface.example: |- @@ -92332,6 +92428,7 @@ resources: "sap_product": "S4HANA" } references: + lifecycle.ignore_changes: managed_resource_group_name location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name dependencies: @@ -92475,6 +92572,7 @@ resources: } references: app_location: azurerm_resource_group.app.location + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name single_server_configuration.app_resource_group_name: azurerm_resource_group.app.name @@ -92871,6 +92969,7 @@ resources: } references: app_location: azurerm_resource_group.app.location + identity.identity_ids: azurerm_user_assigned_identity.example.id location: azurerm_resource_group.example.location resource_group_name: azurerm_resource_group.example.name three_tier_configuration.app_resource_group_name: azurerm_resource_group.app.name diff --git a/examples-generated/alertsmanagement/v1beta2/monitoractionruleactiongroup.yaml b/examples-generated/alertsmanagement/v1beta2/monitoractionruleactiongroup.yaml index 03dcbdaaf..b03d12e6e 100644 --- a/examples-generated/alertsmanagement/v1beta2/monitoractionruleactiongroup.yaml +++ b/examples-generated/alertsmanagement/v1beta2/monitoractionruleactiongroup.yaml @@ -15,8 +15,8 @@ spec: matchLabels: testing.upbound.io/example-name: example scope: - - resourceIds: - - ${azurerm_resource_group.example.id} + - resourceIdsRefs: + - name: example type: ResourceGroup tags: foo: bar diff --git a/examples-generated/alertsmanagement/v1beta2/monitoractionrulesuppression.yaml b/examples-generated/alertsmanagement/v1beta2/monitoractionrulesuppression.yaml index 966a6f8b5..004390cd0 100644 --- a/examples-generated/alertsmanagement/v1beta2/monitoractionrulesuppression.yaml +++ b/examples-generated/alertsmanagement/v1beta2/monitoractionrulesuppression.yaml @@ -12,8 +12,8 @@ spec: matchLabels: testing.upbound.io/example-name: example scope: - - resourceIds: - - ${azurerm_resource_group.example.id} + - resourceIdsRefs: + - name: example type: ResourceGroup suppression: - recurrenceType: Weekly diff --git a/examples-generated/consumption/v1beta2/budgetmanagementgroup.yaml b/examples-generated/consumption/v1beta2/budgetmanagementgroup.yaml index cee0faa89..f9922efdc 100644 --- a/examples-generated/consumption/v1beta2/budgetmanagementgroup.yaml +++ b/examples-generated/consumption/v1beta2/budgetmanagementgroup.yaml @@ -12,8 +12,8 @@ spec: filter: - dimension: - name: ResourceGroupName - values: - - ${azurerm_resource_group.example.name} + valuesRefs: + - name: example tag: - name: foo values: diff --git a/examples-generated/consumption/v1beta2/budgetresourcegroup.yaml b/examples-generated/consumption/v1beta2/budgetresourcegroup.yaml index a246caf13..502f9ddd8 100644 --- a/examples-generated/consumption/v1beta2/budgetresourcegroup.yaml +++ b/examples-generated/consumption/v1beta2/budgetresourcegroup.yaml @@ -12,8 +12,8 @@ spec: filter: - dimension: - name: ResourceId - values: - - ${azurerm_monitor_action_group.example.id} + valuesRefs: + - name: example tag: - name: foo values: @@ -24,8 +24,8 @@ spec: - contactEmails: - foo@example.com - bar@example.com - contactGroups: - - ${azurerm_monitor_action_group.example.id} + contactGroupsRefs: + - name: example contactRoles: - Owner enabled: true diff --git a/examples-generated/consumption/v1beta2/budgetsubscription.yaml b/examples-generated/consumption/v1beta2/budgetsubscription.yaml index e73763924..4b894f67b 100644 --- a/examples-generated/consumption/v1beta2/budgetsubscription.yaml +++ b/examples-generated/consumption/v1beta2/budgetsubscription.yaml @@ -12,8 +12,8 @@ spec: filter: - dimension: - name: ResourceGroupName - values: - - ${azurerm_resource_group.example.name} + valuesRefs: + - name: example tag: - name: foo values: diff --git a/examples-generated/devices/v1beta1/iothubenrichment.yaml b/examples-generated/devices/v1beta1/iothubenrichment.yaml index cd61871eb..b365faa75 100644 --- a/examples-generated/devices/v1beta1/iothubenrichment.yaml +++ b/examples-generated/devices/v1beta1/iothubenrichment.yaml @@ -8,8 +8,8 @@ metadata: name: example spec: forProvider: - endpointNames: - - ${azurerm_iothub_endpoint_storage_container.example.name} + endpointNamesRefs: + - name: example iothubNameSelector: matchLabels: testing.upbound.io/example-name: example @@ -85,8 +85,8 @@ spec: forProvider: condition: "true" enabled: true - endpointNames: - - ${azurerm_iothub_endpoint_storage_container.example.name} + endpointNamesRefs: + - name: example iothubNameSelector: matchLabels: testing.upbound.io/example-name: example diff --git a/examples-generated/devices/v1beta1/iothubroute.yaml b/examples-generated/devices/v1beta1/iothubroute.yaml index 60ea18147..bd1025e4b 100644 --- a/examples-generated/devices/v1beta1/iothubroute.yaml +++ b/examples-generated/devices/v1beta1/iothubroute.yaml @@ -10,8 +10,8 @@ spec: forProvider: condition: "true" enabled: true - endpointNames: - - ${azurerm_iothub_endpoint_storage_container.example.name} + endpointNamesRefs: + - name: example iothubNameSelector: matchLabels: testing.upbound.io/example-name: example diff --git a/examples-generated/insights/v1beta2/monitordatacollectionrule.yaml b/examples-generated/insights/v1beta2/monitordatacollectionrule.yaml index cf47d6d0d..697b0877d 100644 --- a/examples-generated/insights/v1beta2/monitordatacollectionrule.yaml +++ b/examples-generated/insights/v1beta2/monitordatacollectionrule.yaml @@ -102,8 +102,8 @@ spec: matchLabels: testing.upbound.io/example-name: example identity: - - identityIds: - - ${azurerm_user_assigned_identity.example.id} + - identityIdsRefs: + - name: example type: UserAssigned location: West Europe resourceGroupNameSelector: diff --git a/examples-generated/insights/v1beta2/monitorscheduledqueryrulesalertv2.yaml b/examples-generated/insights/v1beta2/monitorscheduledqueryrulesalertv2.yaml index a4caf6a04..40fa9dff2 100644 --- a/examples-generated/insights/v1beta2/monitorscheduledqueryrulesalertv2.yaml +++ b/examples-generated/insights/v1beta2/monitorscheduledqueryrulesalertv2.yaml @@ -9,8 +9,8 @@ metadata: spec: forProvider: action: - - actionGroups: - - ${azurerm_monitor_action_group.example.id} + - actionGroupsRefs: + - name: example customProperties: key: value key2: value2 @@ -37,8 +37,8 @@ spec: enabled: true evaluationFrequency: PT10M identity: - - identityIds: - - ${azurerm_user_assigned_identity.example.id} + - identityIdsRefs: + - name: example type: UserAssigned location: West Europe queryTimeRangeOverride: PT1H diff --git a/examples-generated/labservices/v1beta2/labserviceplan.yaml b/examples-generated/labservices/v1beta2/labserviceplan.yaml index 260dccf47..b07217e7d 100644 --- a/examples-generated/labservices/v1beta2/labserviceplan.yaml +++ b/examples-generated/labservices/v1beta2/labserviceplan.yaml @@ -8,8 +8,8 @@ metadata: name: example spec: forProvider: - allowedRegions: - - ${azurerm_resource_group.example.location} + allowedRegionsRefs: + - name: example location: West Europe resourceGroupNameSelector: matchLabels: diff --git a/examples-generated/media/v1beta1/streaminglocator.yaml b/examples-generated/media/v1beta1/streaminglocator.yaml index 581b156ed..ff52efff4 100644 --- a/examples-generated/media/v1beta1/streaminglocator.yaml +++ b/examples-generated/media/v1beta1/streaminglocator.yaml @@ -11,8 +11,8 @@ spec: assetNameSelector: matchLabels: testing.upbound.io/example-name: example - filterNames: - - ${azurerm_media_services_account_filter.example.name} + filterNamesRefs: + - name: example mediaServicesAccountNameSelector: matchLabels: testing.upbound.io/example-name: example diff --git a/examples-generated/netapp/v1beta2/account.yaml b/examples-generated/netapp/v1beta2/account.yaml index 707ba8713..948fa08dd 100644 --- a/examples-generated/netapp/v1beta2/account.yaml +++ b/examples-generated/netapp/v1beta2/account.yaml @@ -20,8 +20,8 @@ spec: smbServerName: SMBSERVER username: aduser identity: - - identityIds: - - ${azurerm_user_assigned_identity.example.id} + - identityIdsRefs: + - name: example type: UserAssigned location: West Europe resourceGroupNameSelector: diff --git a/examples-generated/network/v1beta1/firewallnatrulecollection.yaml b/examples-generated/network/v1beta1/firewallnatrulecollection.yaml index ae5b0226d..6f954c2af 100644 --- a/examples-generated/network/v1beta1/firewallnatrulecollection.yaml +++ b/examples-generated/network/v1beta1/firewallnatrulecollection.yaml @@ -17,8 +17,8 @@ spec: matchLabels: testing.upbound.io/example-name: example rule: - - destinationAddresses: - - ${azurerm_public_ip.example.ip_address} + - destinationAddressesRefs: + - name: example destinationPorts: - "53" name: testrule diff --git a/examples-generated/network/v1beta1/subnetserviceendpointstoragepolicy.yaml b/examples-generated/network/v1beta1/subnetserviceendpointstoragepolicy.yaml index 048254b16..0589d8c52 100644 --- a/examples-generated/network/v1beta1/subnetserviceendpointstoragepolicy.yaml +++ b/examples-generated/network/v1beta1/subnetserviceendpointstoragepolicy.yaml @@ -12,19 +12,19 @@ spec: - description: definition1 name: name1 service: Microsoft.Storage - serviceResources: - - ${azurerm_resource_group.example.id} - - ${azurerm_storage_account.example.id} + serviceResourcesRefs: + - name: example + - name: example - description: definition2 name: name2 service: Global - serviceResources: - - /services/Azure - - /services/Azure/Batch - - /services/Azure/DataFactory - - /services/Azure/MachineLearning - - /services/Azure/ManagedInstance - - /services/Azure/WebPI + serviceResourcesRefs: + - name: example + - name: example + - name: example + - name: example + - name: example + - name: example location: West Europe resourceGroupNameSelector: matchLabels: diff --git a/examples-generated/network/v1beta2/connectionmonitor.yaml b/examples-generated/network/v1beta2/connectionmonitor.yaml index 5acbc8e10..be5e148c1 100644 --- a/examples-generated/network/v1beta2/connectionmonitor.yaml +++ b/examples-generated/network/v1beta2/connectionmonitor.yaml @@ -23,8 +23,8 @@ spec: matchLabels: testing.upbound.io/example-name: example notes: examplenote - outputWorkspaceResourceIds: - - ${azurerm_log_analytics_workspace.example.id} + outputWorkspaceResourceIdsRefs: + - name: example testConfiguration: - name: tcpName protocol: Tcp diff --git a/examples-generated/storage/v1beta1/accountnetworkrules.yaml b/examples-generated/storage/v1beta1/accountnetworkrules.yaml index af8124893..45f9c9e5a 100644 --- a/examples-generated/storage/v1beta1/accountnetworkrules.yaml +++ b/examples-generated/storage/v1beta1/accountnetworkrules.yaml @@ -16,8 +16,8 @@ spec: storageAccountIdSelector: matchLabels: testing.upbound.io/example-name: example - virtualNetworkSubnetIds: - - ${azurerm_subnet.example.id} + virtualNetworkSubnetIdsRefs: + - name: example --- diff --git a/examples-generated/storagecache/v1beta1/hpccacheblobnfstarget.yaml b/examples-generated/storagecache/v1beta1/hpccacheblobnfstarget.yaml index dc11ac68e..6560cc5af 100644 --- a/examples-generated/storagecache/v1beta1/hpccacheblobnfstarget.yaml +++ b/examples-generated/storagecache/v1beta1/hpccacheblobnfstarget.yaml @@ -184,8 +184,8 @@ spec: location: west europe networkRules: - defaultAction: Deny - virtualNetworkSubnetIds: - - ${azurerm_subnet.example.id} + virtualNetworkSubnetIdsRefs: + - name: example nfsv3Enabled: true resourceGroupNameSelector: matchLabels: diff --git a/examples/consumption/v1beta1/budgetresourcegroup.yaml b/examples/consumption/v1beta1/budgetresourcegroup.yaml index ddbde1d72..04a147bc6 100644 --- a/examples/consumption/v1beta1/budgetresourcegroup.yaml +++ b/examples/consumption/v1beta1/budgetresourcegroup.yaml @@ -29,8 +29,8 @@ spec: testing.upbound.io/example-name: consumeexamplerg timeGrain: Monthly timePeriod: - - endDate: "2023-07-01T00:00:00Z" - startDate: "2023-06-01T00:00:00Z" + - endDate: "2024-12-01T00:00:00Z" + startDate: "2024-11-01T00:00:00Z" --- diff --git a/examples/containerapp/v1beta1/containerapp-with-secret.yaml b/examples/containerapp/v1beta1/containerapp-with-secret.yaml new file mode 100644 index 000000000..81b643f41 --- /dev/null +++ b/examples/containerapp/v1beta1/containerapp-with-secret.yaml @@ -0,0 +1,93 @@ +# SPDX-FileCopyrightText: 2024 The Crossplane Authors +# +# SPDX-License-Identifier: CC0-1.0 + +apiVersion: containerapp.azure.upbound.io/v1beta1 +kind: ContainerApp +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta1/containerapp + labels: + testing.upbound.io/example-name: example + name: example-capp +spec: + forProvider: + containerAppEnvironmentIdSelector: + matchLabels: + testing.upbound.io/example-name: example + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + revisionMode: Single + template: + - container: + - cpu: 0.25 + image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest + memory: 0.5Gi + name: examplecontainerapp + secret: + - nameSecretRef: + key: name + name: example-secret + namespace: upbound-system + valueSecretRef: + key: value + name: example-secret + namespace: upbound-system +--- +apiVersion: v1 +kind: Secret +metadata: + name: example-secret + namespace: upbound-system +type: Opaque +stringData: + value: dXBib3VuZHJvY2tz + name: upbtestone +--- +apiVersion: containerapp.azure.upbound.io/v1beta1 +kind: Environment +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta1/containerapp + labels: + testing.upbound.io/example-name: example + name: example-env +spec: + forProvider: + location: East US + logAnalyticsWorkspaceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example +--- +apiVersion: operationalinsights.azure.upbound.io/v1beta1 +kind: Workspace +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta1/containerapp + labels: + testing.upbound.io/example-name: example + name: example-wr +spec: + forProvider: + location: East US + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + retentionInDays: 30 + sku: PerGB2018 +--- +apiVersion: azure.upbound.io/v1beta1 +kind: ResourceGroup +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta1/containerapp + labels: + testing.upbound.io/example-name: example + name: example-rg-capp +spec: + forProvider: + location: East US diff --git a/examples/containerapp/v1beta2/containerapp-with-secret.yaml b/examples/containerapp/v1beta2/containerapp-with-secret.yaml new file mode 100644 index 000000000..339d89946 --- /dev/null +++ b/examples/containerapp/v1beta2/containerapp-with-secret.yaml @@ -0,0 +1,93 @@ +# SPDX-FileCopyrightText: 2024 The Crossplane Authors +# +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: containerapp.azure.upbound.io/v1beta2 +kind: ContainerApp +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta2/containerapp + labels: + testing.upbound.io/example-name: example + name: example-capp-v2 +spec: + forProvider: + containerAppEnvironmentIdSelector: + matchLabels: + testing.upbound.io/example-name: example + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + revisionMode: Single + template: + container: + - cpu: 0.25 + image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest + memory: 0.5Gi + name: examplecontainerapp + secret: + - nameSecretRef: + key: name + name: example-secret + namespace: upbound-system + valueSecretRef: + key: value + name: example-secret + namespace: upbound-system +--- +apiVersion: v1 +kind: Secret +metadata: + name: example-secret + namespace: upbound-system +type: Opaque +stringData: + value: dXBib3VuZHJvY2tz + name: upbtesttwo +--- +apiVersion: containerapp.azure.upbound.io/v1beta1 +kind: Environment +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta2/containerapp + labels: + testing.upbound.io/example-name: example + name: example-env-v2 +spec: + forProvider: + location: West Europe + logAnalyticsWorkspaceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example +--- +apiVersion: operationalinsights.azure.upbound.io/v1beta2 +kind: Workspace +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta2/containerapp + labels: + testing.upbound.io/example-name: example + name: example-ws-v2 +spec: + forProvider: + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + retentionInDays: 30 + sku: PerGB2018 +--- +apiVersion: azure.upbound.io/v1beta1 +kind: ResourceGroup +metadata: + annotations: + meta.upbound.io/example-id: containerapp/v1beta1/containerapp + labels: + testing.upbound.io/example-name: example + name: example-rg-v2 +spec: + forProvider: + location: West Europe diff --git a/go.mod b/go.mod index 679a31e9f..114288266 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/alecthomas/kingpin/v2 v2.4.0 github.com/crossplane/crossplane-runtime v1.16.0 github.com/crossplane/crossplane-tools v0.0.0-20240522174801-1ad3d4c87f21 - github.com/crossplane/upjet v1.4.1-0.20240911184956-3afbb7796d46 + github.com/crossplane/upjet v1.4.1-0.20241115110640-be5e03679440 github.com/google/go-cmp v0.6.0 github.com/hashicorp/terraform-json v0.22.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 diff --git a/go.sum b/go.sum index ace738795..d724e6f4c 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/crossplane/crossplane-runtime v1.16.0 h1:lz+l0wEB3qowdTmN7t0PZkfuNSvf github.com/crossplane/crossplane-runtime v1.16.0/go.mod h1:Pz2tdGVMF6KDGzHZOkvKro0nKc8EzK0sb/nSA7pH4Dc= github.com/crossplane/crossplane-tools v0.0.0-20240522174801-1ad3d4c87f21 h1:8wb7/zCbVPkeX68WbVESWJmSWQE5SZKzz0g9X4FlXRw= github.com/crossplane/crossplane-tools v0.0.0-20240522174801-1ad3d4c87f21/go.mod h1:cN0Y7PFGQMM8mcagXVCbeQoKtipmFWQTPZYyziCPBUI= -github.com/crossplane/upjet v1.4.1-0.20240911184956-3afbb7796d46 h1:2IH1YPTBrNmBj0Z1OCjEBTrQCuRaLutZbWLaswFeCFQ= -github.com/crossplane/upjet v1.4.1-0.20240911184956-3afbb7796d46/go.mod h1:wkdZf/Cvhr6PI30VdHIOjg4dX39Z5uijqnLWFk5PbGM= +github.com/crossplane/upjet v1.4.1-0.20241115110640-be5e03679440 h1:yPeR17+DG6HdgW6F6m1OJGvVgQAhUAY+SVuzpbdRs+Y= +github.com/crossplane/upjet v1.4.1-0.20241115110640-be5e03679440/go.mod h1:wkdZf/Cvhr6PI30VdHIOjg4dX39Z5uijqnLWFk5PbGM= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/dave/jennifer v1.7.0 h1:uRbSBH9UTS64yXbh4FrMHfgfY762RD+C7bUPKODpSJE= diff --git a/package/crds/alertsmanagement.azure.upbound.io_monitoractionruleactiongroups.yaml b/package/crds/alertsmanagement.azure.upbound.io_monitoractionruleactiongroups.yaml index e319ec8f4..45a5fc7c0 100644 --- a/package/crds/alertsmanagement.azure.upbound.io_monitoractionruleactiongroups.yaml +++ b/package/crds/alertsmanagement.azure.upbound.io_monitoractionruleactiongroups.yaml @@ -376,6 +376,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -623,6 +702,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -1377,6 +1535,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -1606,6 +1843,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. diff --git a/package/crds/alertsmanagement.azure.upbound.io_monitoractionrulesuppressions.yaml b/package/crds/alertsmanagement.azure.upbound.io_monitoractionrulesuppressions.yaml index 170ee3ad3..afd084f46 100644 --- a/package/crds/alertsmanagement.azure.upbound.io_monitoractionrulesuppressions.yaml +++ b/package/crds/alertsmanagement.azure.upbound.io_monitoractionrulesuppressions.yaml @@ -297,6 +297,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -506,6 +585,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -1265,6 +1423,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. @@ -1452,6 +1689,85 @@ spec: type: string type: array x-kubernetes-list-type: set + resourceIdsRefs: + description: References to ResourceGroup in azure to populate + resourceIds. + 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 + resourceIdsSelector: + description: Selector for a list of ResourceGroup in azure + to populate resourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of target scope. Possible values are ResourceGroup and Resource. diff --git a/package/crds/appconfiguration.azure.upbound.io_configurations.yaml b/package/crds/appconfiguration.azure.upbound.io_configurations.yaml index 5786db628..b675be0fc 100644 --- a/package/crds/appconfiguration.azure.upbound.io_configurations.yaml +++ b/package/crds/appconfiguration.azure.upbound.io_configurations.yaml @@ -250,6 +250,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible @@ -575,6 +654,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible @@ -1266,6 +1424,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible @@ -1585,6 +1822,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this App Configuration. Possible diff --git a/package/crds/consumption.azure.upbound.io_budgetmanagementgroups.yaml b/package/crds/consumption.azure.upbound.io_budgetmanagementgroups.yaml index 05377f62d..daef04232 100644 --- a/package/crds/consumption.azure.upbound.io_budgetmanagementgroups.yaml +++ b/package/crds/consumption.azure.upbound.io_budgetmanagementgroups.yaml @@ -100,6 +100,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure + to populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup + in azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -357,6 +436,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure + to populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup + in azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1077,6 +1235,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure to + populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup in + azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1319,6 +1556,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure to + populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup in + azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: diff --git a/package/crds/consumption.azure.upbound.io_budgetresourcegroups.yaml b/package/crds/consumption.azure.upbound.io_budgetresourcegroups.yaml index 3ac0cef38..fe4bffd15 100644 --- a/package/crds/consumption.azure.upbound.io_budgetresourcegroups.yaml +++ b/package/crds/consumption.azure.upbound.io_budgetresourcegroups.yaml @@ -100,6 +100,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to MonitorActionGroup in insights + to populate values. + 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 + valuesSelector: + description: Selector for a list of MonitorActionGroup + in insights to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -194,6 +273,85 @@ spec: items: type: string type: array + contactGroupsRefs: + description: References to MonitorActionGroup in insights + to populate contactGroups. + 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 + contactGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate contactGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object contactRoles: description: Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. @@ -371,6 +529,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to MonitorActionGroup in insights + to populate values. + 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 + valuesSelector: + description: Selector for a list of MonitorActionGroup + in insights to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -465,6 +702,85 @@ spec: items: type: string type: array + contactGroupsRefs: + description: References to MonitorActionGroup in insights + to populate contactGroups. + 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 + contactGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate contactGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object contactRoles: description: Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. @@ -1118,6 +1434,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to MonitorActionGroup in insights + to populate values. + 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 + valuesSelector: + description: Selector for a list of MonitorActionGroup + in insights to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1201,6 +1596,85 @@ spec: items: type: string type: array + contactGroupsRefs: + description: References to MonitorActionGroup in insights + to populate contactGroups. + 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 + contactGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate contactGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object contactRoles: description: Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. @@ -1375,6 +1849,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to MonitorActionGroup in insights + to populate values. + 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 + valuesSelector: + description: Selector for a list of MonitorActionGroup + in insights to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1458,6 +2011,85 @@ spec: items: type: string type: array + contactGroupsRefs: + description: References to MonitorActionGroup in insights + to populate contactGroups. + 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 + contactGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate contactGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object contactRoles: description: Specifies a list of contact roles to send the budget notification to when the threshold is exceeded. diff --git a/package/crds/consumption.azure.upbound.io_budgetsubscriptions.yaml b/package/crds/consumption.azure.upbound.io_budgetsubscriptions.yaml index 31270232b..6f954c908 100644 --- a/package/crds/consumption.azure.upbound.io_budgetsubscriptions.yaml +++ b/package/crds/consumption.azure.upbound.io_budgetsubscriptions.yaml @@ -100,6 +100,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure + to populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup + in azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -368,6 +447,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure + to populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup + in azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1106,6 +1264,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure to + populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup in + azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: @@ -1360,6 +1597,85 @@ spec: items: type: string type: array + valuesRefs: + description: References to ResourceGroup in azure to + populate values. + 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 + valuesSelector: + description: Selector for a list of ResourceGroup in + azure to populate values. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with + matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 not: diff --git a/package/crds/containerregistry.azure.upbound.io_registries.yaml b/package/crds/containerregistry.azure.upbound.io_registries.yaml index a9505cee6..d9377718b 100644 --- a/package/crds/containerregistry.azure.upbound.io_registries.yaml +++ b/package/crds/containerregistry.azure.upbound.io_registries.yaml @@ -222,6 +222,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Container Registry. @@ -642,6 +721,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Container Registry. @@ -1460,6 +1618,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible @@ -1870,6 +2107,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Container Registry. Possible diff --git a/package/crds/cosmosdb.azure.upbound.io_accounts.yaml b/package/crds/cosmosdb.azure.upbound.io_accounts.yaml index 70f3f5ce4..45b0d40f7 100644 --- a/package/crds/cosmosdb.azure.upbound.io_accounts.yaml +++ b/package/crds/cosmosdb.azure.upbound.io_accounts.yaml @@ -283,6 +283,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned @@ -817,6 +896,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned @@ -1943,6 +2101,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned @@ -2457,6 +2694,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 Managed Identity assigned to this Cosmos account. Possible values are SystemAssigned, UserAssigned diff --git a/package/crds/devices.azure.upbound.io_iothubenrichments.yaml b/package/crds/devices.azure.upbound.io_iothubenrichments.yaml index c3de8a610..a1b47d1cc 100644 --- a/package/crds/devices.azure.upbound.io_iothubenrichments.yaml +++ b/package/crds/devices.azure.upbound.io_iothubenrichments.yaml @@ -78,6 +78,85 @@ spec: items: type: string type: array + endpointNamesRefs: + description: References to IOTHubEndpointStorageContainer in devices + to populate endpointNames. + 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 + endpointNamesSelector: + description: Selector for a list of IOTHubEndpointStorageContainer + in devices to populate endpointNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object iothubName: description: The IoTHub name of the enrichment. Changing this forces a new resource to be created. @@ -265,6 +344,85 @@ spec: items: type: string type: array + endpointNamesRefs: + description: References to IOTHubEndpointStorageContainer in devices + to populate endpointNames. + 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 + endpointNamesSelector: + description: Selector for a list of IOTHubEndpointStorageContainer + in devices to populate endpointNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object iothubName: description: The IoTHub name of the enrichment. Changing this forces a new resource to be created. @@ -602,10 +760,6 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.endpointNames is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.endpointNames) - || (has(self.initProvider) && has(self.initProvider.endpointNames))' - message: spec.forProvider.key is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.key) diff --git a/package/crds/devices.azure.upbound.io_iothubroutes.yaml b/package/crds/devices.azure.upbound.io_iothubroutes.yaml index 5c78e375c..7d27edcaa 100644 --- a/package/crds/devices.azure.upbound.io_iothubroutes.yaml +++ b/package/crds/devices.azure.upbound.io_iothubroutes.yaml @@ -87,6 +87,85 @@ spec: items: type: string type: array + endpointNamesRefs: + description: References to IOTHubEndpointStorageContainer in devices + to populate endpointNames. + 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 + endpointNamesSelector: + description: Selector for a list of IOTHubEndpointStorageContainer + in devices to populate endpointNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object iothubName: description: The name of the IoTHub to which this Route belongs. Changing this forces a new resource to be created. @@ -280,6 +359,85 @@ spec: items: type: string type: array + endpointNamesRefs: + description: References to IOTHubEndpointStorageContainer in devices + to populate endpointNames. + 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 + endpointNamesSelector: + description: Selector for a list of IOTHubEndpointStorageContainer + in devices to populate endpointNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object source: description: 'The source that the routing rule is to be applied to. Possible values include: DeviceConnectionStateEvents, DeviceJobLifecycleEvents, @@ -459,10 +617,6 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.enabled) || (has(self.initProvider) && has(self.initProvider.enabled))' - - message: spec.forProvider.endpointNames is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.endpointNames) - || (has(self.initProvider) && has(self.initProvider.endpointNames))' - message: spec.forProvider.source is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.source) diff --git a/package/crds/insights.azure.upbound.io_monitordatacollectionrules.yaml b/package/crds/insights.azure.upbound.io_monitordatacollectionrules.yaml index 04499c1f3..cc244f60c 100644 --- a/package/crds/insights.azure.upbound.io_monitordatacollectionrules.yaml +++ b/package/crds/insights.azure.upbound.io_monitordatacollectionrules.yaml @@ -980,6 +980,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. @@ -2036,6 +2115,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. @@ -3868,6 +4026,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. @@ -4890,6 +5127,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. diff --git a/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalerts.yaml b/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalerts.yaml index f6509ca06..13b6d0feb 100644 --- a/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalerts.yaml +++ b/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalerts.yaml @@ -180,6 +180,85 @@ spec: type: string type: array x-kubernetes-list-type: set + authorizedResourceIdsRefs: + description: References to ApplicationInsights in insights to + populate authorizedResourceIds. + 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 + authorizedResourceIdsSelector: + description: Selector for a list of ApplicationInsights in insights + to populate authorizedResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object autoMitigationEnabled: description: |- Should the alerts in this Metric Alert be auto resolved? Defaults to false. @@ -552,6 +631,85 @@ spec: type: string type: array x-kubernetes-list-type: set + authorizedResourceIdsRefs: + description: References to ApplicationInsights in insights to + populate authorizedResourceIds. + 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 + authorizedResourceIdsSelector: + description: Selector for a list of ApplicationInsights in insights + to populate authorizedResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object autoMitigationEnabled: description: |- Should the alerts in this Metric Alert be auto resolved? Defaults to false. @@ -1360,6 +1518,85 @@ spec: type: string type: array x-kubernetes-list-type: set + authorizedResourceIdsRefs: + description: References to ApplicationInsights in insights to + populate authorizedResourceIds. + 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 + authorizedResourceIdsSelector: + description: Selector for a list of ApplicationInsights in insights + to populate authorizedResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object autoMitigationEnabled: description: |- Should the alerts in this Metric Alert be auto resolved? Defaults to false. @@ -1724,6 +1961,85 @@ spec: type: string type: array x-kubernetes-list-type: set + authorizedResourceIdsRefs: + description: References to ApplicationInsights in insights to + populate authorizedResourceIds. + 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 + authorizedResourceIdsSelector: + description: Selector for a list of ApplicationInsights in insights + to populate authorizedResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object autoMitigationEnabled: description: |- Should the alerts in this Metric Alert be auto resolved? Defaults to false. diff --git a/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalertv2s.yaml b/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalertv2s.yaml index 031281289..0fc0ee1ff 100644 --- a/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalertv2s.yaml +++ b/package/crds/insights.azure.upbound.io_monitorscheduledqueryrulesalertv2s.yaml @@ -85,6 +85,85 @@ spec: items: type: string type: array + actionGroupsRefs: + description: References to MonitorActionGroup in insights + to populate actionGroups. + 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 + actionGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate actionGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object customProperties: additionalProperties: type: string @@ -200,6 +279,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. @@ -454,6 +612,85 @@ spec: items: type: string type: array + actionGroupsRefs: + description: References to MonitorActionGroup in insights + to populate actionGroups. + 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 + actionGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate actionGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object customProperties: additionalProperties: type: string @@ -569,6 +806,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. @@ -1261,6 +1577,85 @@ spec: items: type: string type: array + actionGroupsRefs: + description: References to MonitorActionGroup in insights + to populate actionGroups. + 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 + actionGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate actionGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object customProperties: additionalProperties: type: string @@ -1371,6 +1766,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. @@ -1623,6 +2097,85 @@ spec: items: type: string type: array + actionGroupsRefs: + description: References to MonitorActionGroup in insights + to populate actionGroups. + 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 + actionGroupsSelector: + description: Selector for a list of MonitorActionGroup in + insights to populate actionGroups. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object customProperties: additionalProperties: type: string @@ -1733,6 +2286,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Scheduled Query Rule. diff --git a/package/crds/labservices.azure.upbound.io_labserviceplans.yaml b/package/crds/labservices.azure.upbound.io_labserviceplans.yaml index aceeb43c3..93de1539f 100644 --- a/package/crds/labservices.azure.upbound.io_labserviceplans.yaml +++ b/package/crds/labservices.azure.upbound.io_labserviceplans.yaml @@ -80,6 +80,85 @@ spec: items: type: string type: array + allowedRegionsRefs: + description: References to ResourceGroup in azure to populate + allowedRegions. + 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 + allowedRegionsSelector: + description: Selector for a list of ResourceGroup in azure to + populate allowedRegions. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object defaultAutoShutdown: description: A default_auto_shutdown block as defined below. items: @@ -346,6 +425,85 @@ spec: items: type: string type: array + allowedRegionsRefs: + description: References to ResourceGroup in azure to populate + allowedRegions. + 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 + allowedRegionsSelector: + description: Selector for a list of ResourceGroup in azure to + populate allowedRegions. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object defaultAutoShutdown: description: A default_auto_shutdown block as defined below. items: @@ -679,10 +837,6 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.allowedRegions is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.allowedRegions) - || (has(self.initProvider) && has(self.initProvider.allowedRegions))' - message: spec.forProvider.location is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.location) @@ -921,6 +1075,85 @@ spec: items: type: string type: array + allowedRegionsRefs: + description: References to ResourceGroup in azure to populate + allowedRegions. + 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 + allowedRegionsSelector: + description: Selector for a list of ResourceGroup in azure to + populate allowedRegions. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object defaultAutoShutdown: description: A default_auto_shutdown block as defined below. properties: @@ -1181,6 +1414,85 @@ spec: items: type: string type: array + allowedRegionsRefs: + description: References to ResourceGroup in azure to populate + allowedRegions. + 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 + allowedRegionsSelector: + description: Selector for a list of ResourceGroup in azure to + populate allowedRegions. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object defaultAutoShutdown: description: A default_auto_shutdown block as defined below. properties: @@ -1508,10 +1820,6 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.allowedRegions is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.allowedRegions) - || (has(self.initProvider) && has(self.initProvider.allowedRegions))' - message: spec.forProvider.location is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.location) diff --git a/package/crds/machinelearningservices.azure.upbound.io_workspaces.yaml b/package/crds/machinelearningservices.azure.upbound.io_workspaces.yaml index 53f7e27b9..9e2f0c401 100644 --- a/package/crds/machinelearningservices.azure.upbound.io_workspaces.yaml +++ b/package/crds/machinelearningservices.azure.upbound.io_workspaces.yaml @@ -443,6 +443,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. @@ -1294,6 +1373,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. @@ -2515,6 +2673,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. @@ -3352,6 +3589,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this Machine Learning Workspace. diff --git a/package/crds/media.azure.upbound.io_streaminglocators.yaml b/package/crds/media.azure.upbound.io_streaminglocators.yaml index 1c20377cc..4c309e09d 100644 --- a/package/crds/media.azure.upbound.io_streaminglocators.yaml +++ b/package/crds/media.azure.upbound.io_streaminglocators.yaml @@ -200,6 +200,85 @@ spec: items: type: string type: array + filterNamesRefs: + description: References to ServicesAccountFilter in media to populate + filterNames. + 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 + filterNamesSelector: + description: Selector for a list of ServicesAccountFilter in media + to populate filterNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object mediaServicesAccountName: description: The Media Services account name. Changing this forces a new Streaming Locator to be created. @@ -519,6 +598,85 @@ spec: items: type: string type: array + filterNamesRefs: + description: References to ServicesAccountFilter in media to populate + filterNames. + 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 + filterNamesSelector: + description: Selector for a list of ServicesAccountFilter in media + to populate filterNames. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object startTime: description: The start time of the Streaming Locator. Changing this forces a new Streaming Locator to be created. diff --git a/package/crds/netapp.azure.upbound.io_accounts.yaml b/package/crds/netapp.azure.upbound.io_accounts.yaml index ce942f171..0dd3eaa6e 100644 --- a/package/crds/netapp.azure.upbound.io_accounts.yaml +++ b/package/crds/netapp.azure.upbound.io_accounts.yaml @@ -186,6 +186,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported @@ -392,6 +471,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported @@ -918,6 +1076,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by @@ -1139,6 +1376,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 identity type, which can be SystemAssigned or UserAssigned. Only one type at a time is supported by diff --git a/package/crds/network.azure.upbound.io_connectionmonitors.yaml b/package/crds/network.azure.upbound.io_connectionmonitors.yaml index 8d23bd26f..8419280e1 100644 --- a/package/crds/network.azure.upbound.io_connectionmonitors.yaml +++ b/package/crds/network.azure.upbound.io_connectionmonitors.yaml @@ -233,6 +233,85 @@ spec: type: string type: array x-kubernetes-list-type: set + outputWorkspaceResourceIdsRefs: + description: References to Workspace in operationalinsights to + populate outputWorkspaceResourceIds. + 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 + outputWorkspaceResourceIdsSelector: + description: Selector for a list of Workspace in operationalinsights + to populate outputWorkspaceResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: additionalProperties: type: string @@ -473,6 +552,85 @@ spec: type: string type: array x-kubernetes-list-type: set + outputWorkspaceResourceIdsRefs: + description: References to Workspace in operationalinsights to + populate outputWorkspaceResourceIds. + 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 + outputWorkspaceResourceIdsSelector: + description: Selector for a list of Workspace in operationalinsights + to populate outputWorkspaceResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: additionalProperties: type: string @@ -1316,6 +1474,85 @@ spec: type: string type: array x-kubernetes-list-type: set + outputWorkspaceResourceIdsRefs: + description: References to Workspace in operationalinsights to + populate outputWorkspaceResourceIds. + 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 + outputWorkspaceResourceIdsSelector: + description: Selector for a list of Workspace in operationalinsights + to populate outputWorkspaceResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: additionalProperties: type: string @@ -1547,6 +1784,85 @@ spec: type: string type: array x-kubernetes-list-type: set + outputWorkspaceResourceIdsRefs: + description: References to Workspace in operationalinsights to + populate outputWorkspaceResourceIds. + 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 + outputWorkspaceResourceIdsSelector: + description: Selector for a list of Workspace in operationalinsights + to populate outputWorkspaceResourceIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: additionalProperties: type: string diff --git a/package/crds/network.azure.upbound.io_firewallnatrulecollections.yaml b/package/crds/network.azure.upbound.io_firewallnatrulecollections.yaml index be87e4c4d..beb816f85 100644 --- a/package/crds/network.azure.upbound.io_firewallnatrulecollections.yaml +++ b/package/crds/network.azure.upbound.io_firewallnatrulecollections.yaml @@ -255,6 +255,85 @@ spec: items: type: string type: array + destinationAddressesRefs: + description: References to PublicIP in network to populate + destinationAddresses. + 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 + destinationAddressesSelector: + description: Selector for a list of PublicIP in network + to populate destinationAddresses. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object destinationPorts: description: A list of destination ports. items: @@ -323,6 +402,85 @@ spec: items: type: string type: array + destinationAddressesRefs: + description: References to PublicIP in network to populate + destinationAddresses. + 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 + destinationAddressesSelector: + description: Selector for a list of PublicIP in network + to populate destinationAddresses. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object destinationPorts: description: A list of destination ports. items: diff --git a/package/crds/network.azure.upbound.io_subnetserviceendpointstoragepolicies.yaml b/package/crds/network.azure.upbound.io_subnetserviceendpointstoragepolicies.yaml index e9c8ca8a2..3f6cb0555 100644 --- a/package/crds/network.azure.upbound.io_subnetserviceendpointstoragepolicies.yaml +++ b/package/crds/network.azure.upbound.io_subnetserviceendpointstoragepolicies.yaml @@ -102,6 +102,85 @@ spec: type: string type: array x-kubernetes-list-type: set + serviceResourcesRefs: + description: References to ResourceGroup in azure to populate + serviceResources. + 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 + serviceResourcesSelector: + description: Selector for a list of ResourceGroup in azure + to populate serviceResources. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 location: @@ -239,6 +318,85 @@ spec: type: string type: array x-kubernetes-list-type: set + serviceResourcesRefs: + description: References to ResourceGroup in azure to populate + serviceResources. + 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 + serviceResourcesSelector: + description: Selector for a list of ResourceGroup in azure + to populate serviceResources. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 location: diff --git a/package/crds/sql.azure.upbound.io_mssqldatabases.yaml b/package/crds/sql.azure.upbound.io_mssqldatabases.yaml index d78d0a188..118dca8ab 100644 --- a/package/crds/sql.azure.upbound.io_mssqldatabases.yaml +++ b/package/crds/sql.azure.upbound.io_mssqldatabases.yaml @@ -119,6 +119,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible @@ -626,6 +705,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible @@ -1587,6 +1745,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible @@ -2082,6 +2319,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible diff --git a/package/crds/sql.azure.upbound.io_mssqlservers.yaml b/package/crds/sql.azure.upbound.io_mssqlservers.yaml index 09649c597..6678ab01e 100644 --- a/package/crds/sql.azure.upbound.io_mssqlservers.yaml +++ b/package/crds/sql.azure.upbound.io_mssqlservers.yaml @@ -292,6 +292,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible @@ -801,6 +880,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity + in managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible @@ -1629,6 +1787,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values @@ -2136,6 +2373,85 @@ spec: type: string type: array x-kubernetes-list-type: set + identityIdsRefs: + description: References to UserAssignedIdentity in managedidentity + to populate identityIds. + 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 + identityIdsSelector: + description: Selector for a list of UserAssignedIdentity in + managedidentity to populate identityIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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: Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values diff --git a/package/crds/storage.azure.upbound.io_accountnetworkrules.yaml b/package/crds/storage.azure.upbound.io_accountnetworkrules.yaml index 7dfc40a1a..85e18b137 100644 --- a/package/crds/storage.azure.upbound.io_accountnetworkrules.yaml +++ b/package/crds/storage.azure.upbound.io_accountnetworkrules.yaml @@ -194,6 +194,84 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to populate + virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 initProvider: description: |- @@ -329,6 +407,84 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to populate + virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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.azure.upbound.io_accounts.yaml b/package/crds/storage.azure.upbound.io_accounts.yaml index f7f9b9517..203d4d2a9 100644 --- a/package/crds/storage.azure.upbound.io_accounts.yaml +++ b/package/crds/storage.azure.upbound.io_accounts.yaml @@ -436,6 +436,85 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate + virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to + populate virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 nfsv3Enabled: @@ -1177,6 +1256,85 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate + virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to + populate virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 nfsv3Enabled: @@ -3022,6 +3180,84 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to populate + virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 nfsv3Enabled: description: Is NFSv3 protocol enabled? Changing this forces a @@ -3716,6 +3952,84 @@ spec: type: string type: array x-kubernetes-list-type: set + virtualNetworkSubnetIdsRefs: + description: References to Subnet in network to populate virtualNetworkSubnetIds. + 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 + virtualNetworkSubnetIdsSelector: + description: Selector for a list of Subnet in network to populate + virtualNetworkSubnetIds. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + 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 nfsv3Enabled: description: Is NFSv3 protocol enabled? Changing this forces a