Skip to content

Commit 6d42d7b

Browse files
janardhan-rafaymvgautham-rafay
authored andcommitted
Support for proxyconfig for import cluster
(cherry picked from commit 621e9cc) Support for proxyconfig in import cluster model (cherry picked from commit 94f2c93) Support for proxyconfig for import cluster.Fixed the panic and the schema.Now able to apply (cherry picked from commit c40df9b) Validating proxy config fields while building object (cherry picked from commit e87ccef) Added all the fields from proxy config for input via terraform spec (cherry picked from commit d0e01e1) RC-44138 Fixed NPE (cherry picked from commit 998fed8)
1 parent 76b505f commit 6d42d7b

File tree

3 files changed

+87
-44
lines changed

3 files changed

+87
-44
lines changed

go.mod

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,40 +43,27 @@ require (
4343
github.com/gomatic/clock v1.0.0 // indirect
4444
github.com/google/gnostic v0.6.9 // indirect
4545
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
46-
github.com/hashicorp/hcl v1.0.0 // indirect
4746
github.com/iancoleman/strcase v0.3.0 // indirect
4847
github.com/invopop/yaml v0.3.1 // indirect
4948
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
5049
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
5150
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
5251
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
5352
github.com/jedib0t/go-pretty/v6 v6.4.6 // indirect
54-
github.com/magiconair/properties v1.8.7 // indirect
55-
github.com/mitchellh/go-homedir v1.1.0 // indirect
5653
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
5754
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
58-
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
5955
github.com/perimeterx/marshmallow v1.1.5 // indirect
6056
github.com/pierrec/lz4/v4 v4.1.21 // indirect
6157
github.com/prometheus/client_golang v1.19.1 // indirect
6258
github.com/prometheus/client_model v0.6.1 // indirect
6359
github.com/prometheus/common v0.54.0 // indirect
6460
github.com/prometheus/procfs v0.15.1 // indirect
65-
github.com/sagikazarmark/locafero v0.6.0 // indirect
66-
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
6761
github.com/segmentio/asm v1.2.0 // indirect
68-
github.com/sourcegraph/conc v0.3.0 // indirect
69-
github.com/spf13/afero v1.11.0 // indirect
70-
github.com/spf13/cast v1.6.0 // indirect
71-
github.com/spf13/viper v1.19.0 // indirect
72-
github.com/subosito/gotenv v1.6.0 // indirect
7362
go.opentelemetry.io/otel/metric v1.29.0 // indirect
74-
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect
7563
golang.org/x/mod v0.20.0 // indirect
7664
golang.org/x/tools v0.24.0 // indirect
7765
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
7866
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
79-
gopkg.in/ini.v1 v1.67.0 // indirect
8067
k8s.io/apiextensions-apiserver v0.30.1 // indirect
8168
k8s.io/cluster-bootstrap v0.30.1 // indirect
8269
k8s.io/component-base v0.30.1 // indirect

go.sum

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ github.com/RafaySystems/paas-common v0.0.0-20250407132001-0d707c610b95 h1:3z1arM
2424
github.com/RafaySystems/paas-common v0.0.0-20250407132001-0d707c610b95/go.mod h1:vDR0S28Q+hwE/5wO0L/Ohn9CZwaI/o2QuPupJ2iLI7k=
2525
github.com/RafaySystems/rafay-common v1.29.1-rc2.0.20250828052816-b70dc22f6ab4 h1:Yz+5+pR6Uv1s4vI1h1B5Dj71pe+nzxujGME/NNtW/u8=
2626
github.com/RafaySystems/rafay-common v1.29.1-rc2.0.20250828052816-b70dc22f6ab4/go.mod h1:+8aB8QAWKtj6jGtN8Ry2otyX4Jcsxv63KZJn0q/vbnc=
27-
github.com/RafaySystems/rctl v1.29.1-0.20250731042639-aff15b94561d h1:xmP744yjoZBN4gVyohGASA6EjZavDeQbLZigU7B00ng=
28-
github.com/RafaySystems/rctl v1.29.1-0.20250731042639-aff15b94561d/go.mod h1:Jtllq8E7MaiPZSWaBCKqBye0umwayebQUgjx2n4pwNo=
2927
github.com/RafaySystems/rctl v1.29.1-0.20250825110324-74e24ba30118 h1:0hNEz/PFeLYHplMnsywBzl39FLCXyCwKViTO03NikBI=
3028
github.com/RafaySystems/rctl v1.29.1-0.20250825110324-74e24ba30118/go.mod h1:ZXY4+mpkEfw8sLspzxjtD9GI06HQNr3Ob+teCmpfAhc=
3129
github.com/RoaringBitmap/roaring v1.9.4 h1:yhEIoH4YezLYT04s1nHehNO64EKFTop/wBhxv2QzDdQ=
@@ -254,8 +252,6 @@ github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKe
254252
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
255253
github.com/hashicorp/hc-install v0.8.0 h1:LdpZeXkZYMQhoKPCecJHlKvUkQFixN/nvyR1CdfOLjI=
256254
github.com/hashicorp/hc-install v0.8.0/go.mod h1:+MwJYjDfCruSD/udvBmRB22Nlkwwkwf5sAB6uTIhSaU=
257-
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
258-
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
259255
github.com/hashicorp/hcl/v2 v2.21.0 h1:lve4q/o/2rqwYOgUg3y3V2YPyD1/zkCLGjIV74Jit14=
260256
github.com/hashicorp/hcl/v2 v2.21.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
261257
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
@@ -349,8 +345,6 @@ github.com/levigross/grequests v0.0.0-20190908174114-253788527a1a h1:DGFy/362j92
349345
github.com/levigross/grequests v0.0.0-20190908174114-253788527a1a/go.mod h1:jVntzcUU+2BtVohZBQmSHWUmh8B55LCNfPhcNCIvvIg=
350346
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
351347
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
352-
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
353-
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
354348
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
355349
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
356350
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
@@ -369,8 +363,6 @@ github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWV
369363
github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
370364
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
371365
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
372-
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
373-
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
374366
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
375367
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
376368
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
@@ -415,8 +407,6 @@ github.com/onsi/gomega v1.27.5 h1:T/X6I0RNFw/kTqgfkZPcQ5KU6vCnWNBGdtrIx2dpGeQ=
415407
github.com/onsi/gomega v1.27.5/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg=
416408
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
417409
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
418-
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
419-
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
420410
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
421411
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
422412
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
@@ -451,10 +441,6 @@ github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99
451441
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
452442
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
453443
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
454-
github.com/sagikazarmark/locafero v0.6.0 h1:ON7AQg37yzcRPU69mt7gwhFEBwxI6P9T4Qu3N51bwOk=
455-
github.com/sagikazarmark/locafero v0.6.0/go.mod h1:77OmuIc6VTraTXKXIs/uvUxKGUXjE1GbemJYHqdNjX0=
456-
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
457-
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
458444
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
459445
github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
460446
github.com/segmentio/encoding v0.4.0 h1:MEBYvRqiUB2nfR2criEXWqwdY6HJOUrCn5hboVOVmy8=
@@ -465,28 +451,19 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
465451
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
466452
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
467453
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
468-
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
469-
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
470454
github.com/spacemonkeygo/httpsig v0.0.0-20181218213338-2605ae379e47 h1:D6lKRCfVBP62fSVFfyHC5tBHqMmPnnybE5ow5hL/Erc=
471455
github.com/spacemonkeygo/httpsig v0.0.0-20181218213338-2605ae379e47/go.mod h1:6oPz9W+aPr7nJenCtJydg3ymdOoZTjVYiOogh7FDIQY=
472456
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
473457
github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw=
474458
github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc=
475-
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
476-
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
477-
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
478-
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
479459
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
480460
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
481461
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
482462
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
483-
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
484-
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
485463
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
486464
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
487465
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
488466
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
489-
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
490467
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
491468
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
492469
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -498,11 +475,8 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F
498475
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
499476
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
500477
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
501-
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
502478
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
503479
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
504-
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
505-
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
506480
github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
507481
github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U=
508482
github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
@@ -577,8 +551,6 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58
577551
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
578552
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
579553
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
580-
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM=
581-
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
582554
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
583555
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
584556
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -772,8 +744,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV
772744
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
773745
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
774746
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
775-
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
776-
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
777747
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
778748
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
779749
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=

rafay/resource_import_cluster.go

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,43 @@ func resourceImportCluster() *schema.Resource {
134134
return diag.Diagnostics{}
135135
},
136136
},
137+
"proxy_config": {
138+
Type: schema.TypeList,
139+
Optional: true,
140+
MaxItems: 1,
141+
Elem: &schema.Resource{
142+
Schema: map[string]*schema.Schema{
143+
"http_proxy": {
144+
Type: schema.TypeString,
145+
Optional: true,
146+
},
147+
"https_proxy": {
148+
Type: schema.TypeString,
149+
Optional: true,
150+
},
151+
"no_proxy": {
152+
Type: schema.TypeString,
153+
Optional: true,
154+
},
155+
"enabled": {
156+
Type: schema.TypeBool,
157+
Optional: true,
158+
},
159+
"proxy_auth": {
160+
Type: schema.TypeString,
161+
Optional: true,
162+
},
163+
"allow_insecure_bootstrap": {
164+
Type: schema.TypeBool,
165+
Optional: true,
166+
},
167+
"bootstrap_ca": {
168+
Type: schema.TypeString,
169+
Optional: true,
170+
},
171+
},
172+
},
173+
},
137174
},
138175
}
139176
}
@@ -185,6 +222,49 @@ func updateClusterLabels(name, edgeId, projectId string, labels map[string]strin
185222
return nil
186223
}
187224

