diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index a313b5ea..96dd9e18 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -6,7 +6,7 @@ on: - v* env: - GOLANGCI_VERSION: 'v1.50.1' + GOLANGCI_VERSION: 'v1.53.3' DOCKER_BUILDX_VERSION: 'v0.4.2' jobs: diff --git a/.github/workflows/ci-weekly.yml b/.github/workflows/ci-weekly.yml index b6da2884..6011cce5 100644 --- a/.github/workflows/ci-weekly.yml +++ b/.github/workflows/ci-weekly.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: { } env: - GOLANGCI_VERSION: 'v1.50.1' + GOLANGCI_VERSION: 'v1.53.3' DOCKER_BUILDX_VERSION: 'v0.4.2' jobs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79cccca5..949b1711 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,8 +8,8 @@ on: workflow_dispatch: { } env: - GOLANGCI_VERSION: 'v1.50.1' - DOCKER_BUILDX_VERSION: 'v0.4.2' + GOLANGCI_VERSION: 'v1.53.3' + DOCKER_BUILDX_VERSION: 'v0.11.2' jobs: detect-noop: @@ -60,7 +60,7 @@ jobs: uses: golangci/golangci-lint-action@v3 with: version: ${{ env.GOLANGCI_VERSION }} - args: --timeout 3m0s --verbose + args: --timeout 10m0s --verbose e2e-tests: runs-on: ubuntu-20.04 @@ -68,11 +68,11 @@ jobs: if: needs.detect-noop.outputs.noop != 'true' steps: - name: Setup QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 with: platforms: all - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 with: version: ${{ env.DOCKER_BUILDX_VERSION }} install: true @@ -136,7 +136,7 @@ jobs: version: ${{ env.DOCKER_BUILDX_VERSION }} install: true - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: submodules: true - name: Fetch History diff --git a/.golangci.yml b/.golangci.yml index 7fcdd3a1..576e286e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -95,6 +95,8 @@ linters-settings: # Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags". enabled-tags: - performance + disabled-checks: + - preferFprint settings: # settings passed to gocritic captLocal: # must be valid enabled check name diff --git a/apis/alb/v1alpha1/applicationloadbalancer_types.go b/apis/alb/v1alpha1/applicationloadbalancer_types.go index 10fd7c2b..691475ad 100644 --- a/apis/alb/v1alpha1/applicationloadbalancer_types.go +++ b/apis/alb/v1alpha1/applicationloadbalancer_types.go @@ -132,8 +132,19 @@ type ApplicationLoadBalancer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec ApplicationLoadBalancerSpec `json:"spec"` - Status ApplicationLoadBalancerStatus `json:"status,omitempty"` + Spec ApplicationLoadBalancerSpec `json:"spec"` + Status ApplicationLoadBalancerStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *ApplicationLoadBalancer) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *ApplicationLoadBalancer) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/alb/v1alpha1/forwardingrule_types.go b/apis/alb/v1alpha1/forwardingrule_types.go index 04c4612e..d0ce0236 100644 --- a/apis/alb/v1alpha1/forwardingrule_types.go +++ b/apis/alb/v1alpha1/forwardingrule_types.go @@ -204,8 +204,19 @@ type ForwardingRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec ForwardingRuleSpec `json:"spec"` - Status ForwardingRuleStatus `json:"status,omitempty"` + Spec ForwardingRuleSpec `json:"spec"` + Status ForwardingRuleStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *ForwardingRule) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *ForwardingRule) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/alb/v1alpha1/targetgroup_types.go b/apis/alb/v1alpha1/targetgroup_types.go index 4d2a722f..3b69138a 100644 --- a/apis/alb/v1alpha1/targetgroup_types.go +++ b/apis/alb/v1alpha1/targetgroup_types.go @@ -196,8 +196,19 @@ type TargetGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec TargetGroupSpec `json:"spec"` - Status TargetGroupStatus `json:"status,omitempty"` + Spec TargetGroupSpec `json:"spec"` + Status TargetGroupStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *TargetGroup) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *TargetGroup) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/alb/v1alpha1/zz_generated.deepcopy.go b/apis/alb/v1alpha1/zz_generated.deepcopy.go index 4c50ac29..6bd770be 100644 --- a/apis/alb/v1alpha1/zz_generated.deepcopy.go +++ b/apis/alb/v1alpha1/zz_generated.deepcopy.go @@ -33,6 +33,11 @@ func (in *ApplicationLoadBalancer) DeepCopyInto(out *ApplicationLoadBalancer) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationLoadBalancer. @@ -266,6 +271,11 @@ func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRule. @@ -527,6 +537,11 @@ func (in *TargetGroup) DeepCopyInto(out *TargetGroup) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroup. diff --git a/apis/backup/v1alpha1/backupunit_types.go b/apis/backup/v1alpha1/backupunit_types.go index 49e50c3d..64b477a9 100644 --- a/apis/backup/v1alpha1/backupunit_types.go +++ b/apis/backup/v1alpha1/backupunit_types.go @@ -80,8 +80,19 @@ type BackupUnit struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec BackupUnitSpec `json:"spec"` - Status BackupUnitStatus `json:"status,omitempty"` + Spec BackupUnitSpec `json:"spec"` + Status BackupUnitStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *BackupUnit) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *BackupUnit) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/backup/v1alpha1/zz_generated.deepcopy.go b/apis/backup/v1alpha1/zz_generated.deepcopy.go index 6ca89c69..7ffb14ae 100644 --- a/apis/backup/v1alpha1/zz_generated.deepcopy.go +++ b/apis/backup/v1alpha1/zz_generated.deepcopy.go @@ -22,6 +22,7 @@ limitations under the License. package v1alpha1 import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -32,6 +33,11 @@ func (in *BackupUnit) DeepCopyInto(out *BackupUnit) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupUnit. diff --git a/apis/compute/v1alpha1/datacenter_types.go b/apis/compute/v1alpha1/datacenter_types.go index 18bb2c8d..a636df81 100644 --- a/apis/compute/v1alpha1/datacenter_types.go +++ b/apis/compute/v1alpha1/datacenter_types.go @@ -100,8 +100,19 @@ type Datacenter struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec DatacenterSpec `json:"spec"` - Status DatacenterStatus `json:"status,omitempty"` + Spec DatacenterSpec `json:"spec"` + Status DatacenterStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Datacenter) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Datacenter) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/firewallrule_types.go b/apis/compute/v1alpha1/firewallrule_types.go index 83bebb97..927b705b 100644 --- a/apis/compute/v1alpha1/firewallrule_types.go +++ b/apis/compute/v1alpha1/firewallrule_types.go @@ -171,8 +171,19 @@ type FirewallRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec FirewallRuleSpec `json:"spec"` - Status FirewallRuleStatus `json:"status,omitempty"` + Spec FirewallRuleSpec `json:"spec"` + Status FirewallRuleStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *FirewallRule) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *FirewallRule) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/ipblock_types.go b/apis/compute/v1alpha1/ipblock_types.go index cc4ce5f5..fba11a57 100644 --- a/apis/compute/v1alpha1/ipblock_types.go +++ b/apis/compute/v1alpha1/ipblock_types.go @@ -159,8 +159,19 @@ type IPBlock struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec IPBlockSpec `json:"spec"` - Status IPBlockStatus `json:"status,omitempty"` + Spec IPBlockSpec `json:"spec"` + Status IPBlockStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *IPBlock) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *IPBlock) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/ipfailover_types.go b/apis/compute/v1alpha1/ipfailover_types.go index c8ad8c9b..50605073 100644 --- a/apis/compute/v1alpha1/ipfailover_types.go +++ b/apis/compute/v1alpha1/ipfailover_types.go @@ -92,8 +92,19 @@ type IPFailover struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec IPFailoverSpec `json:"spec"` - Status IPFailoverStatus `json:"status,omitempty"` + Spec IPFailoverSpec `json:"spec"` + Status IPFailoverStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *IPFailover) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *IPFailover) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/lan_types.go b/apis/compute/v1alpha1/lan_types.go index 9ab2b7c3..2dcc51ef 100644 --- a/apis/compute/v1alpha1/lan_types.go +++ b/apis/compute/v1alpha1/lan_types.go @@ -107,8 +107,19 @@ type Lan struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec LanSpec `json:"spec"` - Status LanStatus `json:"status,omitempty"` + Spec LanSpec `json:"spec"` + Status LanStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Lan) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Lan) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/nic_types.go b/apis/compute/v1alpha1/nic_types.go index 7acb7f7b..4586514d 100644 --- a/apis/compute/v1alpha1/nic_types.go +++ b/apis/compute/v1alpha1/nic_types.go @@ -141,8 +141,19 @@ type Nic struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec NicSpec `json:"spec"` - Status NicStatus `json:"status,omitempty"` + Spec NicSpec `json:"spec"` + Status NicStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Nic) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Nic) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/server_cube_types.go b/apis/compute/v1alpha1/server_cube_types.go index 65417f76..159a7f3b 100644 --- a/apis/compute/v1alpha1/server_cube_types.go +++ b/apis/compute/v1alpha1/server_cube_types.go @@ -164,8 +164,19 @@ type CubeServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec CubeServerSpec `json:"spec"` - Status ServerStatus `json:"status,omitempty"` + Spec CubeServerSpec `json:"spec"` + Status ServerStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *CubeServer) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *CubeServer) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/server_types.go b/apis/compute/v1alpha1/server_types.go index aaefc3bc..26e6a0d2 100644 --- a/apis/compute/v1alpha1/server_types.go +++ b/apis/compute/v1alpha1/server_types.go @@ -134,8 +134,19 @@ type Server struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec ServerSpec `json:"spec"` - Status ServerStatus `json:"status,omitempty"` + Spec ServerSpec `json:"spec"` + Status ServerStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Server) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Server) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/volume_types.go b/apis/compute/v1alpha1/volume_types.go index 7262cf5b..6f78e969 100644 --- a/apis/compute/v1alpha1/volume_types.go +++ b/apis/compute/v1alpha1/volume_types.go @@ -192,8 +192,19 @@ type Volume struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec VolumeSpec `json:"spec"` - Status VolumeStatus `json:"status,omitempty"` + Spec VolumeSpec `json:"spec"` + Status VolumeStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Volume) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Volume) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/compute/v1alpha1/zz_generated.deepcopy.go b/apis/compute/v1alpha1/zz_generated.deepcopy.go index 62f19cbd..58a6ce4d 100644 --- a/apis/compute/v1alpha1/zz_generated.deepcopy.go +++ b/apis/compute/v1alpha1/zz_generated.deepcopy.go @@ -58,6 +58,11 @@ func (in *CubeServer) DeepCopyInto(out *CubeServer) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServer. @@ -173,6 +178,11 @@ func (in *Datacenter) DeepCopyInto(out *Datacenter) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Datacenter. @@ -326,6 +336,11 @@ func (in *FirewallRule) DeepCopyInto(out *FirewallRule) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRule. @@ -495,6 +510,11 @@ func (in *IPBlock) DeepCopyInto(out *IPBlock) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPBlock. @@ -664,6 +684,11 @@ func (in *IPFailover) DeepCopyInto(out *IPFailover) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPFailover. @@ -848,6 +873,11 @@ func (in *Lan) DeepCopyInto(out *Lan) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lan. @@ -1002,6 +1032,11 @@ func (in *Nic) DeepCopyInto(out *Nic) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nic. @@ -1159,6 +1194,11 @@ func (in *Server) DeepCopyInto(out *Server) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server. @@ -1324,6 +1364,11 @@ func (in *Volume) DeepCopyInto(out *Volume) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume. diff --git a/apis/dbaas/postgres/v1alpha1/cluster_types.go b/apis/dbaas/postgres/v1alpha1/cluster_types.go index d1edeaea..81c97ac6 100644 --- a/apis/dbaas/postgres/v1alpha1/cluster_types.go +++ b/apis/dbaas/postgres/v1alpha1/cluster_types.go @@ -224,8 +224,19 @@ type PostgresCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec ClusterSpec `json:"spec"` - Status ClusterStatus `json:"status,omitempty"` + Spec ClusterSpec `json:"spec"` + Status ClusterStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *PostgresCluster) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *PostgresCluster) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/dbaas/postgres/v1alpha1/zz_generated.deepcopy.go b/apis/dbaas/postgres/v1alpha1/zz_generated.deepcopy.go index 8d89b674..acbebb27 100644 --- a/apis/dbaas/postgres/v1alpha1/zz_generated.deepcopy.go +++ b/apis/dbaas/postgres/v1alpha1/zz_generated.deepcopy.go @@ -219,6 +219,11 @@ func (in *PostgresCluster) DeepCopyInto(out *PostgresCluster) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresCluster. diff --git a/apis/k8s/v1alpha1/cluster_types.go b/apis/k8s/v1alpha1/cluster_types.go index 3c1c9316..0bc2e916 100644 --- a/apis/k8s/v1alpha1/cluster_types.go +++ b/apis/k8s/v1alpha1/cluster_types.go @@ -130,8 +130,19 @@ type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec ClusterSpec `json:"spec"` - Status ClusterStatus `json:"status,omitempty"` + Spec ClusterSpec `json:"spec"` + Status ClusterStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *Cluster) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *Cluster) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/k8s/v1alpha1/nodepool_types.go b/apis/k8s/v1alpha1/nodepool_types.go index d0f3a0d8..66ce7668 100644 --- a/apis/k8s/v1alpha1/nodepool_types.go +++ b/apis/k8s/v1alpha1/nodepool_types.go @@ -333,8 +333,19 @@ type NodePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec NodePoolSpec `json:"spec"` - Status NodePoolStatus `json:"status,omitempty"` + Spec NodePoolSpec `json:"spec"` + Status NodePoolStatus `json:"status,omitempty"` + ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` +} + +// SetManagementPolicies implement managed interface +func (mg *NodePool) SetManagementPolicies(p xpv1.ManagementPolicies) { + mg.ManagementPolicies = p +} + +// GetManagementPolicies implement managed interface +func (mg *NodePool) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.ManagementPolicies } // +kubebuilder:object:root=true diff --git a/apis/k8s/v1alpha1/zz_generated.deepcopy.go b/apis/k8s/v1alpha1/zz_generated.deepcopy.go index 315667ff..5c8a8323 100644 --- a/apis/k8s/v1alpha1/zz_generated.deepcopy.go +++ b/apis/k8s/v1alpha1/zz_generated.deepcopy.go @@ -33,6 +33,11 @@ func (in *Cluster) DeepCopyInto(out *Cluster) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster. @@ -416,6 +421,11 @@ func (in *NodePool) DeepCopyInto(out *NodePool) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + if in.ManagementPolicies != nil { + in, out := &in.ManagementPolicies, &out.ManagementPolicies + *out = make(v1.ManagementPolicies, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool. diff --git a/build b/build index 559e1532..bd5297bd 160000 --- a/build +++ b/build @@ -1 +1 @@ -Subproject commit 559e1532cd1ec6471c295b9dfce89c38f9a4638f +Subproject commit bd5297bd16c113cbc5ed1905b1d96aa1cb3078ec diff --git a/cluster/local/integration_tests_alb.sh b/cluster/local/integration_tests_alb.sh index 8ff1b6a3..32f8143d 100755 --- a/cluster/local/integration_tests_alb.sh +++ b/cluster/local/integration_tests_alb.sh @@ -16,6 +16,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: TargetGroup metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleTargetGroupALB @@ -50,6 +52,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: TargetGroup metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleTargetGroupALBUpdated @@ -78,6 +82,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: TargetGroup metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleTargetGroupALBUpdated @@ -108,6 +114,8 @@ apiVersion: compute.ionoscloud.crossplane.io/v1alpha1 kind: IPBlock metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleIpBlockALB @@ -120,6 +128,8 @@ apiVersion: compute.ionoscloud.crossplane.io/v1alpha1 kind: Datacenter metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleDatacenterALB @@ -146,6 +156,8 @@ apiVersion: compute.ionoscloud.crossplane.io/v1alpha1 kind: Lan metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: examplePrivateLanALB @@ -160,6 +172,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ApplicationLoadBalancer metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: @@ -202,6 +216,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ApplicationLoadBalancer metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: @@ -241,6 +257,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ApplicationLoadBalancer metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: @@ -275,6 +293,8 @@ apiVersion: compute.ionoscloud.crossplane.io/v1alpha1 kind: Lan metadata: name: examplelanalb +managementPolicies: + - "*" spec: forProvider: name: examplePublicLanALB @@ -303,6 +323,8 @@ apiVersion: compute.ionoscloud.crossplane.io/v1alpha1 kind: Datacenter metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: name: exampleDatacenterALB @@ -343,6 +365,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ForwardingRule metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: @@ -413,6 +437,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ForwardingRule metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: @@ -460,6 +486,8 @@ apiVersion: alb.ionoscloud.crossplane.io/v1alpha1 kind: ForwardingRule metadata: name: examplealb +managementPolicies: + - "*" spec: forProvider: datacenterConfig: diff --git a/cluster/local/integration_tests_backup.sh b/cluster/local/integration_tests_backup.sh index c6c6815f..2bfdbd76 100755 --- a/cluster/local/integration_tests_backup.sh +++ b/cluster/local/integration_tests_backup.sh @@ -16,6 +16,8 @@ apiVersion: backup.ionoscloud.crossplane.io/v1alpha1 kind: BackupUnit metadata: name: example +managementPolicies: + - "*" spec: forProvider: name: exampleBackupUnit @@ -42,6 +44,8 @@ apiVersion: backup.ionoscloud.crossplane.io/v1alpha1 kind: BackupUnit metadata: name: example +managementPolicies: + - "*" spec: forProvider: name: exampleBackupUnit @@ -66,6 +70,8 @@ apiVersion: backup.ionoscloud.crossplane.io/v1alpha1 kind: BackupUnit metadata: name: example +managementPolicies: + - "*" spec: forProvider: name: exampleBackupUnit diff --git a/cluster/local/integration_tests_compute.sh b/cluster/local/integration_tests_compute.sh index fd4edf40..7ceb5f70 100755 --- a/cluster/local/integration_tests_compute.sh +++ b/cluster/local/integration_tests_compute.sh @@ -14,6 +14,8 @@ function ipblock_tests() { cat <