diff --git a/flexibleengine/acceptance/resource_flexibleengine_rds_account_test.go b/flexibleengine/acceptance/resource_flexibleengine_rds_account_test.go index 56d99c9f8..59758c793 100644 --- a/flexibleengine/acceptance/resource_flexibleengine_rds_account_test.go +++ b/flexibleengine/acceptance/resource_flexibleengine_rds_account_test.go @@ -176,31 +176,36 @@ resource "flexibleengine_networking_secgroup_v2" "test" { name = "%[1]s" } -resource "flexibleengine_rds_instance_v3" "test" { - name = "%[1]s" - flavor = "rds.mysql.s3.large.2.ha" - security_group_id = flexibleengine_networking_secgroup_v2.test.id - subnet_id = flexibleengine_vpc_subnet_v1.test.id - vpc_id = flexibleengine_vpc_v1.test.id - fixed_ip = "192.168.0.58" - ha_replication_mode = "semisync" - - availability_zone = [ - data.flexibleengine_availability_zones.test.names[0], - data.flexibleengine_availability_zones.test.names[1], - ] - - db { - password = "Huangwei!120521" - type = "MySQL" - version = "5.7" - port = 3306 - } +data "flexibleengine_rds_flavors_v3" "test" { + db_type = "MySQL" + db_version = "5.7" + instance_mode = "single" + vcpus = 2 + memory = 4 +} - volume { - type = "ULTRAHIGH" - size = 50 - } +resource "flexibleengine_rds_instance_v3" "test" { + name = "%[1]s" + flavor = data.flexibleengine_rds_flavors_v3.test.flavors[0].name + security_group_id = flexibleengine_networking_secgroup_v2.test.id + subnet_id = flexibleengine_vpc_subnet_v1.test.id + vpc_id = flexibleengine_vpc_v1.test.id + + availability_zone = [ + data.flexibleengine_availability_zones.test.names[0] + ] + + db { + password = "Huangwei!120521" + type = "MySQL" + version = "5.7" + port = 3306 + } + + volume { + type = "ULTRAHIGH" + size = 40 + } } `, rName) } diff --git a/flexibleengine/acceptance/resource_flexibleengine_rds_database_privilege_test.go b/flexibleengine/acceptance/resource_flexibleengine_rds_database_privilege_test.go index 71c7da0a1..35fd18bc3 100644 --- a/flexibleengine/acceptance/resource_flexibleengine_rds_database_privilege_test.go +++ b/flexibleengine/acceptance/resource_flexibleengine_rds_database_privilege_test.go @@ -1,6 +1,7 @@ package acceptance import ( + "encoding/json" "fmt" "strings" "testing" @@ -8,26 +9,71 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/chnsz/golangsdk/pagination" model "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/model" + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/config" "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/acceptance" - "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/rds" + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/utils" ) -func getRdsDatabasePrivilegeFunc(conf *config.Config, state *terraform.ResourceState) (interface{}, error) { - client, err := conf.HcRdsV3Client(OS_REGION_NAME) +func getRdsDatabasePrivilegeFunc(cfg *config.Config, state *terraform.ResourceState) (interface{}, error) { + region := OS_REGION_NAME + // getMysqlDatabasePrivilege: query RDS Mysql database privilege + var ( + getMysqlDatabasePrivilegeHttpUrl = "v3/{project_id}/instances/{instance_id}/database/db_user" + getMysqlDatabasePrivilegeProduct = "rds" + ) + getMysqlDatabasePrivilegeClient, err := cfg.NewServiceClient(getMysqlDatabasePrivilegeProduct, region) if err != nil { return nil, fmt.Errorf("error creating RDS client: %s", err) } // Split instance_id and database from resource id - parts := strings.SplitN(state.Primary.ID, "/", 2) + parts := strings.Split(state.Primary.ID, "/") if len(parts) != 2 { - return nil, fmt.Errorf("invalid id format, must be /") + return nil, fmt.Errorf("invalid id format, must be /") } instanceId := parts[0] dbName := parts[1] - return rds.QueryDatabaseUsers(client, instanceId, dbName) + + getMysqlDatabasePrivilegePath := getMysqlDatabasePrivilegeClient.Endpoint + getMysqlDatabasePrivilegeHttpUrl + getMysqlDatabasePrivilegePath = strings.ReplaceAll(getMysqlDatabasePrivilegePath, "{project_id}", + getMysqlDatabasePrivilegeClient.ProjectID) + getMysqlDatabasePrivilegePath = strings.ReplaceAll(getMysqlDatabasePrivilegePath, "{instance_id}", instanceId) + + getMysqlDatabasePrivilegeQueryParams := buildGetMysqlDatabasePrivilegeQueryParams(dbName) + getMysqlDatabasePrivilegePath += getMysqlDatabasePrivilegeQueryParams + + getMysqlDatabasePrivilegeResp, err := pagination.ListAllItems( + getMysqlDatabasePrivilegeClient, + "page", + getMysqlDatabasePrivilegePath, + &pagination.QueryOpts{MarkerField: ""}) + if err != nil { + return nil, fmt.Errorf("error retrieving Mysql database privilege: %s", err) + } + + getMysqlDatabasePrivilegeRespJson, err := json.Marshal(getMysqlDatabasePrivilegeResp) + if err != nil { + return nil, fmt.Errorf("error retrieving Mysql database privilege: %s", err) + } + var getMysqlDatabasePrivilegeRespBody interface{} + err = json.Unmarshal(getMysqlDatabasePrivilegeRespJson, &getMysqlDatabasePrivilegeRespBody) + if err != nil { + return nil, fmt.Errorf("error retrieving Mysql database privilege: %s", err) + } + + curJson := utils.PathSearch("users", getMysqlDatabasePrivilegeRespBody, make([]interface{}, 0)) + if len(curJson.([]interface{})) == 0 { + return nil, fmt.Errorf("error get RDS Mysql database privilege") + } + + return getMysqlDatabasePrivilegeRespBody, nil +} + +func buildGetMysqlDatabasePrivilegeQueryParams(dbName string) string { + return fmt.Sprintf("?db-name=%s&page=1&limit=100", dbName) } func TestAccRdsDatabasePrivilege_basic(t *testing.T) { diff --git a/flexibleengine/acceptance/resource_flexibleengine_rds_database_test.go b/flexibleengine/acceptance/resource_flexibleengine_rds_database_test.go index 57b4c072b..e8669cbe3 100644 --- a/flexibleengine/acceptance/resource_flexibleengine_rds_database_test.go +++ b/flexibleengine/acceptance/resource_flexibleengine_rds_database_test.go @@ -1,6 +1,7 @@ package acceptance import ( + "encoding/json" "fmt" "strings" "testing" @@ -9,25 +10,63 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rds/v3/model" + "github.com/chnsz/golangsdk/pagination" + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/config" "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/acceptance" - "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/rds" + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/utils" ) -func getRdsDatabaseFunc(conf *config.Config, state *terraform.ResourceState) (interface{}, error) { - client, err := conf.HcRdsV3Client(OS_REGION_NAME) +func getRdsDatabaseFunc(cfg *config.Config, state *terraform.ResourceState) (interface{}, error) { + region := OS_REGION_NAME + // getMysqlDatabase: query RDS Mysql database + var ( + getMysqlDatabaseHttpUrl = "v3/{project_id}/instances/{instance_id}/database/detail?page=1&limit=100" + getMysqlDatabaseProduct = "rds" + ) + getMysqlDatabaseClient, err := cfg.NewServiceClient(getMysqlDatabaseProduct, region) if err != nil { return nil, fmt.Errorf("error creating RDS client: %s", err) } // Split instance_id and database from resource id - parts := strings.SplitN(state.Primary.ID, "/", 2) + parts := strings.Split(state.Primary.ID, "/") if len(parts) != 2 { - return nil, fmt.Errorf("invalid id format, must be /") + return nil, fmt.Errorf("invalid id format, must be /") } instanceId := parts[0] dbName := parts[1] - return rds.QueryDatabases(client, instanceId, dbName) + + getMysqlDatabasePath := getMysqlDatabaseClient.Endpoint + getMysqlDatabaseHttpUrl + getMysqlDatabasePath = strings.ReplaceAll(getMysqlDatabasePath, "{project_id}", getMysqlDatabaseClient.ProjectID) + getMysqlDatabasePath = strings.ReplaceAll(getMysqlDatabasePath, "{instance_id}", instanceId) + + getMysqlDatabaseResp, err := pagination.ListAllItems( + getMysqlDatabaseClient, + "page", + getMysqlDatabasePath, + &pagination.QueryOpts{MarkerField: ""}) + + if err != nil { + return nil, fmt.Errorf("error retrieving MysqlDatabase") + } + + getMysqlDatabaseRespJson, err := json.Marshal(getMysqlDatabaseResp) + if err != nil { + return nil, err + } + var getMysqlDatabaseRespBody interface{} + err = json.Unmarshal(getMysqlDatabaseRespJson, &getMysqlDatabaseRespBody) + if err != nil { + return nil, err + } + + database := utils.PathSearch(fmt.Sprintf("databases[?name=='%s']|[0]", dbName), getMysqlDatabaseRespBody, nil) + if database != nil { + return database, nil + } + + return nil, fmt.Errorf("error get RDS Mysql database by instanceID %s and database %s", instanceId, dbName) } func TestAccRdsDatabase_basic(t *testing.T) { diff --git a/flexibleengine/config.go b/flexibleengine/config.go index 8ec72d263..eacab5db7 100644 --- a/flexibleengine/config.go +++ b/flexibleengine/config.go @@ -12,8 +12,10 @@ import ( "time" "github.com/chnsz/golangsdk" + "github.com/chnsz/golangsdk/auth" huaweisdk "github.com/chnsz/golangsdk/openstack" "github.com/chnsz/golangsdk/openstack/identity/v3/domains" + huaweiconfig "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/config" "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/helper/pathorcontents" ) @@ -152,10 +154,10 @@ func genClient(c *Config, ao golangsdk.AuthOptionsProvider) (*golangsdk.Provider }, CheckRedirect: func(req *http.Request, via []*http.Request) error { if client.AKSKAuthOptions.AccessKey != "" { - golangsdk.ReSign(req, golangsdk.SignOptions{ - AccessKey: client.AKSKAuthOptions.AccessKey, - SecretKey: client.AKSKAuthOptions.SecretKey, - }) + err := auth.Sign(req, client.AKSKAuthOptions.AccessKey, client.AKSKAuthOptions.SecretKey) + if err != nil { + return err + } } return nil }, diff --git a/flexibleengine/provider.go b/flexibleengine/provider.go index 92d6fe0fc..ff65c0fe5 100644 --- a/flexibleengine/provider.go +++ b/flexibleengine/provider.go @@ -282,7 +282,7 @@ func Provider() *schema.Provider { "flexibleengine_as_groups": as.DataSourceASGroups(), "flexibleengine_enterprise_project": eps.DataSourceEnterpriseProject(), - "flexibleengine_cbr_vaults": cbr.DataSourceCbrVaultsV3(), + "flexibleengine_cbr_vaults": cbr.DataSourceVaults(), "flexibleengine_cbr_backup": cbr.DataSourceBackup(), "flexibleengine_cce_clusters": cce.DataSourceCCEClusters(), @@ -467,7 +467,7 @@ func Provider() *schema.Provider { "flexibleengine_as_notification": as.ResourceAsNotification(), "flexibleengine_enterprise_project": eps.ResourceEnterpriseProject(), - "flexibleengine_cbr_policy": cbr.ResourceCBRPolicyV3(), + "flexibleengine_cbr_policy": cbr.ResourcePolicy(), "flexibleengine_cbr_vault": cbr.ResourceVault(), "flexibleengine_cce_namespace": cce.ResourceCCENamespaceV1(), "flexibleengine_cce_pvc": cce.ResourceCcePersistentVolumeClaimsV1(), @@ -522,9 +522,9 @@ func Provider() *schema.Provider { "flexibleengine_obs_bucket_acl": obs.ResourceOBSBucketAcl(), - "flexibleengine_rds_account": rds.ResourceRdsAccount(), - "flexibleengine_rds_database": rds.ResourceRdsDatabase(), - "flexibleengine_rds_database_privilege": rds.ResourceRdsDatabasePrivilege(), + "flexibleengine_rds_account": rds.ResourceMysqlAccount(), + "flexibleengine_rds_database": rds.ResourceMysqlDatabase(), + "flexibleengine_rds_database_privilege": rds.ResourceMysqlDatabasePrivilege(), "flexibleengine_sms_server_template": sms.ResourceServerTemplate(), "flexibleengine_sms_task": sms.ResourceMigrateTask(), "flexibleengine_swr_organization": swr.ResourceSWROrganization(), @@ -562,7 +562,7 @@ func Provider() *schema.Provider { "flexibleengine_lb_member_v3": elb.ResourceMemberV3(), // v1.35.0 "flexibleengine_smn_topic_v2": smn.ResourceTopic(), // v1.39.0 "flexibleengine_smn_subscription_v2": smn.ResourceSubscription(), // v1.39.0 - "flexibleengine_sfs_turbo": huaweicloud.ResourceSFSTurbo(), // v1.41.0 + "flexibleengine_sfs_turbo": sfs.ResourceSFSTurbo(), // Deprecated resource "flexibleengine_as_group_v1": resourceASGroup(), diff --git a/flexibleengine/resource_flexibleengine_cce_node_pool.go b/flexibleengine/resource_flexibleengine_cce_node_pool.go index 1e07cdfa3..2885fe9b2 100644 --- a/flexibleengine/resource_flexibleengine_cce_node_pool.go +++ b/flexibleengine/resource_flexibleengine_cce_node_pool.go @@ -6,12 +6,15 @@ import ( "strings" "time" - "github.com/chnsz/golangsdk" - "github.com/chnsz/golangsdk/openstack/cce/v3/nodepools" - "github.com/chnsz/golangsdk/openstack/cce/v3/nodes" "github.com/hashicorp/go-multierror" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + + "github.com/chnsz/golangsdk" + "github.com/chnsz/golangsdk/openstack/cce/v3/nodepools" + "github.com/chnsz/golangsdk/openstack/cce/v3/nodes" + + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/utils" ) func resourceCCENodePool() *schema.Resource { @@ -462,7 +465,8 @@ func resourceCCENodePoolUpdate(d *schema.ResourceData, meta interface{}) error { return fmt.Errorf("Error creating Flexibleengine CCE client: %s", err) } - initialNodeCount := d.Get("initial_node_count").(int) + specLogin := buildCCENodePoolLoginSpec(d) + rootVolume := resourceCCERootVolume(d) updateOpts := nodepools.UpdateOpts{ Kind: "NodePool", ApiVersion: "v3", @@ -470,7 +474,7 @@ func resourceCCENodePoolUpdate(d *schema.ResourceData, meta interface{}) error { Name: d.Get("name").(string), }, Spec: nodepools.UpdateSpec{ - InitialNodeCount: &initialNodeCount, + InitialNodeCount: utils.Int(d.Get("initial_node_count").(int)), Autoscaling: nodepools.AutoscalingSpec{ Enable: d.Get("scale_enable").(bool) || d.Get("scall_enable").(bool), MinNodeCount: d.Get("min_node_count").(int), @@ -478,11 +482,11 @@ func resourceCCENodePoolUpdate(d *schema.ResourceData, meta interface{}) error { ScaleDownCooldownTime: d.Get("scale_down_cooldown_time").(int), Priority: d.Get("priority").(int), }, - NodeTemplate: nodes.Spec{ + NodeTemplate: nodepools.UpdateNodeTemplate{ Flavor: d.Get("flavor_id").(string), Az: d.Get("availability_zone").(string), - Login: buildCCENodePoolLoginSpec(d), - RootVolume: resourceCCERootVolume(d), + Login: &specLogin, + RootVolume: &rootVolume, DataVolumes: resourceCCEDataVolume(d), Count: 1, K8sTags: resourceCCENodeK8sTags(d), diff --git a/flexibleengine/resource_flexibleengine_identity_user_v3.go b/flexibleengine/resource_flexibleengine_identity_user_v3.go index 3c1c3a192..a3a56d1c3 100644 --- a/flexibleengine/resource_flexibleengine_identity_user_v3.go +++ b/flexibleengine/resource_flexibleengine_identity_user_v3.go @@ -6,11 +6,14 @@ import ( "regexp" "strings" - iam_users "github.com/chnsz/golangsdk/openstack/identity/v3.0/users" - "github.com/chnsz/golangsdk/openstack/identity/v3/users" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" + + iam_users "github.com/chnsz/golangsdk/openstack/identity/v3.0/users" + "github.com/chnsz/golangsdk/openstack/identity/v3/users" + + "github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/utils" ) func resourceIdentityUserV3() *schema.Resource { @@ -158,7 +161,7 @@ func resourceIdentityUserV3Update(ctx context.Context, d *schema.ResourceData, m } if d.HasChange("description") { - updateOpts.Description = d.Get("description").(string) + updateOpts.Description = utils.String(d.Get("description").(string)) } if d.HasChange("email") { diff --git a/go.mod b/go.mod index 5528f6d91..c5cd29a50 100644 --- a/go.mod +++ b/go.mod @@ -4,14 +4,14 @@ go 1.18 require ( github.com/aws/aws-sdk-go v1.34.0 - github.com/chnsz/golangsdk v0.0.0-20230607084208-af9cb224d7a2 + github.com/chnsz/golangsdk v0.0.0-20230928032238-8368779eab9f github.com/hashicorp/errwrap v1.1.0 github.com/hashicorp/go-cleanhttp v0.5.2 github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-uuid v1.0.3 github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0 - github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.20 - github.com/huaweicloud/terraform-provider-huaweicloud v1.50.0 + github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.47 + github.com/huaweicloud/terraform-provider-huaweicloud v1.56.0 github.com/jen20/awspolicyequivalence v1.1.0 github.com/jmespath/go-jmespath v0.4.0 github.com/mitchellh/go-homedir v1.1.0 @@ -58,14 +58,15 @@ require ( github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect github.com/vmihailenco/tagparser v0.1.1 // indirect github.com/zclconf/go-cty v1.11.0 // indirect - golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect + go.mongodb.org/mongo-driver v1.12.0 // indirect + golang.org/x/crypto v0.10.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect google.golang.org/grpc v1.53.0 // indirect google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/ini.v1 v1.66.6 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 2c0c8ab76..279c12f35 100644 --- a/go.sum +++ b/go.sum @@ -21,8 +21,8 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkE github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.34.0 h1:brux2dRrlwCF5JhTL7MUT3WUwo9zfDHZZp3+g3Mvlmo= github.com/aws/aws-sdk-go v1.34.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/chnsz/golangsdk v0.0.0-20230607084208-af9cb224d7a2 h1:M7ID+H4g9gcg3bAN0u70WDq86x0jQNGCl1pHuvukRAU= -github.com/chnsz/golangsdk v0.0.0-20230607084208-af9cb224d7a2/go.mod h1:j6UR2TfACtmWBEvYrQqTpk5wy3b2QsEdiLkjMoM47j8= +github.com/chnsz/golangsdk v0.0.0-20230928032238-8368779eab9f h1:GBNNSIKNsI+ThGMD2fn+rhDmPdV9Z739tB1h63f+M2M= +github.com/chnsz/golangsdk v0.0.0-20230928032238-8368779eab9f/go.mod h1:j6UR2TfACtmWBEvYrQqTpk5wy3b2QsEdiLkjMoM47j8= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -50,8 +50,10 @@ github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaW github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +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.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= @@ -103,10 +105,10 @@ github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKL github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.20 h1:Pyz8ZjJEAel4axFfL3bvPJ0nXg2IAMW2ksZbepyM7KE= -github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.20/go.mod h1:QpZ96CRqyqd5fEODVmnzDNp3IWi5W95BFmWz1nfkq+s= -github.com/huaweicloud/terraform-provider-huaweicloud v1.50.0 h1:DJGixV9Ng6iENUmtMPBnQc2HX2K/ocHiGCtrNB6sm1I= -github.com/huaweicloud/terraform-provider-huaweicloud v1.50.0/go.mod h1:Vz+ZrE6ZFA0IyI03vWwEMfmUZD8GiOdlQMihfp8ClJE= +github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.47 h1:ulL5LGKt5Rz+zGPfSS/d9la7+gO2I8XEglfKgg3saSw= +github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.47/go.mod h1:bsqx6o47Kl4YsniIjPwuoeqiIB5Fc3JbSpB2b3o3WFQ= +github.com/huaweicloud/terraform-provider-huaweicloud v1.56.0 h1:giaRKtW/XiwNYUjlEjBko3PgDEYEbH55La/cPTEwHQA= +github.com/huaweicloud/terraform-provider-huaweicloud v1.56.0/go.mod h1:2Ay3lhzIkC6WZJkO053a1ZTo4jK2BLOmiketpc8L0I4= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -126,6 +128,7 @@ github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgy github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 h1:cTxwSmnaqLoo+4tLukHoB9iqHOu3LmLhRmgUxZo6Vp4= github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= @@ -160,6 +163,7 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OH github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= @@ -174,13 +178,18 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/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.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +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/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= @@ -190,25 +199,37 @@ github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37w github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.11.0 h1:726SxLdi2SDnjY+BStqB9J1hNp4+2WlzyXLuimibIe0= github.com/zclconf/go-cty v1.11.0/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +go.mongodb.org/mongo-driver v1.12.0 h1:aPx33jmn/rQuJXPQLZQ8NtfPQG8CaqgLThFtqRb0PiE= +go.mongodb.org/mongo-driver v1.12.0/go.mod h1:AZkxhPnFJUoH7kZlFkVKucV20K387miPfm7oimrSmK0= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -216,11 +237,16 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/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.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 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= @@ -238,18 +264,34 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +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.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +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.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -270,8 +312,8 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= -gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=