Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version container based on provider, stop using containerbeta client #5376

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func dataSourceGoogleContainerEngineVersionsRead(d *schema.ResourceData, meta in
}

location = fmt.Sprintf("projects/%s/locations/%s", project, location)
resp, err := config.NewContainerBetaClient(userAgent).Projects.Locations.GetServerConfig(location).Do()
resp, err := config.NewContainerClient(userAgent).Projects.Locations.GetServerConfig(location).Do()
if err != nil {
return fmt.Errorf("Error retrieving available container cluster versions: %s", err.Error())
}
Expand Down
445 changes: 225 additions & 220 deletions mmv1/third_party/terraform/resources/resource_container_cluster.go.erb

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -970,7 +970,7 @@ func testAccCheckContainerNodePoolDestroyProducer(t *testing.T) func(s *terrafor
attributes["cluster"],
attributes["name"],
)
_, err = config.NewContainerBetaClient(config.userAgent).Projects.Locations.Clusters.NodePools.Get(name).Do()
_, err = config.NewContainerClient(config.userAgent).Projects.Locations.Clusters.NodePools.Get(name).Do()
}

if err == nil {
Expand Down
27 changes: 8 additions & 19 deletions mmv1/third_party/terraform/utils/config.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ import (
<% else -%>
"google.golang.org/api/compute/v0.beta"
<% end -%>
<% if version == 'ga' -%>
"google.golang.org/api/container/v1"
containerBeta "google.golang.org/api/container/v1beta1"
<% else -%>
"google.golang.org/api/container/v1beta1"
<% end -%>
dataflow "google.golang.org/api/dataflow/v1b3"
<% unless version == 'ga' -%>
dataproc "google.golang.org/api/dataproc/v1beta2"
Expand Down Expand Up @@ -115,7 +118,6 @@ type Config struct {
CloudBillingBasePath string
ComposerBasePath string
ContainerBasePath string
ContainerBetaBasePath string
DataprocBetaBasePath string
DataflowBasePath string
IamCredentialsBasePath string
Expand Down Expand Up @@ -152,7 +154,6 @@ const CloudBillingBasePathKey = "CloudBilling"
const ComposerBasePathKey = "Composer"
const ContainerBasePathKey = "Container"
const DataprocBetaBasePathKey = "DataprocBeta"
const ContainerBetaBasePathKey = "ContainerBeta"
const DataflowBasePathKey = "Dataflow"
const IAMBasePathKey = "IAM"
const IamCredentialsBasePathKey = "IamCredentials"
Expand All @@ -173,8 +174,11 @@ var DefaultBasePaths = map[string]string{
<% else -%>
ComposerBasePathKey : "https://composer.googleapis.com/v1beta1/",
<% end -%>
<% if version == "ga" -%>
ContainerBasePathKey : "https://container.googleapis.com/v1/",
ContainerBetaBasePathKey : "https://container.googleapis.com/v1beta1/",
<% else -%>
ContainerBasePathKey : "https://container.googleapis.com/v1beta1/",
<% end -%>
DataprocBetaBasePathKey : "https://dataproc.googleapis.com/v1beta2/",
DataflowBasePathKey : "https://dataflow.googleapis.com/v1b3/",
IAMBasePathKey : "https://iam.googleapis.com/v1/",
Expand Down Expand Up @@ -384,20 +388,6 @@ func (c *Config) NewContainerClient(userAgent string) *container.Service {
return clientContainer
}

func (c *Config) NewContainerBetaClient(userAgent string) *containerBeta.Service {
containerBetaClientBasePath := removeBasePathVersion(c.ContainerBetaBasePath)
log.Printf("[INFO] Instantiating GKE Beta client for path %s", containerBetaClientBasePath)
clientContainerBeta, err := containerBeta.NewService(c.context, option.WithHTTPClient(c.client))
if err != nil {
log.Printf("[WARN] Error creating client container beta: %s", err)
return nil
}
clientContainerBeta.UserAgent = userAgent
clientContainerBeta.BasePath = containerBetaClientBasePath

return clientContainerBeta
}

func (c *Config) NewDnsClient(userAgent string) *dns.Service {
dnsClientBasePath := removeBasePathVersion(c.DNSBasePath)
dnsClientBasePath = strings.ReplaceAll(dnsClientBasePath, "/dns/", "")
Expand Down Expand Up @@ -967,7 +957,6 @@ func ConfigureBasePaths(c *Config) {
c.CloudBillingBasePath = DefaultBasePaths[CloudBillingBasePathKey]
c.ComposerBasePath = DefaultBasePaths[ComposerBasePathKey]
c.ContainerBasePath = DefaultBasePaths[ContainerBasePathKey]
c.ContainerBetaBasePath = DefaultBasePaths[ContainerBetaBasePathKey]
c.DataprocBasePath = DefaultBasePaths[DataprocBasePathKey]
c.DataflowBasePath = DefaultBasePaths[DataflowBasePathKey]
c.IamCredentialsBasePath = DefaultBasePaths[IamCredentialsBasePathKey]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<% autogen_exception -%>
package google

import (
Expand All @@ -7,7 +8,11 @@ import (
"log"
"time"

container "google.golang.org/api/container/v1beta1"
<% if version == "ga" -%>
"google.golang.org/api/container/v1"
<% else -%>
"google.golang.org/api/container/v1beta1"
<% end -%>
)

type ContainerOperationWaiter struct {
Expand Down Expand Up @@ -104,7 +109,7 @@ func (w *ContainerOperationWaiter) TargetStates() []string {

func containerOperationWait(config *Config, op *container.Operation, project, location, activity, userAgent string, timeout time.Duration) error {
w := &ContainerOperationWaiter{
Service: config.NewContainerBetaClient(userAgent),
Service: config.NewContainerClient(userAgent),
Context: config.context,
Op: op,
Project: project,
Expand Down
54 changes: 29 additions & 25 deletions mmv1/third_party/terraform/utils/node_config.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ import (

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
containerBeta "google.golang.org/api/container/v1beta1"
<% if version == "ga" -%>
"google.golang.org/api/container/v1"
<% else -%>
"google.golang.org/api/container/v1beta1"
<% end -%>
)

// Matches gke-default scope from https://cloud.google.com/sdk/gcloud/reference/container/clusters/create
Expand Down Expand Up @@ -357,9 +361,9 @@ func schemaNodeConfig() *schema.Schema {
}
}

func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {
func expandNodeConfig(v interface{}) *container.NodeConfig {
nodeConfigs := v.([]interface{})
nc := &containerBeta.NodeConfig{
nc := &container.NodeConfig{
// Defaults can't be set on a list/set in the schema, so set the default on create here.
OauthScopes: defaultOauthScopes,
}
Expand All @@ -375,13 +379,13 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {

if v, ok := nodeConfig["guest_accelerator"]; ok {
accels := v.([]interface{})
guestAccelerators := make([]*containerBeta.AcceleratorConfig, 0, len(accels))
guestAccelerators := make([]*container.AcceleratorConfig, 0, len(accels))
for _, raw := range accels {
data := raw.(map[string]interface{})
if data["count"].(int) == 0 {
continue
}
guestAccelerators = append(guestAccelerators, &containerBeta.AcceleratorConfig{
guestAccelerators = append(guestAccelerators, &container.AcceleratorConfig{
AcceleratorCount: int64(data["count"].(int)),
AcceleratorType: data["type"].(string),
GpuPartitionSize: data["gpu_partition_size"].(string),
Expand All @@ -405,7 +409,7 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {
<% unless version == 'ga' -%>
if v, ok := nodeConfig["ephemeral_storage_config"]; ok && len(v.([]interface{})) > 0 {
conf := v.([]interface{})[0].(map[string]interface{})
nc.EphemeralStorageConfig = &containerBeta.EphemeralStorageConfig{
nc.EphemeralStorageConfig = &container.EphemeralStorageConfig{
LocalSsdCount: int64(conf["local_ssd_count"].(int)),
}
}
Expand Down Expand Up @@ -458,7 +462,7 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {

if v, ok := nodeConfig["shielded_instance_config"]; ok && len(v.([]interface{})) > 0 {
conf := v.([]interface{})[0].(map[string]interface{})
nc.ShieldedInstanceConfig = &containerBeta.ShieldedInstanceConfig{
nc.ShieldedInstanceConfig = &container.ShieldedInstanceConfig{
EnableSecureBoot: conf["enable_secure_boot"].(bool),
EnableIntegrityMonitoring: conf["enable_integrity_monitoring"].(bool),
}
Expand All @@ -473,10 +477,10 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {

if v, ok := nodeConfig["taint"]; ok && len(v.([]interface{})) > 0 {
taints := v.([]interface{})
nodeTaints := make([]*containerBeta.NodeTaint, 0, len(taints))
nodeTaints := make([]*container.NodeTaint, 0, len(taints))
for _, raw := range taints {
data := raw.(map[string]interface{})
taint := &containerBeta.NodeTaint{
taint := &container.NodeTaint{
Key: data["key"].(string),
Value: data["value"].(string),
Effect: data["effect"].(string),
Expand All @@ -494,7 +498,7 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {
<% unless version == 'ga' -%>
if v, ok := nodeConfig["sandbox_config"]; ok && len(v.([]interface{})) > 0 {
conf := v.([]interface{})[0].(map[string]interface{})
nc.SandboxConfig = &containerBeta.SandboxConfig{
nc.SandboxConfig = &container.SandboxConfig{
SandboxType: conf["sandbox_type"].(string),
}
}
Expand All @@ -517,15 +521,15 @@ func expandNodeConfig(v interface{}) *containerBeta.NodeConfig {
return nc
}

func expandWorkloadMetadataConfig(v interface{}) *containerBeta.WorkloadMetadataConfig {
func expandWorkloadMetadataConfig(v interface{}) *container.WorkloadMetadataConfig {
if v == nil {
return nil
}
ls := v.([]interface{})
if len(ls) == 0 {
return nil
}
wmc := &containerBeta.WorkloadMetadataConfig{}
wmc := &container.WorkloadMetadataConfig{}

cfg := ls[0].(map[string]interface{})

Expand All @@ -537,7 +541,7 @@ func expandWorkloadMetadataConfig(v interface{}) *containerBeta.WorkloadMetadata
}

<% unless version == 'ga' -%>
func expandKubeletConfig(v interface{}) *containerBeta.NodeKubeletConfig {
func expandKubeletConfig(v interface{}) *container.NodeKubeletConfig {
if v == nil {
return nil
}
Expand All @@ -546,7 +550,7 @@ func expandKubeletConfig(v interface{}) *containerBeta.NodeKubeletConfig {
return nil
}
cfg := ls[0].(map[string]interface{})
kConfig := &containerBeta.NodeKubeletConfig{}
kConfig := &container.NodeKubeletConfig{}
if cpuManagerPolicy, ok := cfg["cpu_manager_policy"]; ok {
kConfig.CpuManagerPolicy = cpuManagerPolicy.(string)
}
Expand All @@ -560,7 +564,7 @@ func expandKubeletConfig(v interface{}) *containerBeta.NodeKubeletConfig {
return kConfig
}

func expandLinuxNodeConfig(v interface{}) *containerBeta.LinuxNodeConfig {
func expandLinuxNodeConfig(v interface{}) *container.LinuxNodeConfig {
if v == nil {
return nil
}
Expand All @@ -577,14 +581,14 @@ func expandLinuxNodeConfig(v interface{}) *containerBeta.LinuxNodeConfig {
for k, v := range sysCfgRaw.(map[string]interface{}) {
m[k] = v.(string)
}
return &containerBeta.LinuxNodeConfig{
return &container.LinuxNodeConfig{
Sysctls: m,
}
}

<% end -%>

func flattenNodeConfig(c *containerBeta.NodeConfig) []map[string]interface{} {
func flattenNodeConfig(c *container.NodeConfig) []map[string]interface{} {
config := make([]map[string]interface{}, 0, 1)

if c == nil {
Expand Down Expand Up @@ -627,7 +631,7 @@ func flattenNodeConfig(c *containerBeta.NodeConfig) []map[string]interface{} {
return config
}

func flattenContainerGuestAccelerators(c []*containerBeta.AcceleratorConfig) []map[string]interface{} {
func flattenContainerGuestAccelerators(c []*container.AcceleratorConfig) []map[string]interface{} {
result := []map[string]interface{}{}
for _, accel := range c {
result = append(result, map[string]interface{}{
Expand All @@ -639,7 +643,7 @@ func flattenContainerGuestAccelerators(c []*containerBeta.AcceleratorConfig) []m
return result
}

func flattenShieldedInstanceConfig(c *containerBeta.ShieldedInstanceConfig) []map[string]interface{} {
func flattenShieldedInstanceConfig(c *container.ShieldedInstanceConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand All @@ -651,7 +655,7 @@ func flattenShieldedInstanceConfig(c *containerBeta.ShieldedInstanceConfig) []ma
}

<% unless version == 'ga' -%>
func flattenEphemeralStorageConfig(c *containerBeta.EphemeralStorageConfig) []map[string]interface{} {
func flattenEphemeralStorageConfig(c *container.EphemeralStorageConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand All @@ -662,7 +666,7 @@ func flattenEphemeralStorageConfig(c *containerBeta.EphemeralStorageConfig) []ma
}
<% end -%>

func flattenTaints(c []*containerBeta.NodeTaint) []map[string]interface{} {
func flattenTaints(c []*container.NodeTaint) []map[string]interface{} {
result := []map[string]interface{}{}
for _, taint := range c {
result = append(result, map[string]interface{}{
Expand All @@ -675,7 +679,7 @@ func flattenTaints(c []*containerBeta.NodeTaint) []map[string]interface{} {
}


func flattenWorkloadMetadataConfig(c *containerBeta.WorkloadMetadataConfig) []map[string]interface{} {
func flattenWorkloadMetadataConfig(c *container.WorkloadMetadataConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand All @@ -685,7 +689,7 @@ func flattenWorkloadMetadataConfig(c *containerBeta.WorkloadMetadataConfig) []ma
return result
}
<% unless version.nil? || version == 'ga' -%>
func flattenSandboxConfig(c *containerBeta.SandboxConfig) []map[string]interface{} {
func flattenSandboxConfig(c *container.SandboxConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand Down Expand Up @@ -812,7 +816,7 @@ func containerNodePoolTaintSuppress(k, old, new string, d *schema.ResourceData)
<% end -%>

<% unless version == 'ga' -%>
func flattenKubeletConfig(c *containerBeta.NodeKubeletConfig) []map[string]interface{} {
func flattenKubeletConfig(c *container.NodeKubeletConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand All @@ -824,7 +828,7 @@ func flattenKubeletConfig(c *containerBeta.NodeKubeletConfig) []map[string]inter
return result
}

func flattenLinuxNodeConfig(c *containerBeta.LinuxNodeConfig) []map[string]interface{} {
func flattenLinuxNodeConfig(c *container.LinuxNodeConfig) []map[string]interface{} {
result := []map[string]interface{}{}
if c != nil {
result = append(result, map[string]interface{}{
Expand Down
2 changes: 0 additions & 2 deletions mmv1/third_party/terraform/utils/provider.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@ func Provider() *schema.Provider {
CloudBillingCustomEndpointEntryKey: CloudBillingCustomEndpointEntry,
ComposerCustomEndpointEntryKey: ComposerCustomEndpointEntry,
ContainerCustomEndpointEntryKey: ContainerCustomEndpointEntry,
ContainerBetaCustomEndpointEntryKey: ContainerBetaCustomEndpointEntry,
DataprocBetaCustomEndpointEntryKey: DataprocBetaCustomEndpointEntry,
DataflowCustomEndpointEntryKey: DataflowCustomEndpointEntry,
IamCredentialsCustomEndpointEntryKey: IamCredentialsCustomEndpointEntry,
Expand Down Expand Up @@ -638,7 +637,6 @@ func providerConfigure(ctx context.Context, d *schema.ResourceData, p *schema.Pr
config.CloudBillingBasePath = d.Get(CloudBillingCustomEndpointEntryKey).(string)
config.ComposerBasePath = d.Get(ComposerCustomEndpointEntryKey).(string)
config.ContainerBasePath = d.Get(ContainerCustomEndpointEntryKey).(string)
config.ContainerBetaBasePath = d.Get(ContainerBetaCustomEndpointEntryKey).(string)
config.DataprocBetaBasePath = d.Get(DataprocBetaCustomEndpointEntryKey).(string)
config.DataflowBasePath = d.Get(DataflowCustomEndpointEntryKey).(string)
config.IamCredentialsBasePath = d.Get(IamCredentialsCustomEndpointEntryKey).(string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,6 @@ var ContainerCustomEndpointEntry = &schema.Schema{
}, DefaultBasePaths[ContainerBasePathKey]),
}

var ContainerBetaCustomEndpointEntryKey = "container_beta_custom_endpoint"
var ContainerBetaCustomEndpointEntry = &schema.Schema{
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CONTAINER_BETA_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ContainerBetaBasePathKey]),
}

var DataprocBetaCustomEndpointEntryKey = "dataproc_beta_custom_endpoint"
var DataprocBetaCustomEndpointEntry = &schema.Schema{
Type: schema.TypeString,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,6 @@ be used for configuration are below:
* `composer_custom_endpoint` (`GOOGLE_COMPOSER_CUSTOM_ENDPOINT`) - `https://composer.googleapis.com/v1beta1/`
* `compute_custom_endpoint` (`GOOGLE_COMPUTE_CUSTOM_ENDPOINT`) - `https://www.googleapis.com/compute/v1/` | `https://www.googleapis.com/compute/beta/`
* `container_custom_endpoint` (`GOOGLE_CONTAINER_CUSTOM_ENDPOINT`) - `https://container.googleapis.com/v1/`
* `container_beta_custom_endpoint` (`GOOGLE_CONTAINER_BETA_CUSTOM_ENDPOINT`) - `https://container.googleapis.com/v1beta1/`
* `dataproc_custom_endpoint` (`GOOGLE_DATAPROC_CUSTOM_ENDPOINT`) - `https://dataproc.googleapis.com/v1/`
* `dataproc_beta_custom_endpoint` (`GOOGLE_DATAPROC_BETA_CUSTOM_ENDPOINT`) - `https://dataproc.googleapis.com/v1beta2/`
* `dataflow_custom_endpoint` (`GOOGLE_DATAFLOW_CUSTOM_ENDPOINT`) - `https://dataflow.googleapis.com/v1b3/`
Expand Down