225+
func expandProxyConfigImportCluster(v interface{}) *models.ProxyConfig {
226+
l, ok := v.([]interface{})
227+
if !ok || len(l) == 0 || l[0] == nil {
228+
return nil
229+
}
230+
231+
m, ok := l[0].(map[string]interface{})
232+
if !ok {
233+
return nil
234+
}
235+
236+
proxyConfig := models.ProxyConfig{}
237+
httpProxy, ok := m["http_proxy"].(string)
238+
if ok {
239+
proxyConfig.HttpProxy = httpProxy
240+
}
241+
httpsProxy, ok := m["https_proxy"].(string)
242+
if ok {
243+
proxyConfig.HttpsProxy = httpsProxy
244+
}
245+
noProxy, ok := m["no_proxy"].(string)
246+
if ok {
247+
proxyConfig.NoProxy = noProxy
248+
}
249+
enabled, ok := m["enabled"].(bool)
250+
if ok {
251+
proxyConfig.Enabled = enabled
252+
}
253+
allowInsecureBootstrap, ok := m["allow_insecure_bootstrap"].(bool)
254+
if ok {
255+
proxyConfig.AllowInsecureBootstrap = allowInsecureBootstrap
256+
}
257+
proxyAuth, ok := m["proxy_auth"].(string)
258+
if ok {
259+
proxyConfig.ProxyAuth = proxyAuth
260+
}
261+
bootstrapCa, ok := m["bootstrap_ca"].(string)
262+
if ok {
263+
proxyConfig.BootstrapCA = bootstrapCa
264+
}
265+
return &proxyConfig
266+
}
267+
188268
func GetValuesFile(name, project string) (string, error) {
189269
auth := config.GetConfig().GetAppAuthProfile()
190270
uri := fmt.Sprintf("/v2/scheduler/project/%s/cluster/%s/download/valuesyaml", project, name)
@@ -230,8 +310,14 @@ func resourceImportClusterCreate(ctx context.Context, d *schema.ResourceData, m
230310
}
231311
project_id := p.ID
232312

313+
proxyCfg := expandProxyConfigImportCluster(d.Get("proxy_config"))
314+
if proxyCfg == nil {
315+
// Cases where no proxy config is provided
316+
proxyCfg = &models.ProxyConfig{}
317+
}
318+
233319
//create imported cluster
234-
_, err = cluster.NewImportClusterWithProvisionParams(d.Get("clustername").(string), d.Get("blueprint").(string), d.Get("location").(string), project_id, d.Get("blueprint_version").(string), d.Get("provision_environment").(string), d.Get("kubernetes_provider").(string))
320+
_, err = cluster.NewImportClusterWithProvisionParams(d.Get("clustername").(string), d.Get("blueprint").(string), d.Get("location").(string), project_id, d.Get("blueprint_version").(string), d.Get("provision_environment").(string), d.Get("kubernetes_provider").(string), *proxyCfg)
235321
if err != nil {
236322
log.Printf("create import cluster failed to create (check parameters passed in), error %s", err.Error())
237323
return diag.FromErr(err)

0 commit comments

Comments
 (0)