# Copyright 2017 Google Inc. # # 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 # # http://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. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Container.V1.Api.Projects do @moduledoc """ API calls for all endpoints tagged `Projects`. """ alias GoogleApi.Container.V1.Connection alias GoogleApi.Gax.{Request, Response} @doc """ Completes master IP rotation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CompleteIpRotationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_complete_ip_rotation( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_complete_ip_rotation(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:completeIpRotation", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ 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](/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the cluster 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 is being used by the cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - parent (String.t): The parent (project and location) where the cluster will be created. Specified in the format 'projects/*/locations/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CreateClusterRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_create(Tesla.Env.client(), String.t(), keyword()) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_create(connection, parent, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+parent}/clusters", %{ "parent" => URI.encode_www_form(parent) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Lists all clusters owned by a project in either the specified zone or all zones. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - parent (String.t): The parent (project and location) where the clusters will be listed. Specified in the format 'projects/*/locations/*'. Location \"-\" matches all zones and all regions. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListClustersResponse{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_list(Tesla.Env.client(), String.t(), keyword()) :: {:ok, GoogleApi.Container.V1.Model.ListClustersResponse.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_list(connection, parent, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/{+parent}/clusters", %{ "parent" => URI.encode_www_form(parent) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListClustersResponse{}) end @doc """ Creates a node pool for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - parent (String.t): The parent (project, location, cluster id) where the node pool will be created. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CreateNodePoolRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_create( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_create(connection, parent, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+parent}/nodePools", %{ "parent" => URI.encode_www_form(parent) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Deletes a node pool from a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - :clusterId (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - :nodePoolId (String.t): Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_delete( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_delete(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query, :clusterId => :query, :nodePoolId => :query } request = Request.new() |> Request.method(:delete) |> Request.url("/v1/{+name}", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Retrieves the node pool requested. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - :clusterId (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - :nodePoolId (String.t): Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. ## Returns {:ok, %GoogleApi.Container.V1.Model.NodePool{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_get( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.NodePool.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_get(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query, :clusterId => :query, :nodePoolId => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/{+name}", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.NodePool{}) end @doc """ Lists the node pools for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - parent (String.t): The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. - :clusterId (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListNodePoolsResponse{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_list( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.ListNodePoolsResponse.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_list(connection, parent, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query, :clusterId => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/{+parent}/nodePools", %{ "parent" => URI.encode_www_form(parent) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListNodePoolsResponse{}) end @doc """ Roll back the previously Aborted or Failed NodePool upgrade. This will be an no-op if the last upgrade successfully completed. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (RollbackNodePoolUpgradeRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_rollback( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_rollback(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:rollback", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the autoscaling settings for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolAutoscalingRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_set_autoscaling( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_set_autoscaling( connection, name, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setAutoscaling", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the NodeManagement options for a node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolManagementRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_set_management( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_set_management( connection, name, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setManagement", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the size for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolSizeRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_set_size( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_set_size(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setSize", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Updates the version and/or image type for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (UpdateNodePoolRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_node_pools_update( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_node_pools_update(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:put) |> Request.url("/v1/{+name}", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the addons for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to set addons. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetAddonsConfigRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_addons( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_addons(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setAddons", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Enables or disables the ABAC authorization mechanism on a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLegacyAbacRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_legacy_abac( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_legacy_abac(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setLegacyAbac", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the locations for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to set locations. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLocationsRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_locations( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_locations(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setLocations", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the logging service for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to set logging. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLoggingServiceRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_logging( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_logging(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setLogging", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the maintenance policy for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMaintenancePolicyRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_maintenance_policy( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_maintenance_policy(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setMaintenancePolicy", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Used to set master auth materials. Currently supports :- Changing the admin password for a specific cluster. This can be either via password generation or explicitly set the password. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to set auth. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMasterAuthRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_master_auth( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_master_auth(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setMasterAuth", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the monitoring service for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to set monitoring. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMonitoringServiceRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_monitoring( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_monitoring(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setMonitoring", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Enables/Disables Network Policy for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNetworkPolicyRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_network_policy( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_network_policy(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setNetworkPolicy", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets labels on a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to set labels. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLabelsRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_set_resource_labels( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_set_resource_labels(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:setResourceLabels", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Start master IP rotation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (StartIpRotationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_start_ip_rotation( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_start_ip_rotation(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:startIpRotation", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Updates the master for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, cluster) of the cluster to update. Specified in the format 'projects/*/locations/*/clusters/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (UpdateMasterRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_locations_clusters_update_master( Tesla.Env.client(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_locations_clusters_update_master(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:updateMaster", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Returns configuration info about the Kubernetes Engine service. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project and location) of the server config to get Specified in the format 'projects/*/locations/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. ## Returns {:ok, %GoogleApi.Container.V1.Model.ServerConfig{}} on success {:error, info} on failure """ @spec container_projects_locations_get_server_config(Tesla.Env.client(), String.t(), keyword()) :: {:ok, GoogleApi.Container.V1.Model.ServerConfig.t()} | {:error, Tesla.Env.t()} def container_projects_locations_get_server_config(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/{+name}/serverConfig", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ServerConfig{}) end @doc """ Cancels the specified operation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - name (String.t): The name (project, location, operation id) of the operation to cancel. Specified in the format 'projects/*/locations/*/operations/*'. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CancelOperationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Empty{}} on success {:error, info} on failure """ @spec container_projects_locations_operations_cancel(Tesla.Env.client(), String.t(), keyword()) :: {:ok, GoogleApi.Container.V1.Model.Empty.t()} | {:error, Tesla.Env.t()} def container_projects_locations_operations_cancel(connection, name, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/{+name}:cancel", %{ "name" => URI.encode_www_form(name) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Empty{}) end @doc """ Lists all operations in a project in a specific zone or all zones. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - parent (String.t): The parent (project and location) where the operations will be listed. Specified in the format 'projects/*/locations/*'. Location \"-\" matches all zones and all regions. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :projectId (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. - :zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListOperationsResponse{}} on success {:error, info} on failure """ @spec container_projects_locations_operations_list(Tesla.Env.client(), String.t(), keyword()) :: {:ok, GoogleApi.Container.V1.Model.ListOperationsResponse.t()} | {:error, Tesla.Env.t()} def container_projects_locations_operations_list(connection, parent, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :projectId => :query, :zone => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/{+parent}/operations", %{ "parent" => URI.encode_www_form(parent) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListOperationsResponse{}) end @doc """ Sets the addons for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetAddonsConfigRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_addons( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_addons( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Completes master IP rotation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CompleteIpRotationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_complete_ip_rotation( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_complete_ip_rotation( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ 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](/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the cluster 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 is being used by the cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CreateClusterRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_create( Tesla.Env.client(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_create(connection, project_id, zone, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ 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 (e.g. load balancer resources) will not be deleted if they weren't present at the initial create time. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project, location, cluster) of the cluster to delete. Specified in the format 'projects/*/locations/*/clusters/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_delete( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_delete( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:delete) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Gets the details of a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project, location, cluster) of the cluster to retrieve. Specified in the format 'projects/*/locations/*/clusters/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.Cluster{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_get( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Cluster.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_get(connection, project_id, zone, cluster_id, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Cluster{}) end @doc """ Enables or disables the ABAC authorization mechanism on a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLegacyAbacRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_legacy_abac( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_legacy_abac( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Lists all clusters owned by a project in either the specified zone or all zones. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :parent (String.t): The parent (project and location) where the clusters will be listed. Specified in the format 'projects/*/locations/*'. Location \"-\" matches all zones and all regions. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListClustersResponse{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_list( Tesla.Env.client(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.ListClustersResponse.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_list(connection, project_id, zone, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :parent => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListClustersResponse{}) end @doc """ Sets the locations for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLocationsRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_locations( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_locations( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the logging service for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLoggingServiceRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_logging( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_logging( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Updates the master for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (UpdateMasterRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_master( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_master( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the monitoring service for a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMonitoringServiceRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_monitoring( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_monitoring( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the autoscaling settings for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolAutoscalingRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_autoscaling( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_autoscaling( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Creates a node pool for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CreateNodePoolRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_create( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_create( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Deletes a node pool from a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_delete( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_delete( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:delete) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Retrieves the node pool requested. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.NodePool{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_get( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.NodePool.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_get( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:get) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.NodePool{}) end @doc """ Lists the node pools for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :parent (String.t): The parent (project, location, cluster id) where the node pools will be listed. Specified in the format 'projects/*/locations/*/clusters/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListNodePoolsResponse{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_list( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.ListNodePoolsResponse.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_list( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :parent => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListNodePoolsResponse{}) end @doc """ Roll back the previously Aborted or Failed NodePool upgrade. This will be an no-op if the last upgrade successfully completed. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (RollbackNodePoolUpgradeRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_rollback( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_rollback( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the NodeManagement options for a node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolManagementRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_set_management( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_set_management( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the size for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNodePoolSizeRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_set_size( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_set_size( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Updates the version and/or image type for a specific node pool. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - node_pool_id (String.t): Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (UpdateNodePoolRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_node_pools_update( Tesla.Env.client(), String.t(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_node_pools_update( connection, project_id, zone, cluster_id, node_pool_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id), "nodePoolId" => URI.encode_www_form(node_pool_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets labels on a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetLabelsRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_resource_labels( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_resource_labels( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Sets the maintenance policy for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). - zone (String.t): The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. - cluster_id (String.t): The name of the cluster to update. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMaintenancePolicyRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_set_maintenance_policy( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_set_maintenance_policy( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Used to set master auth materials. Currently supports :- Changing the admin password for a specific cluster. This can be either via password generation or explicitly set the password. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetMasterAuthRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_set_master_auth( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_set_master_auth( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Enables/Disables Network Policy for a cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (SetNetworkPolicyRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_set_network_policy( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_set_network_policy( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Start master IP rotation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (StartIpRotationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_start_ip_rotation( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_start_ip_rotation( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url( "/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) } ) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Updates the settings of a specific cluster. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - cluster_id (String.t): Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (UpdateClusterRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_clusters_update( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_clusters_update( connection, project_id, zone, cluster_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:put) |> Request.url("/v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "clusterId" => URI.encode_www_form(cluster_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Returns configuration info about the Kubernetes Engine service. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project and location) of the server config to get Specified in the format 'projects/*/locations/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.ServerConfig{}} on success {:error, info} on failure """ @spec container_projects_zones_get_serverconfig( Tesla.Env.client(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.ServerConfig.t()} | {:error, Tesla.Env.t()} def container_projects_zones_get_serverconfig(connection, project_id, zone, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/serverconfig", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ServerConfig{}) end @doc """ Cancels the specified operation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field. - operation_id (String.t): Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :body (CancelOperationRequest): ## Returns {:ok, %GoogleApi.Container.V1.Model.Empty{}} on success {:error, info} on failure """ @spec container_projects_zones_operations_cancel( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Empty.t()} | {:error, Tesla.Env.t()} def container_projects_zones_operations_cancel( connection, project_id, zone, operation_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :body => :body } request = Request.new() |> Request.method(:post) |> Request.url("/v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "operationId" => URI.encode_www_form(operation_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Empty{}) end @doc """ Gets the specified operation. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field. - operation_id (String.t): Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :name (String.t): The name (project, location, operation id) of the operation to get. Specified in the format 'projects/*/locations/*/operations/*'. ## Returns {:ok, %GoogleApi.Container.V1.Model.Operation{}} on success {:error, info} on failure """ @spec container_projects_zones_operations_get( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.Operation.t()} | {:error, Tesla.Env.t()} def container_projects_zones_operations_get( connection, project_id, zone, operation_id, opts \\ [] ) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :name => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/operations/{operationId}", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone), "operationId" => URI.encode_www_form(operation_id) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.Operation{}) end @doc """ Lists all operations in a project in a specific zone or all zones. ## Parameters - connection (GoogleApi.Container.V1.Connection): Connection to server - project_id (String.t): Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field. - zone (String.t): Deprecated. The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field. - opts (KeywordList): [optional] Optional parameters - :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - :access_token (String.t): OAuth access token. - :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\"). - :prettyPrint (boolean()): Returns response with indentations and line breaks. - :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - :fields (String.t): Selector specifying which fields to include in a partial response. - :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\"). - :$.xgafv (String.t): V1 error format. - :oauth_token (String.t): OAuth 2.0 token for the current user. - :callback (String.t): JSONP - :alt (String.t): Data format for response. - :parent (String.t): The parent (project and location) where the operations will be listed. Specified in the format 'projects/*/locations/*'. Location \"-\" matches all zones and all regions. ## Returns {:ok, %GoogleApi.Container.V1.Model.ListOperationsResponse{}} on success {:error, info} on failure """ @spec container_projects_zones_operations_list( Tesla.Env.client(), String.t(), String.t(), keyword() ) :: {:ok, GoogleApi.Container.V1.Model.ListOperationsResponse.t()} | {:error, Tesla.Env.t()} def container_projects_zones_operations_list(connection, project_id, zone, opts \\ []) do optional_params = %{ :key => :query, :access_token => :query, :upload_protocol => :query, :prettyPrint => :query, :quotaUser => :query, :fields => :query, :uploadType => :query, :"$.xgafv" => :query, :oauth_token => :query, :callback => :query, :alt => :query, :parent => :query } request = Request.new() |> Request.method(:get) |> Request.url("/v1/projects/{projectId}/zones/{zone}/operations", %{ "projectId" => URI.encode_www_form(project_id), "zone" => URI.encode_www_form(zone) }) |> Request.add_optional_params(optional_params, opts) connection |> Connection.execute(request) |> Response.decode(struct: %GoogleApi.Container.V1.Model.ListOperationsResponse{}) end end