// Package container provides access to the Google Container Engine API. // // Usage example: // // import "google.golang.org/api/container/v1beta1" // ... // containerService, err := container.New(oauthHttpClient) package container import ( "bytes" "encoding/json" "errors" "fmt" "google.golang.org/api/googleapi" "io" "net/http" "net/url" "strconv" "strings" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = googleapi.Version var _ = errors.New var _ = strings.Replace const apiId = "container:v1beta1" const apiName = "container" const apiVersion = "v1beta1" const basePath = "https://www.googleapis.com/container/v1beta1/projects/" // OAuth2 scopes used by this API. const ( // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL Projects *ProjectsService } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Clusters = NewProjectsClustersService(s) rs.Operations = NewProjectsOperationsService(s) rs.Zones = NewProjectsZonesService(s) return rs } type ProjectsService struct { s *Service Clusters *ProjectsClustersService Operations *ProjectsOperationsService Zones *ProjectsZonesService } func NewProjectsClustersService(s *Service) *ProjectsClustersService { rs := &ProjectsClustersService{s: s} return rs } type ProjectsClustersService struct { s *Service } func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { rs := &ProjectsOperationsService{s: s} return rs } type ProjectsOperationsService struct { s *Service } func NewProjectsZonesService(s *Service) *ProjectsZonesService { rs := &ProjectsZonesService{s: s} rs.Clusters = NewProjectsZonesClustersService(s) rs.Operations = NewProjectsZonesOperationsService(s) return rs } type ProjectsZonesService struct { s *Service Clusters *ProjectsZonesClustersService Operations *ProjectsZonesOperationsService } func NewProjectsZonesClustersService(s *Service) *ProjectsZonesClustersService { rs := &ProjectsZonesClustersService{s: s} return rs } type ProjectsZonesClustersService struct { s *Service } func NewProjectsZonesOperationsService(s *Service) *ProjectsZonesOperationsService { rs := &ProjectsZonesOperationsService{s: s} return rs } type ProjectsZonesOperationsService struct { s *Service } type Cluster struct { // ClusterApiVersion: The API version of the Kubernetes master and // kubelets running in this cluster. Allowed value is 0.4.2, or leave // blank to pick up the latest stable release. ClusterApiVersion string `json:"clusterApiVersion,omitempty"` // ContainerIpv4Cidr: [Output only] The IP addresses of the container // pods in this cluster, in CIDR notation (e.g. 1.2.3.4/29). ContainerIpv4Cidr string `json:"containerIpv4Cidr,omitempty"` // CreationTimestamp: [Output only] The time the cluster was created, in // RFC3339 text format. CreationTimestamp string `json:"creationTimestamp,omitempty"` // Description: An optional description of this cluster. Description string `json:"description,omitempty"` // Endpoint: [Output only] The IP address of this cluster's Kubernetes // master. The endpoint can be accessed from the internet at // https://username:password@endpoint/. // // See the masterAuth property of // this resource for username and password information. Endpoint string `json:"endpoint,omitempty"` // MasterAuth: The HTTP basic authentication information for accessing // the master. Because the master endpoint is open to the internet, you // should create a strong password. MasterAuth *MasterAuth `json:"masterAuth,omitempty"` // Name: The name of this cluster. The name must be unique within this // project and zone, and can be up to 40 characters with the following // restrictions: // - Lowercase letters, numbers, and hyphens only. // - // Must start with a letter. // - Must end with a number or a letter. Name string `json:"name,omitempty"` // NodeConfig: The machine type and image to use for all nodes in this // cluster. See the descriptions of the child properties of nodeConfig. NodeConfig *NodeConfig `json:"nodeConfig,omitempty"` // NodeRoutingPrefixSize: [Output only] The size of the address space on // each node for hosting containers. NodeRoutingPrefixSize int64 `json:"nodeRoutingPrefixSize,omitempty"` // NumNodes: The number of nodes to create in this cluster. You must // ensure that your Compute Engine resource quota is sufficient for this // number of instances plus one (to include the master). You must also // have available firewall and routes quota. NumNodes int64 `json:"numNodes,omitempty"` // ServicesIpv4Cidr: [Output only] The IP addresses of the Kubernetes // services in this cluster, in CIDR notation (e.g. 1.2.3.4/29). // Service addresses are always in the 10.0.0.0/16 range. ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"` // Status: [Output only] The current status of this cluster. Status string `json:"status,omitempty"` // StatusMessage: [Output only] Additional information about the current // status of this cluster, if available. StatusMessage string `json:"statusMessage,omitempty"` // Zone: [Output only] The name of the Google Compute Engine zone in // which the cluster resides. Zone string `json:"zone,omitempty"` } type CreateClusterRequest struct { // Cluster: A cluster resource. Cluster *Cluster `json:"cluster,omitempty"` } type ListAggregatedClustersResponse struct { // Clusters: A list of clusters in the project, across all zones. Clusters []*Cluster `json:"clusters,omitempty"` } type ListAggregatedOperationsResponse struct { // Operations: A list of operations in the project, across all zones. Operations []*Operation `json:"operations,omitempty"` } type ListClustersResponse struct { // Clusters: A list of clusters in the project in the specified zone. Clusters []*Cluster `json:"clusters,omitempty"` } type ListOperationsResponse struct { // Operations: A list of operations in the project in the specified // zone. Operations []*Operation `json:"operations,omitempty"` } type MasterAuth struct { // Password: The password to use when accessing the Kubernetes master // endpoint. Password string `json:"password,omitempty"` // User: The username to use when accessing the Kubernetes master // endpoint. User string `json:"user,omitempty"` } type NodeConfig struct { // MachineType: The name of a Google Compute Engine machine type (e.g. // n1-standard-1). // // If unspecified, the default machine type is // n1-standard-1. MachineType string `json:"machineType,omitempty"` // SourceImage: The fully-specified name of a Google Compute Engine // image. For example: // https://www.googleapis.com/compute/v1/projects/debian-cloud/global/ima // ges/backports-debian-7-wheezy-vYYYYMMDD (where YYYMMDD is the version // date). // // If specifying an image, you are responsible for ensuring its // compatibility with the Debian 7 backports image. We recommend leaving // this field blank to accept the default backports-debian-7-wheezy // value. SourceImage string `json:"sourceImage,omitempty"` } type Operation struct { // ErrorMessage: If an error has occurred, a textual description of the // error. ErrorMessage string `json:"errorMessage,omitempty"` // Name: The server-assigned ID for this operation. If the operation is // fulfilled upfront, it may not have a resource name. Name string `json:"name,omitempty"` // OperationType: The operation type. OperationType string `json:"operationType,omitempty"` // Status: The current status of the operation. Status string `json:"status,omitempty"` // Target: [Optional] The URL of the cluster resource that this // operation is associated with. Target string `json:"target,omitempty"` // Zone: The name of the Google Compute Engine zone in which the // operation is taking place. Zone string `json:"zone,omitempty"` } // method id "container.projects.clusters.list": type ProjectsClustersListCall struct { s *Service projectId string opt_ map[string]interface{} } // List: Lists all clusters owned by a project across all zones. func (r *ProjectsClustersService) List(projectId string) *ProjectsClustersListCall { c := &ProjectsClustersListCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsClustersListCall) Fields(s ...googleapi.Field) *ProjectsClustersListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsClustersListCall) Do() (*ListAggregatedClustersResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/clusters") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *ListAggregatedClustersResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Lists all clusters owned by a project across all zones.", // "httpMethod": "GET", // "id": "container.projects.clusters.list", // "parameterOrder": [ // "projectId" // ], // "parameters": { // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/clusters", // "response": { // "$ref": "ListAggregatedClustersResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.operations.list": type ProjectsOperationsListCall struct { s *Service projectId string opt_ map[string]interface{} } // List: Lists all operations in a project, across all zones. func (r *ProjectsOperationsService) List(projectId string) *ProjectsOperationsListCall { c := &ProjectsOperationsListCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsOperationsListCall) Do() (*ListAggregatedOperationsResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/operations") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *ListAggregatedOperationsResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Lists all operations in a project, across all zones.", // "httpMethod": "GET", // "id": "container.projects.operations.list", // "parameterOrder": [ // "projectId" // ], // "parameters": { // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/operations", // "response": { // "$ref": "ListAggregatedOperationsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.clusters.create": type ProjectsZonesClustersCreateCall struct { s *Service projectId string zoneId string createclusterrequest *CreateClusterRequest opt_ map[string]interface{} } // Create: Creates a cluster, consisting of the specified number and // type of Google Compute Engine instances, plus a Kubernetes master // instance. // // The cluster is created in the project's default // network. // // A firewall is added that allows traffic into port 443 on // the master, which enables HTTPS. A firewall and a route is added for // each node to allow the containers on that node to communicate with // all other instances in the cluster. // // Finally, a route named // k8s-iproute-10-xx-0-0 is created to track that the cluster's // 10.xx.0.0/16 CIDR has been assigned. func (r *ProjectsZonesClustersService) Create(projectId string, zoneId string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall { c := &ProjectsZonesClustersCreateCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId c.createclusterrequest = createclusterrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCreateCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesClustersCreateCall) Do() (*Operation, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclusterrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/clusters") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Operation if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master instance.\n\nThe cluster is created in the project's default network.\n\nA firewall is added that allows traffic into port 443 on the master, which enables HTTPS. A firewall and a route is added for each node to allow the containers on that node to communicate with all other instances in the cluster.\n\nFinally, a route named k8s-iproute-10-xx-0-0 is created to track that the cluster's 10.xx.0.0/16 CIDR has been assigned.", // "httpMethod": "POST", // "id": "container.projects.zones.clusters.create", // "parameterOrder": [ // "projectId", // "zoneId" // ], // "parameters": { // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone in which the cluster resides.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/clusters", // "request": { // "$ref": "CreateClusterRequest" // }, // "response": { // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.clusters.delete": type ProjectsZonesClustersDeleteCall struct { s *Service projectId string zoneId string clusterId string opt_ map[string]interface{} } // Delete: Deletes the cluster, including the Kubernetes master and all // worker nodes. // // Firewalls and routes that were configured at cluster // creation are also deleted. func (r *ProjectsZonesClustersService) Delete(projectId string, zoneId string, clusterId string) *ProjectsZonesClustersDeleteCall { c := &ProjectsZonesClustersDeleteCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId c.clusterId = clusterId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersDeleteCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesClustersDeleteCall) Do() (*Operation, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/clusters/{clusterId}") urls += "?" + params.Encode() req, _ := http.NewRequest("DELETE", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, "clusterId": c.clusterId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Operation if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Deletes the cluster, including the Kubernetes master and all worker nodes.\n\nFirewalls and routes that were configured at cluster creation are also deleted.", // "httpMethod": "DELETE", // "id": "container.projects.zones.clusters.delete", // "parameterOrder": [ // "projectId", // "zoneId", // "clusterId" // ], // "parameters": { // "clusterId": { // "description": "The name of the cluster to delete.", // "location": "path", // "required": true, // "type": "string" // }, // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone in which the cluster resides.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/clusters/{clusterId}", // "response": { // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.clusters.get": type ProjectsZonesClustersGetCall struct { s *Service projectId string zoneId string clusterId string opt_ map[string]interface{} } // Get: Gets a specific cluster. func (r *ProjectsZonesClustersService) Get(projectId string, zoneId string, clusterId string) *ProjectsZonesClustersGetCall { c := &ProjectsZonesClustersGetCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId c.clusterId = clusterId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersGetCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesClustersGetCall) Do() (*Cluster, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/clusters/{clusterId}") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, "clusterId": c.clusterId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Cluster if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Gets a specific cluster.", // "httpMethod": "GET", // "id": "container.projects.zones.clusters.get", // "parameterOrder": [ // "projectId", // "zoneId", // "clusterId" // ], // "parameters": { // "clusterId": { // "description": "The name of the cluster to retrieve.", // "location": "path", // "required": true, // "type": "string" // }, // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone in which the cluster resides.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/clusters/{clusterId}", // "response": { // "$ref": "Cluster" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.clusters.list": type ProjectsZonesClustersListCall struct { s *Service projectId string zoneId string opt_ map[string]interface{} } // List: Lists all clusters owned by a project in the specified zone. func (r *ProjectsZonesClustersService) List(projectId string, zoneId string) *ProjectsZonesClustersListCall { c := &ProjectsZonesClustersListCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesClustersListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesClustersListCall) Do() (*ListClustersResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/clusters") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *ListClustersResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Lists all clusters owned by a project in the specified zone.", // "httpMethod": "GET", // "id": "container.projects.zones.clusters.list", // "parameterOrder": [ // "projectId", // "zoneId" // ], // "parameters": { // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone in which the cluster resides.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/clusters", // "response": { // "$ref": "ListClustersResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.operations.get": type ProjectsZonesOperationsGetCall struct { s *Service projectId string zoneId string operationId string opt_ map[string]interface{} } // Get: Gets the specified operation. func (r *ProjectsZonesOperationsService) Get(projectId string, zoneId string, operationId string) *ProjectsZonesOperationsGetCall { c := &ProjectsZonesOperationsGetCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId c.operationId = operationId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsGetCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesOperationsGetCall) Do() (*Operation, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/operations/{operationId}") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, "operationId": c.operationId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Operation if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Gets the specified operation.", // "httpMethod": "GET", // "id": "container.projects.zones.operations.get", // "parameterOrder": [ // "projectId", // "zoneId", // "operationId" // ], // "parameters": { // "operationId": { // "description": "The server-assigned name of the operation.", // "location": "path", // "required": true, // "type": "string" // }, // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone in which the operation resides. This is always the same zone as the cluster with which the operation is associated.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/operations/{operationId}", // "response": { // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "container.projects.zones.operations.list": type ProjectsZonesOperationsListCall struct { s *Service projectId string zoneId string opt_ map[string]interface{} } // List: Lists all operations in a project in a specific zone. func (r *ProjectsZonesOperationsService) List(projectId string, zoneId string) *ProjectsZonesOperationsListCall { c := &ProjectsZonesOperationsListCall{s: r.s, opt_: make(map[string]interface{})} c.projectId = projectId c.zoneId = zoneId return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsZonesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ProjectsZonesOperationsListCall) Do() (*ListOperationsResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/zones/{zoneId}/operations") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "projectId": c.projectId, "zoneId": c.zoneId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *ListOperationsResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Lists all operations in a project in a specific zone.", // "httpMethod": "GET", // "id": "container.projects.zones.operations.list", // "parameterOrder": [ // "projectId", // "zoneId" // ], // "parameters": { // "projectId": { // "description": "The Google Developers Console project ID or project number.", // "location": "path", // "required": true, // "type": "string" // }, // "zoneId": { // "description": "The name of the Google Compute Engine zone to return operations for.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{projectId}/zones/{zoneId}/operations", // "response": { // "$ref": "ListOperationsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } }