Skip to content

Commit 482ab1e

Browse files
authored
Add support for CDM cluster registration (#217)
1 parent e7568c5 commit 482ab1e

14 files changed

+360
-142
lines changed

docs/guides/changelog.md

+9-23
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,38 @@ page_title: "Changelog"
44

55
# Changelog
66

7-
## v0.10.0-beta.10
7+
## v1.1.0-beta.1
8+
* Add support for registering clusters with RSC using the `polaris_cdm_registration` resource.
9+
[[docs](../resources/cdm_registration)]
10+
11+
## v1.0.0
12+
* Fix a regression in the `polaris_azure_archival_location` data source. An extra level of structure in the RSC response
13+
caused reading the data source to fail.
814
* Fix a type conversion error in the `polaris_aws_exocompute` resource. During a prior refactoring, a new type was
915
introduced for AWS regions to handle cases where the same region has multiple representations in the GraphQL API.
10-
This type was not properly converted in all code paths.
11-
12-
## v0.10.0-beta.9
13-
* Fix a bug in the `polaris_aws_cnp_permissions` data source where the data source's id was accidentally calculated for
16+
This type was not properly converted on all code paths.
17+
* Fix a bug in the `polaris_aws_cnp_permissions` data source where the data source's ID was accidentally calculated for
1418
the complete set of role keys and not just the specified role key.
15-
16-
## v0.10.0-beta.8
1719
* Add the `permissions` field to the `polaris_aws_cnp_account_attachments` resource. The `permissions` field should be
1820
used with the `id` field of the `polaris_aws_cnp_permissions` data source to trigger an update of the resource
1921
whenever the permissions changes. This update will move the RSC cloud account from the missing permissions state.
20-
21-
## v0.10.0-beta.7
2222
* Add support for Azure Bring Your Own Kubernetes Exocompute, also known as BYOK and customer managed Exocompute.
2323
[[docs](../resources/azure_exocompute_cluster_attachment)], [[docs](../resources/azure_private_container_registry)]
24-
25-
## v0.10.0-beta.6
2624
* Add support for the Cloud Native Blob Protection feature to the `polaris_azure_subscription` resource.
2725
[[docs](../resources/azure_subscription#nested-schema-for-cloud_native_blob_protection)]
28-
29-
## v0.10.0-beta.5
30-
* The `data_center_archival_location_amazon_s3` resource will now monitor and wait for the asynchronous CDM operations
31-
to finish.
32-
33-
## v0.10.0-beta.4
3426
* Fix a regression in the cloud native archival location resources. An extra level of structure in the RSC response
3527
caused resource refreshes to fail.
36-
37-
## v0.10.0-beta.3
3828
* Add support for creating data center AWS accounts. [[docs](../resources/data_center_aws_account)]
3929
* Add support for creating data center Azure subscriptions. [[docs](../resources/data_center_azure_subscription)]
4030
* Add support for creating Amazon S3 data center archival locations.
4131
[[docs](../resources/data_center_archival_location_amazon_s3)]
4232
* Add `polaris_data_center_aws_account` data source. [[docs](../data-sources/data_center_aws_account)]
4333
* Add `polaris_data_center_azure_subscription` data source. [[docs](../data-sources/data_center_azure_subscription)]
44-
45-
## v0.10.0-beta.2
4634
* Add the field `manifest` to the `polaris_aws_exocompute_cluster_attachment` resource. The `manifest` field contains
4735
a Kubernetes manifest that can be passed to the Kubernetes Terraform provider or `kubectl` to establish a connection
4836
between the AWS EKS cluster and RSC. [[docs](../resources/aws_exocompute_cluster_attachment)]
4937
* Deprecate the `setup_yaml` field in the `polaris_aws_exocompute_cluster_attachment` resource. Use the `manifest` field
5038
instead.
51-
52-
## v0.10.0-beta.1
5339
* The authentication token cache can now be controlled by the `polaris` provider configuration.
5440
* The `credentials` field of the `polaris` provider configuration now accepts, in addition to what it already accepts,
5541
the content of an RSC service account credentials file.

docs/guides/upgrade_guide_beta.md

+4-10
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,10 @@ page_title: "Upgrade Guide: beta release"
55
# Upgrade Guide Beta Release
66
~> **Note:** The beta provider might have breaking changes between beta releases.
77

8-
## RSC provider changes
9-
The latest beta release introduces changes to the following data sources and resources:
10-
* Add 3 new fields to the `polaris` provider configuration: `token_cache`, `token_cache_dir` and `token_cache_secret`.
11-
The fields can be used to control the authentication token cache through the provider configuration. The cache can
12-
already be controlled through environment variables.
13-
* Update the `credentials` field of the `polaris` provider configuration to accept, in addition to what it already
14-
accepts, the content of an RSC service account credentials file.
15-
16-
Deprecated fields will be removed in a future release, please migrate your configurations to use the replacement field
17-
as soon as possible.
8+
## Before upgrading
9+
Review the [changelog](changelog.md) to understand what has changed and what might cause an issue when upgrading.
10+
Note, deprecated resources and fields will be removed in a future release, please migrate your configurations to use the
11+
recommended replacements as soon as possible.
1812

1913
## How to upgrade
2014
Start by assigning the version of the latest beta release to the `version` field in the `provider` block of the

docs/resources/cdm_registration.md

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "polaris_cdm_registration Resource - terraform-provider-polaris"
4+
subcategory: ""
5+
description: |-
6+
The polaris_cdm_registration resource registers a Rubrik cluster with the
7+
Rubrik Security Cloud (RSC).
8+
~> Note: The Terraform provider can only register clusters, it cannot
9+
un-register clusters or read the state of a cluster registration. Destroying
10+
the resource only removes it from the local state.
11+
---
12+
13+
# polaris_cdm_registration (Resource)
14+
15+
The `polaris_cdm_registration` resource registers a Rubrik cluster with the
16+
Rubrik Security Cloud (RSC).
17+
18+
~> **Note:** The Terraform provider can only register clusters, it cannot
19+
un-register clusters or read the state of a cluster registration. Destroying
20+
the resource only removes it from the local state.
21+
22+
## Example Usage
23+
24+
```terraform
25+
variable "admin_password" {
26+
description = "Password for the cluster admin account."
27+
type = string
28+
sensitive = true
29+
}
30+
31+
resource "polaris_cdm_registration" "cluster_registration" {
32+
admin_password = var.admin_password
33+
cluster_name = "my-cluster"
34+
cluster_node_ip_address = "10.0.100.101"
35+
}
36+
```
37+
38+
<!-- schema generated by tfplugindocs -->
39+
## Schema
40+
41+
### Required
42+
43+
- `admin_password` (String, Sensitive) Password for the cluster admin account.
44+
- `cluster_name` (String) Cluster name.
45+
- `cluster_node_ip_address` (String) The IP address of the cluster node to connect to.
46+
47+
### Read-Only
48+
49+
- `id` (String) Cluster name.
50+
- `registration_mode` (String) Cluster registration mode.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
variable "admin_password" {
2+
description = "Password for the cluster admin account."
3+
type = string
4+
sensitive = true
5+
}
6+
7+
resource "polaris_cdm_registration" "cluster_registration" {
8+
admin_password = var.admin_password
9+
cluster_name = "my-cluster"
10+
cluster_node_ip_address = "10.0.100.101"
11+
}

go.mod

+9-8
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320
99
github.com/hashicorp/terraform-plugin-docs v0.16.0
1010
github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0
11-
github.com/rubrikinc/rubrik-polaris-sdk-for-go v0.11.0-beta.9
11+
github.com/rubrikinc/rubrik-polaris-sdk-for-go v1.1.0-beta.1
1212
)
1313

1414
require (
@@ -49,7 +49,7 @@ require (
4949
github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect
5050
github.com/go-logr/logr v1.4.1 // indirect
5151
github.com/go-logr/stdr v1.2.2 // indirect
52-
github.com/golang-jwt/jwt/v4 v4.0.0 // indirect
52+
github.com/golang-jwt/jwt/v4 v4.5.1 // indirect
5353
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
5454
github.com/golang/protobuf v1.5.4 // indirect
5555
github.com/google/go-cmp v0.6.0 // indirect
@@ -100,14 +100,15 @@ require (
100100
go.opentelemetry.io/otel v1.22.0 // indirect
101101
go.opentelemetry.io/otel/metric v1.22.0 // indirect
102102
go.opentelemetry.io/otel/trace v1.22.0 // indirect
103-
golang.org/x/crypto v0.23.0 // indirect
103+
golang.org/x/crypto v0.31.0 // indirect
104104
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
105-
golang.org/x/mod v0.16.0 // indirect
106-
golang.org/x/net v0.23.0 // indirect
105+
golang.org/x/mod v0.17.0 // indirect
106+
golang.org/x/net v0.33.0 // indirect
107107
golang.org/x/oauth2 v0.17.0 // indirect
108-
golang.org/x/sys v0.20.0 // indirect
109-
golang.org/x/text v0.15.0 // indirect
110-
golang.org/x/tools v0.13.0 // indirect
108+
golang.org/x/sync v0.10.0 // indirect
109+
golang.org/x/sys v0.28.0 // indirect
110+
golang.org/x/text v0.21.0 // indirect
111+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
111112
google.golang.org/api v0.162.0 // indirect
112113
google.golang.org/appengine v1.6.8 // indirect
113114
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect

go.sum

+18-18
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
120120
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
121121
github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
122122
github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
123-
github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o=
124-
github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
123+
github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo=
124+
github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
125125
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
126126
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
127127
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
@@ -270,8 +270,8 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg
270270
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
271271
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
272272
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
273-
github.com/rubrikinc/rubrik-polaris-sdk-for-go v0.11.0-beta.9 h1:Jz10i2sNEmX7nEcijARy859jpn4qwRC1iD2Sb9r0fWM=
274-
github.com/rubrikinc/rubrik-polaris-sdk-for-go v0.11.0-beta.9/go.mod h1:ryJGDKlbaCvozY3Wvt+TPSN2OZRChQedHUNsnVfCbXE=
273+
github.com/rubrikinc/rubrik-polaris-sdk-for-go v1.1.0-beta.1 h1:0SjFVdZmJWNUGa+B5OK1IptXO4+fRix9Ue0lAEo5bHA=
274+
github.com/rubrikinc/rubrik-polaris-sdk-for-go v1.1.0-beta.1/go.mod h1:ApBJPvFbE0CV4+QP6vYnqGyMzNuGvpK2bSz1qLjROL8=
275275
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
276276
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
277277
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
@@ -330,17 +330,17 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh
330330
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
331331
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
332332
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
333-
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
334-
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
333+
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
334+
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
335335
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
336336
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
337337
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
338338
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
339339
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
340340
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
341341
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
342-
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
343-
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
342+
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
343+
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
344344
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
345345
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
346346
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -351,17 +351,17 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY
351351
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
352352
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
353353
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
354-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
355-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
354+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
355+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
356356
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
357357
golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
358358
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
359359
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
360360
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
361361
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
362362
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
363-
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
364-
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
363+
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
364+
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
365365
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
366366
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
367367
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -378,8 +378,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
378378
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
379379
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
380380
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
381-
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
382-
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
381+
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
382+
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
383383
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
384384
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
385385
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
@@ -389,17 +389,17 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
389389
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
390390
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
391391
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
392-
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
393-
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
392+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
393+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
394394
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
395395
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
396396
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
397397
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
398398
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
399399
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
400400
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
401-
golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
402-
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
401+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
402+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
403403
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
404404
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
405405
google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps=

0 commit comments

Comments
 (0)