mirror of https://github.com/knative/client.git
1065 lines
47 KiB
Go
1065 lines
47 KiB
Go
// Copyright 2020 Google LLC
|
||
//
|
||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
// you may not use this file except in compliance with the License.
|
||
// You may obtain a copy of the License at
|
||
//
|
||
// https://www.apache.org/licenses/LICENSE-2.0
|
||
//
|
||
// Unless required by applicable law or agreed to in writing, software
|
||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
// See the License for the specific language governing permissions and
|
||
// limitations under the License.
|
||
|
||
// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
|
||
|
||
package container
|
||
|
||
import (
|
||
"context"
|
||
"fmt"
|
||
"math"
|
||
"net/url"
|
||
"time"
|
||
|
||
"github.com/golang/protobuf/proto"
|
||
gax "github.com/googleapis/gax-go/v2"
|
||
"google.golang.org/api/iterator"
|
||
"google.golang.org/api/option"
|
||
"google.golang.org/api/option/internaloption"
|
||
gtransport "google.golang.org/api/transport/grpc"
|
||
containerpb "google.golang.org/genproto/googleapis/container/v1"
|
||
"google.golang.org/grpc"
|
||
"google.golang.org/grpc/codes"
|
||
"google.golang.org/grpc/metadata"
|
||
)
|
||
|
||
var newClusterManagerClientHook clientHook
|
||
|
||
// ClusterManagerCallOptions contains the retry settings for each method of ClusterManagerClient.
|
||
type ClusterManagerCallOptions struct {
|
||
ListClusters []gax.CallOption
|
||
GetCluster []gax.CallOption
|
||
CreateCluster []gax.CallOption
|
||
UpdateCluster []gax.CallOption
|
||
UpdateNodePool []gax.CallOption
|
||
SetNodePoolAutoscaling []gax.CallOption
|
||
SetLoggingService []gax.CallOption
|
||
SetMonitoringService []gax.CallOption
|
||
SetAddonsConfig []gax.CallOption
|
||
SetLocations []gax.CallOption
|
||
UpdateMaster []gax.CallOption
|
||
SetMasterAuth []gax.CallOption
|
||
DeleteCluster []gax.CallOption
|
||
ListOperations []gax.CallOption
|
||
GetOperation []gax.CallOption
|
||
CancelOperation []gax.CallOption
|
||
GetServerConfig []gax.CallOption
|
||
ListNodePools []gax.CallOption
|
||
GetNodePool []gax.CallOption
|
||
CreateNodePool []gax.CallOption
|
||
DeleteNodePool []gax.CallOption
|
||
RollbackNodePoolUpgrade []gax.CallOption
|
||
SetNodePoolManagement []gax.CallOption
|
||
SetLabels []gax.CallOption
|
||
SetLegacyAbac []gax.CallOption
|
||
StartIPRotation []gax.CallOption
|
||
CompleteIPRotation []gax.CallOption
|
||
SetNodePoolSize []gax.CallOption
|
||
SetNetworkPolicy []gax.CallOption
|
||
SetMaintenancePolicy []gax.CallOption
|
||
ListUsableSubnetworks []gax.CallOption
|
||
}
|
||
|
||
func defaultClusterManagerClientOptions() []option.ClientOption {
|
||
return []option.ClientOption{
|
||
internaloption.WithDefaultEndpoint("container.googleapis.com:443"),
|
||
internaloption.WithDefaultMTLSEndpoint("container.mtls.googleapis.com:443"),
|
||
option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
|
||
option.WithScopes(DefaultAuthScopes()...),
|
||
option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
|
||
grpc.MaxCallRecvMsgSize(math.MaxInt32))),
|
||
}
|
||
}
|
||
|
||
func defaultClusterManagerCallOptions() *ClusterManagerCallOptions {
|
||
return &ClusterManagerCallOptions{
|
||
ListClusters: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
GetCluster: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
CreateCluster: []gax.CallOption{},
|
||
UpdateCluster: []gax.CallOption{},
|
||
UpdateNodePool: []gax.CallOption{},
|
||
SetNodePoolAutoscaling: []gax.CallOption{},
|
||
SetLoggingService: []gax.CallOption{},
|
||
SetMonitoringService: []gax.CallOption{},
|
||
SetAddonsConfig: []gax.CallOption{},
|
||
SetLocations: []gax.CallOption{},
|
||
UpdateMaster: []gax.CallOption{},
|
||
SetMasterAuth: []gax.CallOption{},
|
||
DeleteCluster: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
ListOperations: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
GetOperation: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
CancelOperation: []gax.CallOption{},
|
||
GetServerConfig: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
ListNodePools: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
GetNodePool: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
CreateNodePool: []gax.CallOption{},
|
||
DeleteNodePool: []gax.CallOption{
|
||
gax.WithRetry(func() gax.Retryer {
|
||
return gax.OnCodes([]codes.Code{
|
||
codes.Unavailable,
|
||
codes.DeadlineExceeded,
|
||
}, gax.Backoff{
|
||
Initial: 100 * time.Millisecond,
|
||
Max: 60000 * time.Millisecond,
|
||
Multiplier: 1.30,
|
||
})
|
||
}),
|
||
},
|
||
RollbackNodePoolUpgrade: []gax.CallOption{},
|
||
SetNodePoolManagement: []gax.CallOption{},
|
||
SetLabels: []gax.CallOption{},
|
||
SetLegacyAbac: []gax.CallOption{},
|
||
StartIPRotation: []gax.CallOption{},
|
||
CompleteIPRotation: []gax.CallOption{},
|
||
SetNodePoolSize: []gax.CallOption{},
|
||
SetNetworkPolicy: []gax.CallOption{},
|
||
SetMaintenancePolicy: []gax.CallOption{},
|
||
ListUsableSubnetworks: []gax.CallOption{},
|
||
}
|
||
}
|
||
|
||
// ClusterManagerClient is a client for interacting with Kubernetes Engine API.
|
||
//
|
||
// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
|
||
type ClusterManagerClient struct {
|
||
// Connection pool of gRPC connections to the service.
|
||
connPool gtransport.ConnPool
|
||
|
||
// flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE
|
||
disableDeadlines bool
|
||
|
||
// The gRPC API client.
|
||
clusterManagerClient containerpb.ClusterManagerClient
|
||
|
||
// The call options for this service.
|
||
CallOptions *ClusterManagerCallOptions
|
||
|
||
// The x-goog-* metadata to be sent with each request.
|
||
xGoogMetadata metadata.MD
|
||
}
|
||
|
||
// NewClusterManagerClient creates a new cluster manager client.
|
||
//
|
||
// Google Kubernetes Engine Cluster Manager v1
|
||
func NewClusterManagerClient(ctx context.Context, opts ...option.ClientOption) (*ClusterManagerClient, error) {
|
||
clientOpts := defaultClusterManagerClientOptions()
|
||
|
||
if newClusterManagerClientHook != nil {
|
||
hookOpts, err := newClusterManagerClientHook(ctx, clientHookParams{})
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
clientOpts = append(clientOpts, hookOpts...)
|
||
}
|
||
|
||
disableDeadlines, err := checkDisableDeadlines()
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
|
||
connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
c := &ClusterManagerClient{
|
||
connPool: connPool,
|
||
disableDeadlines: disableDeadlines,
|
||
CallOptions: defaultClusterManagerCallOptions(),
|
||
|
||
clusterManagerClient: containerpb.NewClusterManagerClient(connPool),
|
||
}
|
||
c.setGoogleClientInfo()
|
||
|
||
return c, nil
|
||
}
|
||
|
||
// Connection returns a connection to the API service.
|
||
//
|
||
// Deprecated.
|
||
func (c *ClusterManagerClient) Connection() *grpc.ClientConn {
|
||
return c.connPool.Conn()
|
||
}
|
||
|
||
// Close closes the connection to the API service. The user should invoke this when
|
||
// the client is no longer required.
|
||
func (c *ClusterManagerClient) Close() error {
|
||
return c.connPool.Close()
|
||
}
|
||
|
||
// setGoogleClientInfo sets the name and version of the application in
|
||
// the `x-goog-api-client` header passed on each request. Intended for
|
||
// use by Google-written clients.
|
||
func (c *ClusterManagerClient) setGoogleClientInfo(keyval ...string) {
|
||
kv := append([]string{"gl-go", versionGo()}, keyval...)
|
||
kv = append(kv, "gapic", versionClient, "gax", gax.Version, "grpc", grpc.Version)
|
||
c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
|
||
}
|
||
|
||
// ListClusters lists all clusters owned by a project in either the specified zone or all
|
||
// zones.
|
||
func (c *ClusterManagerClient) ListClusters(ctx context.Context, req *containerpb.ListClustersRequest, opts ...gax.CallOption) (*containerpb.ListClustersResponse, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "parent", url.QueryEscape(req.GetParent()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.ListClusters[0:len(c.CallOptions.ListClusters):len(c.CallOptions.ListClusters)], opts...)
|
||
var resp *containerpb.ListClustersResponse
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.ListClusters(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// GetCluster gets the details of a specific cluster.
|
||
func (c *ClusterManagerClient) GetCluster(ctx context.Context, req *containerpb.GetClusterRequest, opts ...gax.CallOption) (*containerpb.Cluster, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.GetCluster[0:len(c.CallOptions.GetCluster):len(c.CallOptions.GetCluster)], opts...)
|
||
var resp *containerpb.Cluster
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.GetCluster(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// CreateCluster creates a cluster, consisting of the specified number and type of Google
|
||
// Compute Engine instances.
|
||
//
|
||
// By default, the cluster is created in the project’s
|
||
// default network (at https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
|
||
//
|
||
// One firewall is added for the cluster. After cluster creation,
|
||
// the Kubelet creates routes for each node to allow the containers
|
||
// on that node to communicate with all other instances in the
|
||
// cluster.
|
||
//
|
||
// Finally, an entry is added to the project’s global metadata indicating
|
||
// which CIDR range the cluster is using.
|
||
func (c *ClusterManagerClient) CreateCluster(ctx context.Context, req *containerpb.CreateClusterRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "parent", url.QueryEscape(req.GetParent()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.CreateCluster[0:len(c.CallOptions.CreateCluster):len(c.CallOptions.CreateCluster)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.CreateCluster(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// UpdateCluster updates the settings of a specific cluster.
|
||
func (c *ClusterManagerClient) UpdateCluster(ctx context.Context, req *containerpb.UpdateClusterRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.UpdateCluster[0:len(c.CallOptions.UpdateCluster):len(c.CallOptions.UpdateCluster)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.UpdateCluster(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// UpdateNodePool updates the version and/or image type for the specified node pool.
|
||
func (c *ClusterManagerClient) UpdateNodePool(ctx context.Context, req *containerpb.UpdateNodePoolRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.UpdateNodePool[0:len(c.CallOptions.UpdateNodePool):len(c.CallOptions.UpdateNodePool)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.UpdateNodePool(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetNodePoolAutoscaling sets the autoscaling settings for the specified node pool.
|
||
func (c *ClusterManagerClient) SetNodePoolAutoscaling(ctx context.Context, req *containerpb.SetNodePoolAutoscalingRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetNodePoolAutoscaling[0:len(c.CallOptions.SetNodePoolAutoscaling):len(c.CallOptions.SetNodePoolAutoscaling)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetNodePoolAutoscaling(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetLoggingService sets the logging service for a specific cluster.
|
||
func (c *ClusterManagerClient) SetLoggingService(ctx context.Context, req *containerpb.SetLoggingServiceRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetLoggingService[0:len(c.CallOptions.SetLoggingService):len(c.CallOptions.SetLoggingService)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetLoggingService(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetMonitoringService sets the monitoring service for a specific cluster.
|
||
func (c *ClusterManagerClient) SetMonitoringService(ctx context.Context, req *containerpb.SetMonitoringServiceRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetMonitoringService[0:len(c.CallOptions.SetMonitoringService):len(c.CallOptions.SetMonitoringService)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetMonitoringService(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetAddonsConfig sets the addons for a specific cluster.
|
||
func (c *ClusterManagerClient) SetAddonsConfig(ctx context.Context, req *containerpb.SetAddonsConfigRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetAddonsConfig[0:len(c.CallOptions.SetAddonsConfig):len(c.CallOptions.SetAddonsConfig)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetAddonsConfig(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetLocations sets the locations for a specific cluster.
|
||
func (c *ClusterManagerClient) SetLocations(ctx context.Context, req *containerpb.SetLocationsRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetLocations[0:len(c.CallOptions.SetLocations):len(c.CallOptions.SetLocations)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetLocations(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// UpdateMaster updates the master for a specific cluster.
|
||
func (c *ClusterManagerClient) UpdateMaster(ctx context.Context, req *containerpb.UpdateMasterRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.UpdateMaster[0:len(c.CallOptions.UpdateMaster):len(c.CallOptions.UpdateMaster)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.UpdateMaster(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetMasterAuth sets master auth materials. Currently supports changing the admin password
|
||
// or a specific cluster, either via password generation or explicitly setting
|
||
// the password.
|
||
func (c *ClusterManagerClient) SetMasterAuth(ctx context.Context, req *containerpb.SetMasterAuthRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetMasterAuth[0:len(c.CallOptions.SetMasterAuth):len(c.CallOptions.SetMasterAuth)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetMasterAuth(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// DeleteCluster deletes the cluster, including the Kubernetes endpoint and all worker
|
||
// nodes.
|
||
//
|
||
// Firewalls and routes that were configured during cluster creation
|
||
// are also deleted.
|
||
//
|
||
// Other Google Compute Engine resources that might be in use by the cluster,
|
||
// such as load balancer resources, are not deleted if they weren’t present
|
||
// when the cluster was initially created.
|
||
func (c *ClusterManagerClient) DeleteCluster(ctx context.Context, req *containerpb.DeleteClusterRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.DeleteCluster[0:len(c.CallOptions.DeleteCluster):len(c.CallOptions.DeleteCluster)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.DeleteCluster(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// ListOperations lists all operations in a project in a specific zone or all zones.
|
||
func (c *ClusterManagerClient) ListOperations(ctx context.Context, req *containerpb.ListOperationsRequest, opts ...gax.CallOption) (*containerpb.ListOperationsResponse, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "parent", url.QueryEscape(req.GetParent()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.ListOperations[0:len(c.CallOptions.ListOperations):len(c.CallOptions.ListOperations)], opts...)
|
||
var resp *containerpb.ListOperationsResponse
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.ListOperations(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// GetOperation gets the specified operation.
|
||
func (c *ClusterManagerClient) GetOperation(ctx context.Context, req *containerpb.GetOperationRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "operation_id", url.QueryEscape(req.GetOperationId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.GetOperation[0:len(c.CallOptions.GetOperation):len(c.CallOptions.GetOperation)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.GetOperation(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// CancelOperation cancels the specified operation.
|
||
func (c *ClusterManagerClient) CancelOperation(ctx context.Context, req *containerpb.CancelOperationRequest, opts ...gax.CallOption) error {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "operation_id", url.QueryEscape(req.GetOperationId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.CancelOperation[0:len(c.CallOptions.CancelOperation):len(c.CallOptions.CancelOperation)], opts...)
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
_, err = c.clusterManagerClient.CancelOperation(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
return err
|
||
}
|
||
|
||
// GetServerConfig returns configuration info about the Google Kubernetes Engine service.
|
||
func (c *ClusterManagerClient) GetServerConfig(ctx context.Context, req *containerpb.GetServerConfigRequest, opts ...gax.CallOption) (*containerpb.ServerConfig, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.GetServerConfig[0:len(c.CallOptions.GetServerConfig):len(c.CallOptions.GetServerConfig)], opts...)
|
||
var resp *containerpb.ServerConfig
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.GetServerConfig(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// ListNodePools lists the node pools for a cluster.
|
||
func (c *ClusterManagerClient) ListNodePools(ctx context.Context, req *containerpb.ListNodePoolsRequest, opts ...gax.CallOption) (*containerpb.ListNodePoolsResponse, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "parent", url.QueryEscape(req.GetParent()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.ListNodePools[0:len(c.CallOptions.ListNodePools):len(c.CallOptions.ListNodePools)], opts...)
|
||
var resp *containerpb.ListNodePoolsResponse
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.ListNodePools(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// GetNodePool retrieves the requested node pool.
|
||
func (c *ClusterManagerClient) GetNodePool(ctx context.Context, req *containerpb.GetNodePoolRequest, opts ...gax.CallOption) (*containerpb.NodePool, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.GetNodePool[0:len(c.CallOptions.GetNodePool):len(c.CallOptions.GetNodePool)], opts...)
|
||
var resp *containerpb.NodePool
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.GetNodePool(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// CreateNodePool creates a node pool for a cluster.
|
||
func (c *ClusterManagerClient) CreateNodePool(ctx context.Context, req *containerpb.CreateNodePoolRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "parent", url.QueryEscape(req.GetParent()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.CreateNodePool[0:len(c.CallOptions.CreateNodePool):len(c.CallOptions.CreateNodePool)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.CreateNodePool(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// DeleteNodePool deletes a node pool from a cluster.
|
||
func (c *ClusterManagerClient) DeleteNodePool(ctx context.Context, req *containerpb.DeleteNodePoolRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 20000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.DeleteNodePool[0:len(c.CallOptions.DeleteNodePool):len(c.CallOptions.DeleteNodePool)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.DeleteNodePool(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// RollbackNodePoolUpgrade rolls back a previously Aborted or Failed NodePool upgrade.
|
||
// This makes no changes if the last upgrade successfully completed.
|
||
func (c *ClusterManagerClient) RollbackNodePoolUpgrade(ctx context.Context, req *containerpb.RollbackNodePoolUpgradeRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.RollbackNodePoolUpgrade[0:len(c.CallOptions.RollbackNodePoolUpgrade):len(c.CallOptions.RollbackNodePoolUpgrade)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.RollbackNodePoolUpgrade(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetNodePoolManagement sets the NodeManagement options for a node pool.
|
||
func (c *ClusterManagerClient) SetNodePoolManagement(ctx context.Context, req *containerpb.SetNodePoolManagementRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetNodePoolManagement[0:len(c.CallOptions.SetNodePoolManagement):len(c.CallOptions.SetNodePoolManagement)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetNodePoolManagement(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetLabels sets labels on a cluster.
|
||
func (c *ClusterManagerClient) SetLabels(ctx context.Context, req *containerpb.SetLabelsRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetLabels[0:len(c.CallOptions.SetLabels):len(c.CallOptions.SetLabels)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetLabels(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetLegacyAbac enables or disables the ABAC authorization mechanism on a cluster.
|
||
func (c *ClusterManagerClient) SetLegacyAbac(ctx context.Context, req *containerpb.SetLegacyAbacRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetLegacyAbac[0:len(c.CallOptions.SetLegacyAbac):len(c.CallOptions.SetLegacyAbac)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetLegacyAbac(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// StartIPRotation starts master IP rotation.
|
||
func (c *ClusterManagerClient) StartIPRotation(ctx context.Context, req *containerpb.StartIPRotationRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.StartIPRotation[0:len(c.CallOptions.StartIPRotation):len(c.CallOptions.StartIPRotation)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.StartIPRotation(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// CompleteIPRotation completes master IP rotation.
|
||
func (c *ClusterManagerClient) CompleteIPRotation(ctx context.Context, req *containerpb.CompleteIPRotationRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.CompleteIPRotation[0:len(c.CallOptions.CompleteIPRotation):len(c.CallOptions.CompleteIPRotation)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.CompleteIPRotation(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetNodePoolSize sets the size for a specific node pool.
|
||
func (c *ClusterManagerClient) SetNodePoolSize(ctx context.Context, req *containerpb.SetNodePoolSizeRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId()), "node_pool_id", url.QueryEscape(req.GetNodePoolId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetNodePoolSize[0:len(c.CallOptions.SetNodePoolSize):len(c.CallOptions.SetNodePoolSize)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetNodePoolSize(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetNetworkPolicy enables or disables Network Policy for a cluster.
|
||
func (c *ClusterManagerClient) SetNetworkPolicy(ctx context.Context, req *containerpb.SetNetworkPolicyRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetNetworkPolicy[0:len(c.CallOptions.SetNetworkPolicy):len(c.CallOptions.SetNetworkPolicy)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetNetworkPolicy(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// SetMaintenancePolicy sets the maintenance policy for a cluster.
|
||
func (c *ClusterManagerClient) SetMaintenancePolicy(ctx context.Context, req *containerpb.SetMaintenancePolicyRequest, opts ...gax.CallOption) (*containerpb.Operation, error) {
|
||
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
|
||
cctx, cancel := context.WithTimeout(ctx, 45000*time.Millisecond)
|
||
defer cancel()
|
||
ctx = cctx
|
||
}
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v", "name", url.QueryEscape(req.GetName()), "project_id", url.QueryEscape(req.GetProjectId()), "zone", url.QueryEscape(req.GetZone()), "cluster_id", url.QueryEscape(req.GetClusterId())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.SetMaintenancePolicy[0:len(c.CallOptions.SetMaintenancePolicy):len(c.CallOptions.SetMaintenancePolicy)], opts...)
|
||
var resp *containerpb.Operation
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.SetMaintenancePolicy(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return resp, nil
|
||
}
|
||
|
||
// ListUsableSubnetworks lists subnetworks that are usable for creating clusters in a project.
|
||
func (c *ClusterManagerClient) ListUsableSubnetworks(ctx context.Context, req *containerpb.ListUsableSubnetworksRequest, opts ...gax.CallOption) *UsableSubnetworkIterator {
|
||
md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
|
||
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
|
||
opts = append(c.CallOptions.ListUsableSubnetworks[0:len(c.CallOptions.ListUsableSubnetworks):len(c.CallOptions.ListUsableSubnetworks)], opts...)
|
||
it := &UsableSubnetworkIterator{}
|
||
req = proto.Clone(req).(*containerpb.ListUsableSubnetworksRequest)
|
||
it.InternalFetch = func(pageSize int, pageToken string) ([]*containerpb.UsableSubnetwork, string, error) {
|
||
var resp *containerpb.ListUsableSubnetworksResponse
|
||
req.PageToken = pageToken
|
||
if pageSize > math.MaxInt32 {
|
||
req.PageSize = math.MaxInt32
|
||
} else {
|
||
req.PageSize = int32(pageSize)
|
||
}
|
||
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
|
||
var err error
|
||
resp, err = c.clusterManagerClient.ListUsableSubnetworks(ctx, req, settings.GRPC...)
|
||
return err
|
||
}, opts...)
|
||
if err != nil {
|
||
return nil, "", err
|
||
}
|
||
|
||
it.Response = resp
|
||
return resp.GetSubnetworks(), resp.GetNextPageToken(), nil
|
||
}
|
||
fetch := func(pageSize int, pageToken string) (string, error) {
|
||
items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
|
||
if err != nil {
|
||
return "", err
|
||
}
|
||
it.items = append(it.items, items...)
|
||
return nextPageToken, nil
|
||
}
|
||
it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
|
||
it.pageInfo.MaxSize = int(req.GetPageSize())
|
||
it.pageInfo.Token = req.GetPageToken()
|
||
return it
|
||
}
|
||
|
||
// UsableSubnetworkIterator manages a stream of *containerpb.UsableSubnetwork.
|
||
type UsableSubnetworkIterator struct {
|
||
items []*containerpb.UsableSubnetwork
|
||
pageInfo *iterator.PageInfo
|
||
nextFunc func() error
|
||
|
||
// Response is the raw response for the current page.
|
||
// It must be cast to the RPC response type.
|
||
// Calling Next() or InternalFetch() updates this value.
|
||
Response interface{}
|
||
|
||
// InternalFetch is for use by the Google Cloud Libraries only.
|
||
// It is not part of the stable interface of this package.
|
||
//
|
||
// InternalFetch returns results from a single call to the underlying RPC.
|
||
// The number of results is no greater than pageSize.
|
||
// If there are no more results, nextPageToken is empty and err is nil.
|
||
InternalFetch func(pageSize int, pageToken string) (results []*containerpb.UsableSubnetwork, nextPageToken string, err error)
|
||
}
|
||
|
||
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
||
func (it *UsableSubnetworkIterator) PageInfo() *iterator.PageInfo {
|
||
return it.pageInfo
|
||
}
|
||
|
||
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
||
// results. Once Next returns Done, all subsequent calls will return Done.
|
||
func (it *UsableSubnetworkIterator) Next() (*containerpb.UsableSubnetwork, error) {
|
||
var item *containerpb.UsableSubnetwork
|
||
if err := it.nextFunc(); err != nil {
|
||
return item, err
|
||
}
|
||
item = it.items[0]
|
||
it.items = it.items[1:]
|
||
return item, nil
|
||
}
|
||
|
||
func (it *UsableSubnetworkIterator) bufLen() int {
|
||
return len(it.items)
|
||
}
|
||
|
||
func (it *UsableSubnetworkIterator) takeBuf() interface{} {
|
||
b := it.items
|
||
it.items = nil
|
||
return b
|
||
}
|