Skip to content

Commit b1f9f93

Browse files
authored
Merge pull request #8005 from cPu1/zonal-shift
Support EKS zonal shift config
2 parents 18344d8 + ba7bfae commit b1f9f93

File tree

13 files changed

+218
-21
lines changed

13 files changed

+218
-21
lines changed

examples/41-zonal-shift.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# An example ClusterConfig that uses EKS Zonal Shift.
2+
3+
apiVersion: eksctl.io/v1alpha5
4+
kind: ClusterConfig
5+
6+
metadata:
7+
name: highly-available-cluster
8+
region: us-west-2
9+
10+
zonalShiftConfig:
11+
enabled: true

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
github.com/Masterminds/semver/v3 v3.2.1
1212
github.com/aws/amazon-ec2-instance-selector/v2 v2.4.2-0.20230601180523-74e721cb8c1e
1313
github.com/aws/aws-sdk-go v1.51.16
14-
github.com/aws/aws-sdk-go-v2 v1.30.4
14+
github.com/aws/aws-sdk-go-v2 v1.32.2
1515
github.com/aws/aws-sdk-go-v2/config v1.27.11
1616
github.com/aws/aws-sdk-go-v2/credentials v1.17.11
1717
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5
@@ -20,15 +20,15 @@ require (
2020
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.1
2121
github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.36.3
2222
github.com/aws/aws-sdk-go-v2/service/ec2 v1.166.0
23-
github.com/aws/aws-sdk-go-v2/service/eks v1.48.1
23+
github.com/aws/aws-sdk-go-v2/service/eks v1.51.0
2424
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.24.4
2525
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5
2626
github.com/aws/aws-sdk-go-v2/service/iam v1.32.0
2727
github.com/aws/aws-sdk-go-v2/service/kms v1.27.5
2828
github.com/aws/aws-sdk-go-v2/service/outposts v1.38.0
2929
github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5
3030
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6
31-
github.com/aws/smithy-go v1.20.4
31+
github.com/aws/smithy-go v1.22.0
3232
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240508073157-fbfa1bc129f5
3333
github.com/benjamintf1/unmarshalledmatchers v1.0.0
3434
github.com/blang/semver v3.5.1+incompatible
@@ -68,7 +68,7 @@ require (
6868
github.com/tj/assert v0.0.3
6969
github.com/vburenin/ifacemaker v1.2.1
7070
github.com/vektra/mockery/v2 v2.38.0
71-
github.com/weaveworks/goformation/v4 v4.10.2-0.20240626091647-67263f64f317
71+
github.com/weaveworks/goformation/v4 v4.10.2-0.20241022124128-4be25b69f5e0
7272
github.com/weaveworks/schemer v0.0.0-20230525114451-47139fe25848
7373
github.com/xgfone/netaddr v0.5.1
7474
golang.org/x/crypto v0.22.0
@@ -127,8 +127,8 @@ require (
127127
github.com/atotto/clipboard v0.1.4 // indirect
128128
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect
129129
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect
130-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect
131-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect
130+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 // indirect
131+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 // indirect
132132
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
133133
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect
134134
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 // indirect

go.sum

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -716,8 +716,8 @@ github.com/aws/amazon-ec2-instance-selector/v2 v2.4.2-0.20230601180523-74e721cb8
716716
github.com/aws/aws-sdk-go v1.51.16 h1:vnWKK8KjbftEkuPX8bRj3WHsLy1uhotn0eXptpvrxJI=
717717
github.com/aws/aws-sdk-go v1.51.16/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
718718
github.com/aws/aws-sdk-go-v2 v1.16.15/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k=
719-
github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8=
720-
github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
719+
github.com/aws/aws-sdk-go-v2 v1.32.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI=
720+
github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
721721
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to=
722722
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg=
723723
github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA=
@@ -727,11 +727,11 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6
727727
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4=
728728
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg=
729729
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.22/go.mod h1:/vNv5Al0bpiF8YdX2Ov6Xy05VTiXsql94yUqJMYaj0w=
730-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY=
731-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc=
730+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 h1:UAsR3xA31QGf79WzpG/ixT9FZvQlh5HY1NRqSHBNOCk=
731+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21/go.mod h1:JNr43NFf5L9YaG3eKTm7HQzls9J+A9YYcGI5Quh1r2Y=
732732
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.16/go.mod h1:62dsXI0BqTIGomDl8Hpm33dv0OntGaVblri3ZRParVQ=
733-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I=
734-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs=
733+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYEQfC5fAQmlo80CeL5psbno6r0s=
734+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60=
735735
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU=
736736
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY=
737737
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5 h1:vhdJymxlWS2qftzLiuCjSswjXBRLGfzo/BEE9LDveBA=
@@ -746,8 +746,8 @@ github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.36.3 h1:JNWpkjIm
746746
github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.36.3/go.mod h1:TiLZ2/+WAEyG2PnuAYj/un46UJ7qBf5BWWTAKgaHP8I=
747747
github.com/aws/aws-sdk-go-v2/service/ec2 v1.166.0 h1:FDZVMxzXB13cRmHs3t3tH9gme8GhvmjsQXeXFI37OHU=
748748
github.com/aws/aws-sdk-go-v2/service/ec2 v1.166.0/go.mod h1:Wv7N3iFOKVsZNIaw9MOBUmwCkX6VMmQQRFhMrHtNGno=
749-
github.com/aws/aws-sdk-go-v2/service/eks v1.48.1 h1:KZ1GkevaklMvPxcqivG4UDwar3lqMSpbK9RpZowjMec=
750-
github.com/aws/aws-sdk-go-v2/service/eks v1.48.1/go.mod h1:fff5mmwLCVxyXCojYjPY34sUGvWtXCD325yRL5qHAVs=
749+
github.com/aws/aws-sdk-go-v2/service/eks v1.51.0 h1:BYyB+byjQ7oyupe3v+YjTp1yfmfNEwChYA2naCc85xI=
750+
github.com/aws/aws-sdk-go-v2/service/eks v1.51.0/go.mod h1:oaPCqTzAe8C5RQZJGRD4RENcV7A4n99uGxbD4rULbNg=
751751
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.24.4 h1:V5YvSMQwZklktzYeOOhYdptx7rP650XP3RnxwNu1UEQ=
752752
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.24.4/go.mod h1:aYygRYqRxmLGrxRxAisgNarwo4x8bcJG14rh4r57VqE=
753753
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5 h1:/x2u/TOx+n17U+gz98TOw1HKJom0EOqrhL4SjrHr0cQ=
@@ -773,8 +773,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEj
773773
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU=
774774
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw=
775775
github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
776-
github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
777-
github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
776+
github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM=
777+
github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
778778
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240508073157-fbfa1bc129f5 h1:F80UWAvCDH3PgWIkMhwhKN7FRlkn9MhI+nBHFq739ZM=
779779
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240508073157-fbfa1bc129f5/go.mod h1:wLKtvVfT0IdSJ3Pf6QoeLN+UTUeU28CmSAnoja6/l5s=
780780
github.com/awslabs/goformation/v4 v4.19.5 h1:Y+Tzh01tWg8gf//AgGKUamaja7Wx9NPiJf1FpZu4/iU=
@@ -1813,8 +1813,8 @@ github.com/vektra/mockery/v2 v2.38.0 h1:I0LBuUzZHqAU4d1DknW0DTFBPO6n8TaD38WL2KJf
18131813
github.com/vektra/mockery/v2 v2.38.0/go.mod h1:diB13hxXG6QrTR0ol2Rk8s2dRMftzvExSvPDKr+IYKk=
18141814
github.com/voxelbrain/goptions v0.0.0-20180630082107-58cddc247ea2 h1:txplJASvd6b/hrE0s/Ixfpp2cuwH9IO9oZBAN9iYa4A=
18151815
github.com/voxelbrain/goptions v0.0.0-20180630082107-58cddc247ea2/go.mod h1:DGCIhurYgnLz8J9ga1fMV/fbLDyUvTyrWXVWUIyJon4=
1816-
github.com/weaveworks/goformation/v4 v4.10.2-0.20240626091647-67263f64f317 h1:efLcD8csEtX1RO0444Wa4RQjO34pYuojsdPABc5QC3s=
1817-
github.com/weaveworks/goformation/v4 v4.10.2-0.20240626091647-67263f64f317/go.mod h1:3c2tyJmoge5qTS4PXS0niVJxR0YzroIBsts3dQI3EdI=
1816+
github.com/weaveworks/goformation/v4 v4.10.2-0.20241022124128-4be25b69f5e0 h1:wLOxc4ZnbvJdc7d7b+u4LqgPO5DJrumSXi7Ezo/lYvI=
1817+
github.com/weaveworks/goformation/v4 v4.10.2-0.20241022124128-4be25b69f5e0/go.mod h1:3c2tyJmoge5qTS4PXS0niVJxR0YzroIBsts3dQI3EdI=
18181818
github.com/weaveworks/schemer v0.0.0-20230525114451-47139fe25848 h1:I7S+IHZIU49skVgTNArf9bIdy07mCn1Z0zv1r07ROws=
18191819
github.com/weaveworks/schemer v0.0.0-20230525114451-47139fe25848/go.mod h1:y8Luzq6JDsYVoIV0QAlnvIiq8bSaap0myMjWKyzVFTY=
18201820
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=

pkg/apis/eksctl.io/v1alpha5/types.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -959,6 +959,9 @@ type ClusterConfig struct {
959959
// Outpost specifies the Outpost configuration.
960960
// +optional
961961
Outpost *Outpost `json:"outpost,omitempty"`
962+
963+
// ZonalShiftConfig specifies the zonal shift configuration.
964+
ZonalShiftConfig *ZonalShiftConfig `json:"zonalShiftConfig,omitempty"`
962965
}
963966

964967
// Outpost holds the Outpost configuration.
@@ -986,6 +989,12 @@ func (o *Outpost) HasPlacementGroup() bool {
986989
return o.ControlPlanePlacement != nil
987990
}
988991

992+
// ZonalShiftConfig holds the zonal shift configuration.
993+
type ZonalShiftConfig struct {
994+
// Enabled enables or disables zonal shift.
995+
Enabled *bool `json:"enabled,omitempty"`
996+
}
997+
989998
// OutpostInfo describes the Outpost info.
990999
type OutpostInfo interface {
9911000
// IsControlPlaneOnOutposts returns true if the control plane is on Outposts.

pkg/cfn/builder/cluster.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,11 @@ func (c *ClusterResourceSet) addResourcesForControlPlane(subnetDetails *SubnetDe
335335
kubernetesNetworkConfig.IpFamily = gfnt.NewString(strings.ToLower(ipFamily))
336336
}
337337
cluster.KubernetesNetworkConfig = kubernetesNetworkConfig
338+
if c.spec.ZonalShiftConfig != nil && api.IsEnabled(c.spec.ZonalShiftConfig.Enabled) {
339+
cluster.ZonalShiftConfig = &gfneks.Cluster_ZonalShift{
340+
Enabled: gfnt.NewBoolean(true),
341+
}
342+
}
338343

339344
c.newResource("ControlPlane", &cluster)
340345

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package cmdutils
2+
3+
import (
4+
"errors"
5+
"fmt"
6+
)
7+
8+
// NewZonalShiftConfigLoader creates a new loader for zonal shift config.
9+
func NewZonalShiftConfigLoader(cmd *Cmd) ClusterConfigLoader {
10+
l := newCommonClusterConfigLoader(cmd)
11+
l.flagsIncompatibleWithConfigFile.Insert(
12+
"enable-zonal-shift",
13+
"cluster",
14+
)
15+
16+
l.validateWithConfigFile = func() error {
17+
if cmd.NameArg != "" {
18+
return fmt.Errorf("config file and enable-zonal-shift %s", IncompatibleFlags)
19+
}
20+
if l.ClusterConfig.ZonalShiftConfig == nil || l.ClusterConfig.ZonalShiftConfig.Enabled == nil {
21+
return errors.New("field zonalShiftConfig.enabled is required")
22+
}
23+
return nil
24+
}
25+
26+
l.validateWithoutConfigFile = func() error {
27+
if !cmd.CobraCommand.Flag("enable-zonal-shift").Changed {
28+
return errors.New("--enable-zonal-shift is required when a config file is not specified")
29+
}
30+
return nil
31+
}
32+
return l
33+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package utils
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
"github.com/aws/aws-sdk-go-v2/aws"
8+
"github.com/aws/aws-sdk-go-v2/service/eks"
9+
ekstypes "github.com/aws/aws-sdk-go-v2/service/eks/types"
10+
11+
"github.com/kris-nova/logger"
12+
"github.com/spf13/cobra"
13+
"github.com/spf13/pflag"
14+
15+
api "github.com/weaveworks/eksctl/pkg/apis/eksctl.io/v1alpha5"
16+
"github.com/weaveworks/eksctl/pkg/ctl/cmdutils"
17+
)
18+
19+
func updateZonalShiftConfig(cmd *cmdutils.Cmd, handler func(*cmdutils.Cmd) error) {
20+
cfg := api.NewClusterConfig()
21+
cmd.ClusterConfig = cfg
22+
23+
cmd.SetDescription("update-zonal-shift-config", "update zonal shift config", "update zonal shift config on a cluster")
24+
25+
var enableZonalShift bool
26+
cmd.CobraCommand.RunE = func(_ *cobra.Command, args []string) error {
27+
cmd.NameArg = cmdutils.GetNameArg(args)
28+
if err := cmdutils.NewZonalShiftConfigLoader(cmd).Load(); err != nil {
29+
return err
30+
}
31+
if cmd.ClusterConfigFile == "" {
32+
cfg.ZonalShiftConfig = &api.ZonalShiftConfig{
33+
Enabled: &enableZonalShift,
34+
}
35+
}
36+
return handler(cmd)
37+
}
38+
39+
cmdutils.AddCommonFlagsForAWS(cmd, &cmd.ProviderConfig, false)
40+
41+
cmd.FlagSetGroup.InFlagSet("General", func(fs *pflag.FlagSet) {
42+
cmdutils.AddClusterFlag(fs, cfg.Metadata)
43+
cmdutils.AddRegionFlag(fs, &cmd.ProviderConfig)
44+
cmdutils.AddConfigFileFlag(fs, &cmd.ClusterConfigFile)
45+
fs.BoolVar(&enableZonalShift, "enable-zonal-shift", true, "Enable zonal shift on a cluster")
46+
})
47+
48+
}
49+
50+
func updateZonalShiftConfigCmd(cmd *cmdutils.Cmd) {
51+
updateZonalShiftConfig(cmd, doUpdateZonalShiftConfig)
52+
}
53+
54+
func doUpdateZonalShiftConfig(cmd *cmdutils.Cmd) error {
55+
cfg := cmd.ClusterConfig
56+
ctx := context.Background()
57+
if cfg.Metadata.Name == "" {
58+
return cmdutils.ErrMustBeSet(cmdutils.ClusterNameFlag(cmd))
59+
}
60+
ctl, err := cmd.NewProviderForExistingCluster(ctx)
61+
if err != nil {
62+
return err
63+
}
64+
makeZonalShiftStatus := func(enabled *bool) string {
65+
if api.IsEnabled(enabled) {
66+
return "enabled"
67+
}
68+
return "disabled"
69+
}
70+
if zsc := ctl.Status.ClusterInfo.Cluster.ZonalShiftConfig; zsc != nil && *zsc.Enabled == api.IsEnabled(cfg.ZonalShiftConfig.Enabled) {
71+
logger.Info("zonal shift is already %s", makeZonalShiftStatus(zsc.Enabled))
72+
return nil
73+
}
74+
if err := ctl.UpdateClusterConfig(ctx, &eks.UpdateClusterConfigInput{
75+
Name: aws.String(cfg.Metadata.Name),
76+
ZonalShiftConfig: &ekstypes.ZonalShiftConfigRequest{
77+
Enabled: cfg.ZonalShiftConfig.Enabled,
78+
},
79+
}); err != nil {
80+
return fmt.Errorf("updating zonal shift config: %w", err)
81+
}
82+
logger.Info("zonal shift %s successfully", makeZonalShiftStatus(cfg.ZonalShiftConfig.Enabled))
83+
return nil
84+
}

pkg/ctl/utils/utils.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ func Command(flagGrouping *cmdutils.FlagGrouping) *cobra.Command {
3030
cmdutils.AddResourceCmd(flagGrouping, verbCmd, describeAddonConfigurationCmd)
3131
cmdutils.AddResourceCmd(flagGrouping, verbCmd, migrateToPodIdentityCmd)
3232
cmdutils.AddResourceCmd(flagGrouping, verbCmd, migrateAccessEntryCmd)
33+
cmdutils.AddResourceCmd(flagGrouping, verbCmd, updateZonalShiftConfigCmd)
3334

3435
return verbCmd
3536
}

pkg/printers/testdata/jsontest_2clusters.golden

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
"Status": "ACTIVE",
3737
"Tags": null,
3838
"Version": null,
39-
"UpgradePolicy": null
39+
"UpgradePolicy": null,
40+
"ZonalShiftConfig": null
4041
},
4142
{
4243
"Id": null,
@@ -75,6 +76,7 @@
7576
"Status": "ACTIVE",
7677
"Tags": null,
7778
"Version": null,
78-
"UpgradePolicy": null
79+
"UpgradePolicy": null,
80+
"ZonalShiftConfig": null
7981
}
8082
]

pkg/printers/testdata/jsontest_single.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"Status": "ACTIVE",
3636
"Tags": null,
3737
"Version": null,
38-
"UpgradePolicy": null
38+
"UpgradePolicy": null,
39+
"ZonalShiftConfig": null
3940
}
4041
]

0 commit comments

Comments
 (0)