diff --git a/apis/groups/v1alpha1/group_types.go b/apis/groups/v1alpha1/group_types.go index dc588e64..21b8dfcb 100644 --- a/apis/groups/v1alpha1/group_types.go +++ b/apis/groups/v1alpha1/group_types.go @@ -112,9 +112,15 @@ type GroupParameters struct { SubGroupCreationLevel *SubGroupCreationLevelValue `json:"subgroupCreationLevel,omitempty"` // Disable email notifications. + // + // Deprecated: Use emailsEnabled instead. // +optional EmailsDisabled *bool `json:"emailsDisabled,omitempty"` + // Enable email notifications. + // +optional + EmailsEnabled *bool `json:"emailsEnabled,omitempty"` + // Disable the capability of a group from getting mentioned. // +optional MentionsDisabled *bool `json:"mentionsDisabled,omitempty"` diff --git a/apis/groups/v1alpha1/zz_generated.deepcopy.go b/apis/groups/v1alpha1/zz_generated.deepcopy.go index 9318d7ea..56a33200 100644 --- a/apis/groups/v1alpha1/zz_generated.deepcopy.go +++ b/apis/groups/v1alpha1/zz_generated.deepcopy.go @@ -546,6 +546,11 @@ func (in *GroupParameters) DeepCopyInto(out *GroupParameters) { *out = new(bool) **out = **in } + if in.EmailsEnabled != nil { + in, out := &in.EmailsEnabled, &out.EmailsEnabled + *out = new(bool) + **out = **in + } if in.MentionsDisabled != nil { in, out := &in.MentionsDisabled, &out.MentionsDisabled *out = new(bool) diff --git a/apis/projects/v1alpha1/pipelineschedule_types.go b/apis/projects/v1alpha1/pipelineschedule_types.go index 3fc9c52a..11c9026b 100644 --- a/apis/projects/v1alpha1/pipelineschedule_types.go +++ b/apis/projects/v1alpha1/pipelineschedule_types.go @@ -89,6 +89,7 @@ type LastPipeline struct { SHA string `json:"sha"` Ref string `json:"ref"` Status string `json:"status"` + WebURL string `json:"webUrl"` } // PipelineVariable represents a pipeline variable. diff --git a/go.mod b/go.mod index d1c95c5e..388cf877 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 github.com/google/go-cmp v0.6.0 github.com/pkg/errors v0.9.1 - github.com/xanzy/go-gitlab v0.86.0 + github.com/xanzy/go-gitlab v0.107.0 gopkg.in/alecthomas/kingpin.v2 v2.2.6 k8s.io/api v0.29.1 k8s.io/apimachinery v0.29.1 @@ -45,12 +45,12 @@ require ( github.com/gobuffalo/flect v1.0.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.4.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 - github.com/hashicorp/go-retryablehttp v0.7.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -72,15 +72,14 @@ require ( go.uber.org/zap v1.26.0 golang.org/x/mod v0.14.0 // indirect golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.15.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/oauth2 v0.21.0 // indirect + golang.org/x/sys v0.20.0 // indirect golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.17.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index cf9c688d..6ac03872 100644 --- a/go.sum +++ b/go.sum @@ -50,14 +50,11 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -72,10 +69,10 @@ github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0= -github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -141,7 +138,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -149,11 +145,10 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/xanzy/go-gitlab v0.86.0 h1:jR8V9cK9jXRQDb46KOB20NCF3ksY09luaG0IfXE6p7w= -github.com/xanzy/go-gitlab v0.86.0/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw= +github.com/xanzy/go-gitlab v0.107.0 h1:P2CT9Uy9yN9lJo3FLxpMZ4xj6uWcpnigXsjvqJ6nd2Y= +github.com/xanzy/go-gitlab v0.107.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -163,49 +158,36 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= +golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= +golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= @@ -214,7 +196,6 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -223,16 +204,12 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/package/crds/groups.gitlab.crossplane.io_groups.yaml b/package/crds/groups.gitlab.crossplane.io_groups.yaml index 003e624b..d44f7cf2 100644 --- a/package/crds/groups.gitlab.crossplane.io_groups.yaml +++ b/package/crds/groups.gitlab.crossplane.io_groups.yaml @@ -82,7 +82,14 @@ spec: description: The group’s description. type: string emailsDisabled: - description: Disable email notifications. + description: |- + Disable email notifications. + + + Deprecated: Use emailsEnabled instead. + type: boolean + emailsEnabled: + description: Enable email notifications. type: boolean extraSharedRunnersMinutesLimit: description: Extra pipeline minutes quota for this group (purchased diff --git a/package/crds/projects.gitlab.crossplane.io_pipelineschedules.yaml b/package/crds/projects.gitlab.crossplane.io_pipelineschedules.yaml index 3007f7d9..0a8b7474 100644 --- a/package/crds/projects.gitlab.crossplane.io_pipelineschedules.yaml +++ b/package/crds/projects.gitlab.crossplane.io_pipelineschedules.yaml @@ -397,11 +397,14 @@ spec: type: string status: type: string + webUrl: + type: string required: - id - ref - sha - status + - webUrl type: object nextRunAt: format: date-time diff --git a/pkg/clients/groups/fake/fake.go b/pkg/clients/groups/fake/fake.go index 9b702a13..13dcc529 100644 --- a/pkg/clients/groups/fake/fake.go +++ b/pkg/clients/groups/fake/fake.go @@ -31,7 +31,7 @@ type MockClient struct { MockGetGroup func(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) MockCreateGroup func(opt *gitlab.CreateGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) MockUpdateGroup func(pid interface{}, opt *gitlab.UpdateGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) - MockDeleteGroup func(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) + MockDeleteGroup func(pid interface{}, opt *gitlab.DeleteGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) MockShareGroupWithGroup func(gid interface{}, opt *gitlab.ShareGroupWithGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) MockUnshareGroupFromGroup func(gid interface{}, groupID int, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) @@ -77,8 +77,8 @@ func (c *MockClient) UpdateGroup(pid interface{}, opt *gitlab.UpdateGroupOptions } // DeleteGroup calls the underlying MockDeleteGroup method -func (c *MockClient) DeleteGroup(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { - return c.MockDeleteGroup(pid) +func (c *MockClient) DeleteGroup(pid interface{}, opt *gitlab.DeleteGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { + return c.MockDeleteGroup(pid, opt) } // ShareGroupWithGroup calls the underlying MockShareGroupWithGroup method diff --git a/pkg/clients/groups/group.go b/pkg/clients/groups/group.go index 4e9e71f2..05e2d1ec 100644 --- a/pkg/clients/groups/group.go +++ b/pkg/clients/groups/group.go @@ -20,7 +20,7 @@ import ( "strings" "time" - "github.com/xanzy/go-gitlab" + gitlab "github.com/xanzy/go-gitlab" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/crossplane-contrib/provider-gitlab/apis/groups/v1alpha1" @@ -36,7 +36,7 @@ type Client interface { GetGroup(gid interface{}, opt *gitlab.GetGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) CreateGroup(opt *gitlab.CreateGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) UpdateGroup(gid interface{}, opt *gitlab.UpdateGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) - DeleteGroup(gid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) + DeleteGroup(gid interface{}, opt *gitlab.DeleteGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) ShareGroupWithGroup(gid interface{}, opt *gitlab.ShareGroupWithGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Group, *gitlab.Response, error) UnshareGroupFromGroup(gid interface{}, groupID int, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) } @@ -144,6 +144,7 @@ func GenerateCreateGroupOptions(name string, p *v1alpha1.GroupParameters) *gitla if p.Name != nil { name = *p.Name } + group := &gitlab.CreateGroupOptions{ Name: &name, Path: &p.Path, @@ -156,8 +157,8 @@ func GenerateCreateGroupOptions(name string, p *v1alpha1.GroupParameters) *gitla ProjectCreationLevel: ProjectCreationLevelValueV1alpha1ToGitlab(p.ProjectCreationLevel), AutoDevopsEnabled: p.AutoDevopsEnabled, SubGroupCreationLevel: SubGroupCreationLevelValueV1alpha1ToGitlab(p.SubGroupCreationLevel), - EmailsDisabled: p.EmailsDisabled, MentionsDisabled: p.MentionsDisabled, + EmailsEnabled: p.EmailsEnabled, LFSEnabled: p.LFSEnabled, RequestAccessEnabled: p.RequestAccessEnabled, ParentID: p.ParentID, @@ -174,6 +175,7 @@ func GenerateEditGroupOptions(name string, p *v1alpha1.GroupParameters) *gitlab. if p.Name != nil { name = *p.Name } + group := &gitlab.UpdateGroupOptions{ Name: &name, Path: &p.Path, @@ -186,7 +188,7 @@ func GenerateEditGroupOptions(name string, p *v1alpha1.GroupParameters) *gitlab. ProjectCreationLevel: ProjectCreationLevelValueV1alpha1ToGitlab(p.ProjectCreationLevel), AutoDevopsEnabled: p.AutoDevopsEnabled, SubGroupCreationLevel: SubGroupCreationLevelValueV1alpha1ToGitlab(p.SubGroupCreationLevel), - EmailsDisabled: p.EmailsDisabled, + EmailsEnabled: p.EmailsEnabled, MentionsDisabled: p.MentionsDisabled, LFSEnabled: p.LFSEnabled, RequestAccessEnabled: p.RequestAccessEnabled, diff --git a/pkg/clients/groups/group_test.go b/pkg/clients/groups/group_test.go index 51e5d4cd..1d385fab 100644 --- a/pkg/clients/groups/group_test.go +++ b/pkg/clients/groups/group_test.go @@ -46,7 +46,7 @@ var ( subGroupCreationLevel = "maintainer" v1alpha1SubGroupCreationLevel = v1alpha1.SubGroupCreationLevelValue(subGroupCreationLevel) gitlabSubGroupCreationLevel = gitlab.SubGroupCreationLevelValue(subGroupCreationLevel) - emailsDisabled = true + emailsEnabled = true mentionsDisabled = true LFSEnabled = true requestAccessEnabled = true @@ -250,7 +250,7 @@ func TestGenerateCreateGroupOptions(t *testing.T) { ProjectCreationLevel: &v1alpha1ProjectCreationLevel, AutoDevopsEnabled: &autoDevopsEnabled, SubGroupCreationLevel: &v1alpha1SubGroupCreationLevel, - EmailsDisabled: &emailsDisabled, + EmailsEnabled: &emailsEnabled, MentionsDisabled: &mentionsDisabled, LFSEnabled: &LFSEnabled, RequestAccessEnabled: &requestAccessEnabled, @@ -271,7 +271,7 @@ func TestGenerateCreateGroupOptions(t *testing.T) { ProjectCreationLevel: &gitlabProjectCreationLevel, AutoDevopsEnabled: &autoDevopsEnabled, SubGroupCreationLevel: &gitlabSubGroupCreationLevel, - EmailsDisabled: &emailsDisabled, + EmailsEnabled: &emailsEnabled, MentionsDisabled: &mentionsDisabled, LFSEnabled: &LFSEnabled, RequestAccessEnabled: &requestAccessEnabled, @@ -335,8 +335,8 @@ func TestGenerateEditGroupOptions(t *testing.T) { ProjectCreationLevel: &v1alpha1ProjectCreationLevel, AutoDevopsEnabled: &autoDevopsEnabled, SubGroupCreationLevel: &v1alpha1SubGroupCreationLevel, - EmailsDisabled: &emailsDisabled, MentionsDisabled: &mentionsDisabled, + EmailsEnabled: &emailsEnabled, LFSEnabled: &LFSEnabled, RequestAccessEnabled: &requestAccessEnabled, ParentID: &parentID, @@ -356,7 +356,7 @@ func TestGenerateEditGroupOptions(t *testing.T) { ProjectCreationLevel: &gitlabProjectCreationLevel, AutoDevopsEnabled: &autoDevopsEnabled, SubGroupCreationLevel: &gitlabSubGroupCreationLevel, - EmailsDisabled: &emailsDisabled, + EmailsEnabled: &emailsEnabled, MentionsDisabled: &mentionsDisabled, LFSEnabled: &LFSEnabled, RequestAccessEnabled: &requestAccessEnabled, @@ -368,18 +368,18 @@ func TestGenerateEditGroupOptions(t *testing.T) { args: args{ name: name, parameters: &v1alpha1.GroupParameters{ - Path: path, - Description: &description, - Visibility: &v1alpha1Visibility, - EmailsDisabled: &emailsDisabled, + Path: path, + Description: &description, + Visibility: &v1alpha1Visibility, + EmailsEnabled: &emailsEnabled, }, }, want: &gitlab.UpdateGroupOptions{ - Name: &name, - Path: &path, - Description: &description, - Visibility: &gitlabVisibility, - EmailsDisabled: &emailsDisabled, + Name: &name, + Path: &path, + Description: &description, + Visibility: &gitlabVisibility, + EmailsEnabled: &emailsEnabled, }, }, } diff --git a/pkg/clients/projects/project.go b/pkg/clients/projects/project.go index 7624078f..02b55d7a 100644 --- a/pkg/clients/projects/project.go +++ b/pkg/clients/projects/project.go @@ -62,7 +62,7 @@ func GenerateObservation(prj *gitlab.Project) v1alpha1.ProjectObservation { //no o := v1alpha1.ProjectObservation{ ID: prj.ID, - Public: prj.Public, + Public: prj.PublicJobs, SSHURLToRepo: prj.SSHURLToRepo, HTTPURLToRepo: prj.HTTPURLToRepo, WebURL: prj.WebURL, diff --git a/pkg/clients/projects/project_test.go b/pkg/clients/projects/project_test.go index 2fef566e..d47bbafc 100644 --- a/pkg/clients/projects/project_test.go +++ b/pkg/clients/projects/project_test.go @@ -234,7 +234,7 @@ func TestGenerateObservation(t *testing.T) { args: args{ p: &gitlab.Project{ ID: id, - Public: public, + PublicJobs: public, SSHURLToRepo: sshURLToRepo, HTTPURLToRepo: httpURLToRepo, WebURL: webURL, @@ -385,7 +385,7 @@ func TestGenerateObservation(t *testing.T) { args: args{ p: &gitlab.Project{ ID: id, - Public: public, + PublicJobs: public, CreatedAt: &now, LastActivityAt: &now, Namespace: &gitlab.ProjectNamespace{ diff --git a/pkg/controller/groups/accesstokens/controller_test.go b/pkg/controller/groups/accesstokens/controller_test.go index e4d307c9..0439e14e 100644 --- a/pkg/controller/groups/accesstokens/controller_test.go +++ b/pkg/controller/groups/accesstokens/controller_test.go @@ -257,7 +257,7 @@ func TestObserve(t *testing.T) { MockGetGroupAccessToken: func(pid interface{}, id int, options ...gitlab.RequestOptionFunc) (*gitlab.GroupAccessToken, *gitlab.Response, error) { return &gitlab.GroupAccessToken{ ExpiresAt: accessTokenObj.ExpiresAt, - AccessLevel: *gitlab.AccessLevel(accessTokenObj.AccessLevel), + AccessLevel: accessTokenObj.AccessLevel, }, &gitlab.Response{}, nil }, }, diff --git a/pkg/controller/groups/groups/group.go b/pkg/controller/groups/groups/group.go index d74435e0..45909b8a 100644 --- a/pkg/controller/groups/groups/group.go +++ b/pkg/controller/groups/groups/group.go @@ -126,6 +126,8 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (managed.Ex return managed.ExternalObservation{}, errors.New(errIDNotInt) } + cr.Spec.ForProvider.EmailsEnabled = lateInitializeEmailsEnabled(cr.Spec.ForProvider.EmailsEnabled, cr.Spec.ForProvider.EmailsDisabled) //nolint:staticcheck + grp, res, err := e.client.GetGroup(groupID, nil) if err != nil { if clients.IsResponseNotFound(res) { @@ -234,7 +236,7 @@ func (e *external) Delete(ctx context.Context, mg resource.Managed) error { return errors.New(errNotGroup) } - _, err := e.client.DeleteGroup(meta.GetExternalName(cr), gitlab.WithContext(ctx)) + _, err := e.client.DeleteGroup(meta.GetExternalName(cr), &gitlab.DeleteGroupOptions{}, gitlab.WithContext(ctx)) return errors.Wrap(err, errDeleteFailed) } @@ -273,7 +275,7 @@ func isGroupUpToDate(p *v1alpha1.GroupParameters, g *gitlab.Group) (bool, error) if !clients.IsBoolEqualToBoolPtr(p.AutoDevopsEnabled, g.AutoDevopsEnabled) { return false, nil } - if !clients.IsBoolEqualToBoolPtr(p.EmailsDisabled, g.EmailsDisabled) { + if !clients.IsBoolEqualToBoolPtr(p.EmailsEnabled, g.EmailsEnabled) { return false, nil } if !clients.IsBoolEqualToBoolPtr(p.MentionsDisabled, g.MentionsDisabled) { @@ -370,8 +372,8 @@ func lateInitialize(in *v1alpha1.GroupParameters, group *gitlab.Group) error { / if in.AutoDevopsEnabled == nil { in.AutoDevopsEnabled = &group.AutoDevopsEnabled } - if in.EmailsDisabled == nil { - in.EmailsDisabled = &group.EmailsDisabled + if in.EmailsEnabled == nil { + in.EmailsEnabled = &group.EmailsEnabled } if in.MentionsDisabled == nil { in.MentionsDisabled = &group.MentionsDisabled @@ -412,6 +414,15 @@ func lateInitializeSubGroupCreationLevelValue(in *v1alpha1.SubGroupCreationLevel return in } +func lateInitializeEmailsEnabled(in *bool, from *bool) *bool { + if in == nil && from != nil { + value := !(*from) + return &value + } + + return in +} + // lateInitializeProjectCreationLevelValue returns in if it's non-nil, otherwise returns from // which is the backup for the cases in is nil. func lateInitializeProjectCreationLevelValue(in *v1alpha1.ProjectCreationLevelValue, from gitlab.ProjectCreationLevelValue) *v1alpha1.ProjectCreationLevelValue { diff --git a/pkg/controller/groups/groups/group_test.go b/pkg/controller/groups/groups/group_test.go index db723903..11d20da0 100644 --- a/pkg/controller/groups/groups/group_test.go +++ b/pkg/controller/groups/groups/group_test.go @@ -114,7 +114,7 @@ func withClientDefaultValues() groupModifier { RequireTwoFactorAuth: &f, TwoFactorGracePeriod: &i, AutoDevopsEnabled: &f, - EmailsDisabled: &f, + EmailsEnabled: &f, MentionsDisabled: &f, LFSEnabled: &f, RequestAccessEnabled: &f, @@ -212,7 +212,7 @@ func TestObserve(t *testing.T) { v1alpha1VisibilityNew := v1alpha1.VisibilityValue("public") gitlabProjectCreationLevelNew := gitlab.ProjectCreationLevel("noone") v1alpha1ProjectCreationLevelNew := v1alpha1.ProjectCreationLevelValue("noone") - gitlabSubGroupCreationLevelNew := gitlab.SubGroupCreationLevel("owner") + gitlabSubGroupCreationLevelNew := gitlab.Ptr("owner") v1alpha1SubGroupCreationLevelNew := v1alpha1.SubGroupCreationLevelValue("owner") type want struct { @@ -375,13 +375,13 @@ func TestObserve(t *testing.T) { Description: description, Visibility: gitlabVisibilityNew, ProjectCreationLevel: *gitlabProjectCreationLevelNew, - SubGroupCreationLevel: *gitlabSubGroupCreationLevelNew, + SubGroupCreationLevel: gitlab.SubGroupCreationLevelValue(*gitlabSubGroupCreationLevelNew), MembershipLock: false, ShareWithGroupLock: false, RequireTwoFactorAuth: false, TwoFactorGracePeriod: 0, AutoDevopsEnabled: false, - EmailsDisabled: false, + EmailsEnabled: false, MentionsDisabled: false, LFSEnabled: false, RequestAccessEnabled: false, @@ -449,13 +449,13 @@ func TestObserve(t *testing.T) { "Description": "description v2", "MembershipLock": true, "ProjectCreationLevel": *gitlabProjectCreationLevelNew, - "SubGroupCreationLevel": *gitlabSubGroupCreationLevelNew, + "SubGroupCreationLevel": gitlab.SubGroupCreationLevelValue(*gitlabSubGroupCreationLevelNew), "Visibility": gitlabVisibilityNew, "ShareWithGroupLock": true, "RequireTwoFactorAuth": true, "TwoFactorGracePeriod": 1, "AutoDevopsEnabled": true, - "EmailsDisabled": true, + "EmailsEnabled": true, "MentionsDisabled": true, "LFSEnabled": true, "RequestAccessEnabled": true, @@ -500,7 +500,7 @@ func TestObserve(t *testing.T) { Name: name, Visibility: gitlab.VisibilityValue(visibility), ProjectCreationLevel: *gitlab.ProjectCreationLevel(gitlab.ProjectCreationLevelValue(projectCreationLevel)), - SubGroupCreationLevel: *gitlab.SubGroupCreationLevel(gitlab.SubGroupCreationLevelValue(subGroupCreationLevel)), + SubGroupCreationLevel: *gitlab.Ptr(gitlab.SubGroupCreationLevelValue(subGroupCreationLevel)), } structValue := reflect.ValueOf(gitlabGroup).Elem() structFieldValue := structValue.FieldByName(name) @@ -865,7 +865,7 @@ func TestDelete(t *testing.T) { "SuccessfulDeletion": { args: args{ group: &fake.MockClient{ - MockDeleteGroup: func(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { + MockDeleteGroup: func(pid interface{}, opt *gitlab.DeleteGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { return &gitlab.Response{}, nil }, }, @@ -879,7 +879,7 @@ func TestDelete(t *testing.T) { "FailedDeletion": { args: args{ group: &fake.MockClient{ - MockDeleteGroup: func(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { + MockDeleteGroup: func(pid interface{}, opt *gitlab.DeleteGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) { return &gitlab.Response{}, errBoom }, }, diff --git a/pkg/controller/groups/variables/controller.go b/pkg/controller/groups/variables/controller.go index 8135c050..5b19cac0 100644 --- a/pkg/controller/groups/variables/controller.go +++ b/pkg/controller/groups/variables/controller.go @@ -235,12 +235,12 @@ func (e *external) updateVariableFromSecret(ctx context.Context, selector *xpv1. // Mask variable if it hasn't already been explicitly configured. if params.Masked == nil { - params.Masked = gitlab.Bool(true) + params.Masked = gitlab.Ptr(true) } // Make variable raw if it hasn't already been explicitly configured. if params.Raw == nil { - params.Raw = gitlab.Bool(true) + params.Raw = gitlab.Ptr(true) } value := string(raw) diff --git a/pkg/controller/projects/accesstokens/controller_test.go b/pkg/controller/projects/accesstokens/controller_test.go index b81e27fe..cd407c21 100644 --- a/pkg/controller/projects/accesstokens/controller_test.go +++ b/pkg/controller/projects/accesstokens/controller_test.go @@ -257,7 +257,7 @@ func TestObserve(t *testing.T) { MockGetProjectAccessToken: func(pid interface{}, id int, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectAccessToken, *gitlab.Response, error) { return &gitlab.ProjectAccessToken{ ExpiresAt: accessTokenObj.ExpiresAt, - AccessLevel: *gitlab.AccessLevel(accessTokenObj.AccessLevel), + AccessLevel: accessTokenObj.AccessLevel, }, &gitlab.Response{}, nil }, }, diff --git a/pkg/controller/projects/pipelineschedules/controller.go b/pkg/controller/projects/pipelineschedules/controller.go index ec87d23f..22866096 100644 --- a/pkg/controller/projects/pipelineschedules/controller.go +++ b/pkg/controller/projects/pipelineschedules/controller.go @@ -188,7 +188,7 @@ func (e *external) Create(ctx context.Context, mg resource.Managed) (managed.Ext opt := &gitlab.CreatePipelineScheduleVariableOptions{ Key: &v.Key, //nolint:gosec Value: &v.Value, //nolint:gosec - VariableType: v.VariableType, + VariableType: (*gitlab.VariableTypeValue)(v.VariableType), } _, _, err := e.client.CreatePipelineScheduleVariable( *cr.Spec.ForProvider.ProjectID, @@ -249,7 +249,7 @@ func (e *external) Update(ctx context.Context, mg resource.Managed) (managed.Ext opt := &gitlab.CreatePipelineScheduleVariableOptions{ Key: &v.Key, //nolint:gosec Value: &v.Value, //nolint:gosec - VariableType: v.VariableType, + VariableType: (*gitlab.VariableTypeValue)(v.VariableType), } _, _, err := e.client.CreatePipelineScheduleVariable( *cr.Spec.ForProvider.ProjectID, @@ -263,7 +263,7 @@ func (e *external) Update(ctx context.Context, mg resource.Managed) (managed.Ext if notUpdated(v, ps.Variables) { opt := &gitlab.EditPipelineScheduleVariableOptions{ Value: &v.Value, //nolint:gosec - VariableType: v.VariableType, + VariableType: (*gitlab.VariableTypeValue)(v.VariableType), } _, _, err := e.client.EditPipelineScheduleVariable( *cr.Spec.ForProvider.ProjectID, @@ -337,8 +337,7 @@ func lateInitialize(cr *v1alpha1.PipelineScheduleParameters, ps *gitlab.Pipeline varr[i] = v1alpha1.PipelineVariable{ Key: vv.Key, Value: vv.Value, - VariableType: &vv.VariableType, - } + VariableType: (*string)(&vv.VariableType)} } cr.Variables = varr } @@ -407,7 +406,7 @@ func notUpdated(crv v1alpha1.PipelineVariable, invArr []*gitlab.PipelineVariable } if crv.VariableType != nil { - victim.VariableType = *crv.VariableType + victim.VariableType = gitlab.VariableTypeValue(*crv.VariableType) } for _, v := range invArr { diff --git a/pkg/controller/projects/variables/controller.go b/pkg/controller/projects/variables/controller.go index 4f9a5ca4..034a3d20 100644 --- a/pkg/controller/projects/variables/controller.go +++ b/pkg/controller/projects/variables/controller.go @@ -237,12 +237,12 @@ func (e *external) updateVariableFromSecret(ctx context.Context, selector *xpv1. // Mask variable if it hasn't already been explicitly configured. if params.Masked == nil { - params.Masked = gitlab.Bool(true) + params.Masked = gitlab.Ptr(true) } // Make variable raw if it hasn't already been explicitly configured. if params.Raw == nil { - params.Raw = gitlab.Bool(true) + params.Raw = gitlab.Ptr(true) } value := string(raw)