| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| /// Kubernetes Engine API - v1 |
| /// |
| /// Builds and manages container-based applications, powered by the open source |
| /// Kubernetes technology. |
| /// |
| /// For more information, see <https://cloud.google.com/container-engine/> |
| /// |
| /// Create an instance of [ContainerApi] to access these resources: |
| /// |
| /// - [ProjectsResource] |
| /// - [ProjectsAggregatedResource] |
| /// - [ProjectsAggregatedUsableSubnetworksResource] |
| /// - [ProjectsLocationsResource] |
| /// - [ProjectsLocationsClustersResource] |
| /// - [ProjectsLocationsClustersNodePoolsResource] |
| /// - [ProjectsLocationsClustersWellKnownResource] |
| /// - [ProjectsLocationsOperationsResource] |
| /// - [ProjectsZonesResource] |
| /// - [ProjectsZonesClustersResource] |
| /// - [ProjectsZonesClustersNodePoolsResource] |
| /// - [ProjectsZonesOperationsResource] |
| library; |
| |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| import 'dart:core' as core; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| // ignore: deprecated_member_use_from_same_package |
| import '../shared.dart'; |
| import '../src/user_agent.dart'; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| /// Builds and manages container-based applications, powered by the open source |
| /// Kubernetes technology. |
| class ContainerApi { |
| /// See, edit, configure, and delete your Google Cloud data and see the email |
| /// address for your Google Account. |
| static const cloudPlatformScope = |
| 'https://www.googleapis.com/auth/cloud-platform'; |
| |
| final commons.ApiRequester _requester; |
| |
| ProjectsResource get projects => ProjectsResource(_requester); |
| |
| ContainerApi(http.Client client, |
| {core.String rootUrl = 'https://container.googleapis.com/', |
| core.String servicePath = ''}) |
| : _requester = |
| commons.ApiRequester(client, rootUrl, servicePath, requestHeaders); |
| } |
| |
| class ProjectsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsAggregatedResource get aggregated => |
| ProjectsAggregatedResource(_requester); |
| ProjectsLocationsResource get locations => |
| ProjectsLocationsResource(_requester); |
| ProjectsZonesResource get zones => ProjectsZonesResource(_requester); |
| |
| ProjectsResource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsAggregatedResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsAggregatedUsableSubnetworksResource get usableSubnetworks => |
| ProjectsAggregatedUsableSubnetworksResource(_requester); |
| |
| ProjectsAggregatedResource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsAggregatedUsableSubnetworksResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsAggregatedUsableSubnetworksResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Lists subnetworks that are usable for creating clusters in a project. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent project where subnetworks are usable. Specified in |
| /// the format `projects / * `. |
| /// Value must have pattern `^projects/\[^/\]+$`. |
| /// |
| /// [filter] - Filtering currently only supports equality on the |
| /// networkProjectId and must be in the form: |
| /// "networkProjectId=\[PROJECTID\]", where `networkProjectId` is the project |
| /// which owns the listed subnetworks. This defaults to the parent project ID. |
| /// |
| /// [pageSize] - The max number of results per page that should be returned. |
| /// If the number of available results is larger than `page_size`, a |
| /// `next_page_token` is returned which can be used to get the next page of |
| /// results in subsequent requests. Acceptable values are 0 to 500, inclusive. |
| /// (Default: 500) |
| /// |
| /// [pageToken] - Specifies a page token to use. Set this to the nextPageToken |
| /// returned by previous list requests to get the next page of results. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListUsableSubnetworksResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListUsableSubnetworksResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (filter != null) 'filter': [filter], |
| if (pageSize != null) 'pageSize': ['${pageSize}'], |
| if (pageToken != null) 'pageToken': [pageToken], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + |
| core.Uri.encodeFull('$parent') + |
| '/aggregated/usableSubnetworks'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListUsableSubnetworksResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsClustersResource get clusters => |
| ProjectsLocationsClustersResource(_requester); |
| ProjectsLocationsOperationsResource get operations => |
| ProjectsLocationsOperationsResource(_requester); |
| |
| ProjectsLocationsResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Returns configuration info about the Google Kubernetes Engine service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project and location) of the server config to get, |
| /// specified in the format `projects / * /locations / * `. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) to return |
| /// operations for. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ServerConfig]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ServerConfig> getServerConfig( |
| core.String name, { |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/serverConfig'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ServerConfig.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsClustersResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsClustersNodePoolsResource get nodePools => |
| ProjectsLocationsClustersNodePoolsResource(_requester); |
| ProjectsLocationsClustersWellKnownResource get wellKnown => |
| ProjectsLocationsClustersWellKnownResource(_requester); |
| |
| ProjectsLocationsClustersResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Completes master IP rotation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to |
| /// complete IP rotation. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> completeIpRotation( |
| CompleteIPRotationRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':completeIpRotation'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). |
| /// One firewall is added for the cluster. After cluster creation, the Kubelet |
| /// creates routes for each node to allow the containers on that node to |
| /// communicate with all other instances in the cluster. Finally, an entry is |
| /// added to the project's global metadata indicating which CIDR range the |
| /// cluster is using. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent (project and location) where the cluster will be |
| /// created. Specified in the format `projects / * /locations / * `. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| CreateClusterRequest request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/clusters'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes the cluster, including the Kubernetes endpoint and all worker |
| /// nodes. |
| /// |
| /// Firewalls and routes that were configured during cluster creation are also |
| /// deleted. Other Google Compute Engine resources that might be in use by the |
| /// cluster, such as load balancer resources, are not deleted if they weren't |
| /// present when the cluster was initially created. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to delete. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to delete. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.String? clusterId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (clusterId != null) 'clusterId': [clusterId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the details of a specific cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to retrieve. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to retrieve. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Cluster]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Cluster> get( |
| core.String name, { |
| core.String? clusterId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (clusterId != null) 'clusterId': [clusterId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Cluster.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the public component of the cluster signing keys in JSON Web Key |
| /// format. |
| /// |
| /// This API is not yet intended for general use, and is not available for all |
| /// clusters. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The cluster (project, location, cluster name) to get keys for. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GetJSONWebKeysResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GetJSONWebKeysResponse> getJwks( |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/jwks'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GetJSONWebKeysResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists all clusters owned by a project in either the specified zone or all |
| /// zones. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent (project and location) where the clusters will be |
| /// listed. Specified in the format `projects / * /locations / * `. Location |
| /// "-" matches all zones and all regions. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides, or "-" for all zones. This field has been deprecated and |
| /// replaced by the parent field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListClustersResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListClustersResponse> list( |
| core.String parent, { |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/clusters'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListClustersResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the addons for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to set |
| /// addons. Specified in the format `projects / * /locations / * /clusters / * |
| /// `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setAddons( |
| SetAddonsConfigRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setAddons'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Enables or disables the ABAC authorization mechanism on a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to set |
| /// legacy abac. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setLegacyAbac( |
| SetLegacyAbacRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setLegacyAbac'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the locations for a specific cluster. |
| /// |
| /// Deprecated. Use |
| /// [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) |
| /// instead. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to set |
| /// locations. Specified in the format `projects / * /locations / * /clusters |
| /// / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setLocations( |
| SetLocationsRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setLocations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the logging service for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to set |
| /// logging. Specified in the format `projects / * /locations / * /clusters / |
| /// * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setLogging( |
| SetLoggingServiceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setLogging'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the maintenance policy for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to set |
| /// maintenance policy. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setMaintenancePolicy( |
| SetMaintenancePolicyRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setMaintenancePolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets master auth materials. |
| /// |
| /// Currently supports changing the admin password or a specific cluster, |
| /// either via password generation or explicitly setting the password. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to set auth. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setMasterAuth( |
| SetMasterAuthRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setMasterAuth'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the monitoring service for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to set |
| /// monitoring. Specified in the format `projects / * /locations / * /clusters |
| /// / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setMonitoring( |
| SetMonitoringServiceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setMonitoring'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Enables or disables Network Policy for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to set |
| /// networking policy. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setNetworkPolicy( |
| SetNetworkPolicyRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setNetworkPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets labels on a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to set |
| /// labels. Specified in the format `projects / * /locations / * /clusters / * |
| /// `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setResourceLabels( |
| SetLabelsRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setResourceLabels'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Starts master IP rotation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster name) of the cluster to |
| /// start IP rotation. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> startIpRotation( |
| StartIPRotationRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':startIpRotation'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the settings of a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to update. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> update( |
| UpdateClusterRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the master for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to update. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> updateMaster( |
| UpdateMasterRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':updateMaster'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsClustersNodePoolsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsClustersNodePoolsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// CompleteNodePoolUpgrade will signal an on-going node pool upgrade to |
| /// complete. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to complete upgrade. Specified in the format `projects / * /locations |
| /// / * /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> completeUpgrade( |
| CompleteNodePoolUpgradeRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':completeUpgrade'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Creates a node pool for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent (project, location, cluster name) where the node |
| /// pool will be created. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| CreateNodePoolRequest request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/nodePools'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a node pool from a cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to delete. Specified in the format `projects / * /locations / * |
| /// /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to delete. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.String? clusterId, |
| core.String? nodePoolId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (clusterId != null) 'clusterId': [clusterId], |
| if (nodePoolId != null) 'nodePoolId': [nodePoolId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves the requested node pool. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to get. Specified in the format `projects / * /locations / * |
| /// /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [NodePool]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<NodePool> get( |
| core.String name, { |
| core.String? clusterId, |
| core.String? nodePoolId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (clusterId != null) 'clusterId': [clusterId], |
| if (nodePoolId != null) 'nodePoolId': [nodePoolId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return NodePool.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists the node pools for a cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent (project, location, cluster name) where the node |
| /// pools will be listed. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the parent field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the parent |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListNodePoolsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListNodePoolsResponse> list( |
| core.String parent, { |
| core.String? clusterId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (clusterId != null) 'clusterId': [clusterId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/nodePools'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListNodePoolsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Rolls back a previously Aborted or Failed NodePool upgrade. |
| /// |
| /// This makes no changes if the last upgrade successfully completed. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// poll to rollback upgrade. Specified in the format `projects / * /locations |
| /// / * /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> rollback( |
| RollbackNodePoolUpgradeRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':rollback'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the autoscaling settings for the specified node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool) of the node pool |
| /// to set autoscaler settings. Specified in the format `projects / * |
| /// /locations / * /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setAutoscaling( |
| SetNodePoolAutoscalingRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setAutoscaling'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the NodeManagement options for a node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to set management properties. Specified in the format `projects / * |
| /// /locations / * /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setManagement( |
| SetNodePoolManagementRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setManagement'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the size for a specific node pool. |
| /// |
| /// The new size will be used for all replicas, including future replicas |
| /// created by modifying NodePool.locations. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to set size. Specified in the format `projects / * /locations / * |
| /// /clusters / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setSize( |
| SetNodePoolSizeRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':setSize'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the version and/or image type for the specified node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, cluster, node pool) of the node pool |
| /// to update. Specified in the format `projects / * /locations / * /clusters |
| /// / * /nodePools / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+/nodePools/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> update( |
| UpdateNodePoolRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsClustersWellKnownResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsClustersWellKnownResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Gets the OIDC discovery document for the cluster. |
| /// |
| /// See the |
| /// [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) |
| /// for details. This API is not yet intended for general use, and is not |
| /// available for all clusters. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The cluster (project, location, cluster name) to get the |
| /// discovery document for. Specified in the format `projects / * /locations / |
| /// * /clusters / * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GetOpenIDConfigResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GetOpenIDConfigResponse> getOpenidConfiguration( |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + |
| core.Uri.encodeFull('$parent') + |
| '/.well-known/openid-configuration'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GetOpenIDConfigResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsOperationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsOperationsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Cancels the specified operation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, operation id) of the operation to |
| /// cancel. Specified in the format `projects / * /locations / * /operations / |
| /// * `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> cancel( |
| CancelOperationRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the specified operation. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (project, location, operation id) of the operation to |
| /// get. Specified in the format `projects / * /locations / * /operations / * |
| /// `. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. |
| /// |
| /// [operationId] - Deprecated. The server-assigned `name` of the operation. |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get( |
| core.String name, { |
| core.String? operationId, |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (operationId != null) 'operationId': [operationId], |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists all operations in a project in a specific zone or all zones. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent (project and location) where the operations will be |
| /// listed. Specified in the format `projects / * /locations / * `. Location |
| /// "-" matches all zones and all regions. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) to return |
| /// operations for, or `-` for all zones. This field has been deprecated and |
| /// replaced by the parent field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListOperationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListOperationsResponse> list( |
| core.String parent, { |
| core.String? projectId, |
| core.String? zone, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (projectId != null) 'projectId': [projectId], |
| if (zone != null) 'zone': [zone], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/operations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListOperationsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsZonesResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsZonesClustersResource get clusters => |
| ProjectsZonesClustersResource(_requester); |
| ProjectsZonesOperationsResource get operations => |
| ProjectsZonesOperationsResource(_requester); |
| |
| ProjectsZonesResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Returns configuration info about the Google Kubernetes Engine service. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) to return |
| /// operations for. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [name] - The name (project and location) of the server config to get, |
| /// specified in the format `projects / * /locations / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ServerConfig]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ServerConfig> getServerconfig( |
| core.String projectId, |
| core.String zone, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/serverconfig'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ServerConfig.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsZonesClustersResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsZonesClustersNodePoolsResource get nodePools => |
| ProjectsZonesClustersNodePoolsResource(_requester); |
| |
| ProjectsZonesClustersResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Sets the addons for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> addons( |
| SetAddonsConfigRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/addons'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Completes master IP rotation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> completeIpRotation( |
| CompleteIPRotationRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| ':completeIpRotation'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). |
| /// One firewall is added for the cluster. After cluster creation, the Kubelet |
| /// creates routes for each node to allow the containers on that node to |
| /// communicate with all other instances in the cluster. Finally, an entry is |
| /// added to the project's global metadata indicating which CIDR range the |
| /// cluster is using. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the parent |
| /// field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| CreateClusterRequest request, |
| core.String projectId, |
| core.String zone, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes the cluster, including the Kubernetes endpoint and all worker |
| /// nodes. |
| /// |
| /// Firewalls and routes that were configured during cluster creation are also |
| /// deleted. Other Google Compute Engine resources that might be in use by the |
| /// cluster, such as load balancer resources, are not deleted if they weren't |
| /// present when the cluster was initially created. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to delete. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to delete. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the details of a specific cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to retrieve. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [name] - The name (project, location, cluster) of the cluster to retrieve. |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Cluster]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Cluster> get( |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Cluster.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Enables or disables the ABAC authorization mechanism on a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to update. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> legacyAbac( |
| SetLegacyAbacRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/legacyAbac'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists all clusters owned by a project in either the specified zone or all |
| /// zones. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides, or "-" for all zones. This field has been deprecated and |
| /// replaced by the parent field. |
| /// |
| /// [parent] - The parent (project and location) where the clusters will be |
| /// listed. Specified in the format `projects / * /locations / * `. Location |
| /// "-" matches all zones and all regions. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListClustersResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListClustersResponse> list( |
| core.String projectId, |
| core.String zone, { |
| core.String? parent, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (parent != null) 'parent': [parent], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListClustersResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the locations for a specific cluster. |
| /// |
| /// Deprecated. Use |
| /// [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) |
| /// instead. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> locations( |
| SetLocationsRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/locations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the logging service for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> logging( |
| SetLoggingServiceRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/logging'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the master for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> master( |
| UpdateMasterRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/master'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the monitoring service for a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> monitoring( |
| SetMonitoringServiceRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/monitoring'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets labels on a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> resourceLabels( |
| SetLabelsRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/resourceLabels'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the maintenance policy for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Required. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// [zone] - Required. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// [clusterId] - Required. The name of the cluster to update. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setMaintenancePolicy( |
| SetMaintenancePolicyRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| ':setMaintenancePolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets master auth materials. |
| /// |
| /// Currently supports changing the admin password or a specific cluster, |
| /// either via password generation or explicitly setting the password. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setMasterAuth( |
| SetMasterAuthRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| ':setMasterAuth'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Enables or disables Network Policy for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setNetworkPolicy( |
| SetNetworkPolicyRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| ':setNetworkPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Starts master IP rotation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> startIpRotation( |
| StartIPRotationRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| ':startIpRotation'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the settings of a specific cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> update( |
| UpdateClusterRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsZonesClustersNodePoolsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsZonesClustersNodePoolsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Sets the autoscaling settings for the specified node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to upgrade. This |
| /// field has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> autoscaling( |
| SetNodePoolAutoscalingRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId') + |
| '/autoscaling'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Creates a node pool for a cluster. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the parent |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the parent field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| CreateNodePoolRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a node pool from a cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to delete. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to delete. Specified in the format `projects / * /locations / * |
| /// /clusters / * /nodePools / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves the requested node pool. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool. This field has been |
| /// deprecated and replaced by the name field. |
| /// |
| /// [name] - The name (project, location, cluster, node pool id) of the node |
| /// pool to get. Specified in the format `projects / * /locations / * |
| /// /clusters / * /nodePools / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [NodePool]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<NodePool> get( |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return NodePool.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists the node pools for a cluster. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the parent |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster. This field has been |
| /// deprecated and replaced by the parent field. |
| /// |
| /// [parent] - The parent (project, location, cluster name) where the node |
| /// pools will be listed. Specified in the format `projects / * /locations / * |
| /// /clusters / * `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListNodePoolsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListNodePoolsResponse> list( |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, { |
| core.String? parent, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (parent != null) 'parent': [parent], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListNodePoolsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Rolls back a previously Aborted or Failed NodePool upgrade. |
| /// |
| /// This makes no changes if the last upgrade successfully completed. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to rollback. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to rollback. This |
| /// field has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> rollback( |
| RollbackNodePoolUpgradeRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId') + |
| ':rollback'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the NodeManagement options for a node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to update. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to update. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setManagement( |
| SetNodePoolManagementRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId') + |
| '/setManagement'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the size for a specific node pool. |
| /// |
| /// The new size will be used for all replicas, including future replicas |
| /// created by modifying NodePool.locations. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to update. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to update. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> setSize( |
| SetNodePoolSizeRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId') + |
| '/setSize'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the version and/or image type for the specified node pool. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [clusterId] - Deprecated. The name of the cluster to upgrade. This field |
| /// has been deprecated and replaced by the name field. |
| /// |
| /// [nodePoolId] - Deprecated. The name of the node pool to upgrade. This |
| /// field has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> update( |
| UpdateNodePoolRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String clusterId, |
| core.String nodePoolId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/clusters/' + |
| commons.escapeVariable('$clusterId') + |
| '/nodePools/' + |
| commons.escapeVariable('$nodePoolId') + |
| '/update'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsZonesOperationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsZonesOperationsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Cancels the specified operation. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// operation resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [operationId] - Deprecated. The server-assigned `name` of the operation. |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> cancel( |
| CancelOperationRequest request, |
| core.String projectId, |
| core.String zone, |
| core.String operationId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/operations/' + |
| commons.escapeVariable('$operationId') + |
| ':cancel'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the specified operation. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. This field has been deprecated and replaced by the name |
| /// field. |
| /// |
| /// [operationId] - Deprecated. The server-assigned `name` of the operation. |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// [name] - The name (project, location, operation id) of the operation to |
| /// get. Specified in the format `projects / * /locations / * /operations / * |
| /// `. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get( |
| core.String projectId, |
| core.String zone, |
| core.String operationId, { |
| core.String? name, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (name != null) 'name': [name], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/operations/' + |
| commons.escapeVariable('$operationId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists all operations in a project in a specific zone or all zones. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - Deprecated. The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// [zone] - Deprecated. The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) to return |
| /// operations for, or `-` for all zones. This field has been deprecated and |
| /// replaced by the parent field. |
| /// |
| /// [parent] - The parent (project and location) where the operations will be |
| /// listed. Specified in the format `projects / * /locations / * `. Location |
| /// "-" matches all zones and all regions. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListOperationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListOperationsResponse> list( |
| core.String projectId, |
| core.String zone, { |
| core.String? parent, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (parent != null) 'parent': [parent], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v1/projects/' + |
| commons.escapeVariable('$projectId') + |
| '/zones/' + |
| commons.escapeVariable('$zone') + |
| '/operations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListOperationsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| /// AcceleratorConfig represents a Hardware Accelerator request. |
| class AcceleratorConfig { |
| /// The number of the accelerator cards exposed to an instance. |
| core.String? acceleratorCount; |
| |
| /// The accelerator type resource name. |
| /// |
| /// List of supported accelerators |
| /// [here](https://cloud.google.com/compute/docs/gpus) |
| core.String? acceleratorType; |
| |
| /// Size of partitions to create on the GPU. |
| /// |
| /// Valid values are described in the NVIDIA |
| /// [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). |
| core.String? gpuPartitionSize; |
| |
| /// The configuration for GPU sharing options. |
| GPUSharingConfig? gpuSharingConfig; |
| |
| AcceleratorConfig({ |
| this.acceleratorCount, |
| this.acceleratorType, |
| this.gpuPartitionSize, |
| this.gpuSharingConfig, |
| }); |
| |
| AcceleratorConfig.fromJson(core.Map json_) |
| : this( |
| acceleratorCount: json_.containsKey('acceleratorCount') |
| ? json_['acceleratorCount'] as core.String |
| : null, |
| acceleratorType: json_.containsKey('acceleratorType') |
| ? json_['acceleratorType'] as core.String |
| : null, |
| gpuPartitionSize: json_.containsKey('gpuPartitionSize') |
| ? json_['gpuPartitionSize'] as core.String |
| : null, |
| gpuSharingConfig: json_.containsKey('gpuSharingConfig') |
| ? GPUSharingConfig.fromJson(json_['gpuSharingConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (acceleratorCount != null) 'acceleratorCount': acceleratorCount!, |
| if (acceleratorType != null) 'acceleratorType': acceleratorType!, |
| if (gpuPartitionSize != null) 'gpuPartitionSize': gpuPartitionSize!, |
| if (gpuSharingConfig != null) 'gpuSharingConfig': gpuSharingConfig!, |
| }; |
| } |
| |
| /// AdditionalPodRangesConfig is the configuration for additional pod secondary |
| /// ranges supporting the ClusterUpdate message. |
| class AdditionalPodRangesConfig { |
| /// Name for pod secondary ipv4 range which has the actual range defined |
| /// ahead. |
| core.List<core.String>? podRangeNames; |
| |
| AdditionalPodRangesConfig({ |
| this.podRangeNames, |
| }); |
| |
| AdditionalPodRangesConfig.fromJson(core.Map json_) |
| : this( |
| podRangeNames: json_.containsKey('podRangeNames') |
| ? (json_['podRangeNames'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (podRangeNames != null) 'podRangeNames': podRangeNames!, |
| }; |
| } |
| |
| /// Configuration for the addons that can be automatically spun up in the |
| /// cluster, enabling additional functionality. |
| class AddonsConfig { |
| /// Configuration for the Cloud Run addon, which allows the user to use a |
| /// managed Knative service. |
| CloudRunConfig? cloudRunConfig; |
| |
| /// Configuration for the ConfigConnector add-on, a Kubernetes extension to |
| /// manage hosted GCP services through the Kubernetes API |
| ConfigConnectorConfig? configConnectorConfig; |
| |
| /// Configuration for NodeLocalDNS, a dns cache running on cluster nodes |
| DnsCacheConfig? dnsCacheConfig; |
| |
| /// Configuration for the Compute Engine Persistent Disk CSI driver. |
| GcePersistentDiskCsiDriverConfig? gcePersistentDiskCsiDriverConfig; |
| |
| /// Configuration for the GCP Filestore CSI driver. |
| GcpFilestoreCsiDriverConfig? gcpFilestoreCsiDriverConfig; |
| |
| /// Configuration for the Backup for GKE agent addon. |
| GkeBackupAgentConfig? gkeBackupAgentConfig; |
| |
| /// Configuration for the horizontal pod autoscaling feature, which increases |
| /// or decreases the number of replica pods a replication controller has based |
| /// on the resource usage of the existing pods. |
| HorizontalPodAutoscaling? horizontalPodAutoscaling; |
| |
| /// Configuration for the HTTP (L7) load balancing controller addon, which |
| /// makes it easy to set up HTTP load balancers for services in a cluster. |
| HttpLoadBalancing? httpLoadBalancing; |
| |
| /// Configuration for the Kubernetes Dashboard. |
| /// |
| /// This addon is deprecated, and will be disabled in 1.15. It is recommended |
| /// to use the Cloud Console to manage and monitor your Kubernetes clusters, |
| /// workloads and applications. For more information, see: |
| /// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards |
| KubernetesDashboard? kubernetesDashboard; |
| |
| /// Configuration for NetworkPolicy. |
| /// |
| /// This only tracks whether the addon is enabled or not on the Master, it |
| /// does not track whether network policy is enabled for the nodes. |
| NetworkPolicyConfig? networkPolicyConfig; |
| |
| AddonsConfig({ |
| this.cloudRunConfig, |
| this.configConnectorConfig, |
| this.dnsCacheConfig, |
| this.gcePersistentDiskCsiDriverConfig, |
| this.gcpFilestoreCsiDriverConfig, |
| this.gkeBackupAgentConfig, |
| this.horizontalPodAutoscaling, |
| this.httpLoadBalancing, |
| this.kubernetesDashboard, |
| this.networkPolicyConfig, |
| }); |
| |
| AddonsConfig.fromJson(core.Map json_) |
| : this( |
| cloudRunConfig: json_.containsKey('cloudRunConfig') |
| ? CloudRunConfig.fromJson(json_['cloudRunConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| configConnectorConfig: json_.containsKey('configConnectorConfig') |
| ? ConfigConnectorConfig.fromJson(json_['configConnectorConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| dnsCacheConfig: json_.containsKey('dnsCacheConfig') |
| ? DnsCacheConfig.fromJson(json_['dnsCacheConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| gcePersistentDiskCsiDriverConfig: |
| json_.containsKey('gcePersistentDiskCsiDriverConfig') |
| ? GcePersistentDiskCsiDriverConfig.fromJson( |
| json_['gcePersistentDiskCsiDriverConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| gcpFilestoreCsiDriverConfig: |
| json_.containsKey('gcpFilestoreCsiDriverConfig') |
| ? GcpFilestoreCsiDriverConfig.fromJson( |
| json_['gcpFilestoreCsiDriverConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| gkeBackupAgentConfig: json_.containsKey('gkeBackupAgentConfig') |
| ? GkeBackupAgentConfig.fromJson(json_['gkeBackupAgentConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| horizontalPodAutoscaling: |
| json_.containsKey('horizontalPodAutoscaling') |
| ? HorizontalPodAutoscaling.fromJson( |
| json_['horizontalPodAutoscaling'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| httpLoadBalancing: json_.containsKey('httpLoadBalancing') |
| ? HttpLoadBalancing.fromJson(json_['httpLoadBalancing'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| kubernetesDashboard: json_.containsKey('kubernetesDashboard') |
| ? KubernetesDashboard.fromJson(json_['kubernetesDashboard'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| networkPolicyConfig: json_.containsKey('networkPolicyConfig') |
| ? NetworkPolicyConfig.fromJson(json_['networkPolicyConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cloudRunConfig != null) 'cloudRunConfig': cloudRunConfig!, |
| if (configConnectorConfig != null) |
| 'configConnectorConfig': configConnectorConfig!, |
| if (dnsCacheConfig != null) 'dnsCacheConfig': dnsCacheConfig!, |
| if (gcePersistentDiskCsiDriverConfig != null) |
| 'gcePersistentDiskCsiDriverConfig': gcePersistentDiskCsiDriverConfig!, |
| if (gcpFilestoreCsiDriverConfig != null) |
| 'gcpFilestoreCsiDriverConfig': gcpFilestoreCsiDriverConfig!, |
| if (gkeBackupAgentConfig != null) |
| 'gkeBackupAgentConfig': gkeBackupAgentConfig!, |
| if (horizontalPodAutoscaling != null) |
| 'horizontalPodAutoscaling': horizontalPodAutoscaling!, |
| if (httpLoadBalancing != null) 'httpLoadBalancing': httpLoadBalancing!, |
| if (kubernetesDashboard != null) |
| 'kubernetesDashboard': kubernetesDashboard!, |
| if (networkPolicyConfig != null) |
| 'networkPolicyConfig': networkPolicyConfig!, |
| }; |
| } |
| |
| /// Specifies options for controlling advanced machine features. |
| class AdvancedMachineFeatures { |
| /// The number of threads per physical core. |
| /// |
| /// To disable simultaneous multithreading (SMT) set this to 1. If unset, the |
| /// maximum number of threads supported per core by the underlying processor |
| /// is assumed. |
| core.String? threadsPerCore; |
| |
| AdvancedMachineFeatures({ |
| this.threadsPerCore, |
| }); |
| |
| AdvancedMachineFeatures.fromJson(core.Map json_) |
| : this( |
| threadsPerCore: json_.containsKey('threadsPerCore') |
| ? json_['threadsPerCore'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (threadsPerCore != null) 'threadsPerCore': threadsPerCore!, |
| }; |
| } |
| |
| /// Configuration for returning group information from authenticators. |
| class AuthenticatorGroupsConfig { |
| /// Whether this cluster should return group membership lookups during |
| /// authentication using a group of security groups. |
| core.bool? enabled; |
| |
| /// The name of the security group-of-groups to be used. |
| /// |
| /// Only relevant if enabled = true. |
| core.String? securityGroup; |
| |
| AuthenticatorGroupsConfig({ |
| this.enabled, |
| this.securityGroup, |
| }); |
| |
| AuthenticatorGroupsConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| securityGroup: json_.containsKey('securityGroup') |
| ? json_['securityGroup'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| if (securityGroup != null) 'securityGroup': securityGroup!, |
| }; |
| } |
| |
| /// AutoUpgradeOptions defines the set of options for the user to control how |
| /// the Auto Upgrades will proceed. |
| class AutoUpgradeOptions { |
| /// This field is set when upgrades are about to commence with the approximate |
| /// start time for the upgrades, in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| /// |
| /// Output only. |
| core.String? autoUpgradeStartTime; |
| |
| /// This field is set when upgrades are about to commence with the description |
| /// of the upgrade. |
| /// |
| /// Output only. |
| core.String? description; |
| |
| AutoUpgradeOptions({ |
| this.autoUpgradeStartTime, |
| this.description, |
| }); |
| |
| AutoUpgradeOptions.fromJson(core.Map json_) |
| : this( |
| autoUpgradeStartTime: json_.containsKey('autoUpgradeStartTime') |
| ? json_['autoUpgradeStartTime'] as core.String |
| : null, |
| description: json_.containsKey('description') |
| ? json_['description'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoUpgradeStartTime != null) |
| 'autoUpgradeStartTime': autoUpgradeStartTime!, |
| if (description != null) 'description': description!, |
| }; |
| } |
| |
| /// Autopilot is the configuration for Autopilot settings on the cluster. |
| class Autopilot { |
| /// Enable Autopilot |
| core.bool? enabled; |
| |
| Autopilot({ |
| this.enabled, |
| }); |
| |
| Autopilot.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// AutoprovisioningNodePoolDefaults contains defaults for a node pool created |
| /// by NAP. |
| class AutoprovisioningNodePoolDefaults { |
| /// The Customer Managed Encryption Key used to encrypt the boot disk attached |
| /// to each node in the node pool. |
| /// |
| /// This should be of the form |
| /// projects/\[KEY_PROJECT_ID\]/locations/\[LOCATION\]/keyRings/\[RING_NAME\]/cryptoKeys/\[KEY_NAME\]. |
| /// For more information about protecting resources with Cloud KMS Keys please |
| /// see: |
| /// https://cloud.google.com/compute/docs/disks/customer-managed-encryption |
| core.String? bootDiskKmsKey; |
| |
| /// Size of the disk attached to each node, specified in GB. |
| /// |
| /// The smallest allowed disk size is 10GB. If unspecified, the default disk |
| /// size is 100GB. |
| core.int? diskSizeGb; |
| |
| /// Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or |
| /// 'pd-balanced') If unspecified, the default disk type is 'pd-standard' |
| core.String? diskType; |
| |
| /// The image type to use for NAP created node. |
| /// |
| /// Please see |
| /// https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for |
| /// available image types. |
| core.String? imageType; |
| |
| /// Specifies the node management options for NAP created node-pools. |
| NodeManagement? management; |
| |
| /// Minimum CPU platform to be used for NAP created node pools. |
| /// |
| /// The instance may be scheduled on the specified or newer CPU platform. |
| /// Applicable values are the friendly names of CPU platforms, such as |
| /// minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy Bridge. For |
| /// more information, read |
| /// [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). |
| /// This field is deprecated, min_cpu_platform should be specified using |
| /// `cloud.google.com/requested-min-cpu-platform` label selector on the pod. |
| /// To unset the min cpu platform field pass "automatic" as field value. |
| /// |
| /// Deprecated. |
| core.String? minCpuPlatform; |
| |
| /// Scopes that are used by NAP when creating node pools. |
| core.List<core.String>? oauthScopes; |
| |
| /// The Google Cloud Platform Service Account to be used by the node VMs. |
| core.String? serviceAccount; |
| |
| /// Shielded Instance options. |
| ShieldedInstanceConfig? shieldedInstanceConfig; |
| |
| /// Specifies the upgrade settings for NAP created node pools |
| UpgradeSettings? upgradeSettings; |
| |
| AutoprovisioningNodePoolDefaults({ |
| this.bootDiskKmsKey, |
| this.diskSizeGb, |
| this.diskType, |
| this.imageType, |
| this.management, |
| this.minCpuPlatform, |
| this.oauthScopes, |
| this.serviceAccount, |
| this.shieldedInstanceConfig, |
| this.upgradeSettings, |
| }); |
| |
| AutoprovisioningNodePoolDefaults.fromJson(core.Map json_) |
| : this( |
| bootDiskKmsKey: json_.containsKey('bootDiskKmsKey') |
| ? json_['bootDiskKmsKey'] as core.String |
| : null, |
| diskSizeGb: json_.containsKey('diskSizeGb') |
| ? json_['diskSizeGb'] as core.int |
| : null, |
| diskType: json_.containsKey('diskType') |
| ? json_['diskType'] as core.String |
| : null, |
| imageType: json_.containsKey('imageType') |
| ? json_['imageType'] as core.String |
| : null, |
| management: json_.containsKey('management') |
| ? NodeManagement.fromJson( |
| json_['management'] as core.Map<core.String, core.dynamic>) |
| : null, |
| minCpuPlatform: json_.containsKey('minCpuPlatform') |
| ? json_['minCpuPlatform'] as core.String |
| : null, |
| oauthScopes: json_.containsKey('oauthScopes') |
| ? (json_['oauthScopes'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| serviceAccount: json_.containsKey('serviceAccount') |
| ? json_['serviceAccount'] as core.String |
| : null, |
| shieldedInstanceConfig: json_.containsKey('shieldedInstanceConfig') |
| ? ShieldedInstanceConfig.fromJson(json_['shieldedInstanceConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| upgradeSettings: json_.containsKey('upgradeSettings') |
| ? UpgradeSettings.fromJson(json_['upgradeSettings'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (bootDiskKmsKey != null) 'bootDiskKmsKey': bootDiskKmsKey!, |
| if (diskSizeGb != null) 'diskSizeGb': diskSizeGb!, |
| if (diskType != null) 'diskType': diskType!, |
| if (imageType != null) 'imageType': imageType!, |
| if (management != null) 'management': management!, |
| if (minCpuPlatform != null) 'minCpuPlatform': minCpuPlatform!, |
| if (oauthScopes != null) 'oauthScopes': oauthScopes!, |
| if (serviceAccount != null) 'serviceAccount': serviceAccount!, |
| if (shieldedInstanceConfig != null) |
| 'shieldedInstanceConfig': shieldedInstanceConfig!, |
| if (upgradeSettings != null) 'upgradeSettings': upgradeSettings!, |
| }; |
| } |
| |
| /// Parameters for using BigQuery as the destination of resource usage export. |
| class BigQueryDestination { |
| /// The ID of a BigQuery Dataset. |
| core.String? datasetId; |
| |
| BigQueryDestination({ |
| this.datasetId, |
| }); |
| |
| BigQueryDestination.fromJson(core.Map json_) |
| : this( |
| datasetId: json_.containsKey('datasetId') |
| ? json_['datasetId'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (datasetId != null) 'datasetId': datasetId!, |
| }; |
| } |
| |
| /// Configuration for Binary Authorization. |
| class BinaryAuthorization { |
| /// This field is deprecated. |
| /// |
| /// Leave this unset and instead configure BinaryAuthorization using |
| /// evaluation_mode. If evaluation_mode is set to anything other than |
| /// EVALUATION_MODE_UNSPECIFIED, this field is ignored. |
| core.bool? enabled; |
| |
| /// Mode of operation for binauthz policy evaluation. |
| /// |
| /// If unspecified, defaults to DISABLED. |
| /// Possible string values are: |
| /// - "EVALUATION_MODE_UNSPECIFIED" : Default value |
| /// - "DISABLED" : Disable BinaryAuthorization |
| /// - "PROJECT_SINGLETON_POLICY_ENFORCE" : Enforce Kubernetes admission |
| /// requests with BinaryAuthorization using the project's singleton policy. |
| /// This is equivalent to setting the enabled boolean to true. |
| core.String? evaluationMode; |
| |
| BinaryAuthorization({ |
| this.enabled, |
| this.evaluationMode, |
| }); |
| |
| BinaryAuthorization.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| evaluationMode: json_.containsKey('evaluationMode') |
| ? json_['evaluationMode'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| if (evaluationMode != null) 'evaluationMode': evaluationMode!, |
| }; |
| } |
| |
| /// Information relevant to blue-green upgrade. |
| class BlueGreenInfo { |
| /// The resource URLs of the \[managed instance groups\] |
| /// (/compute/docs/instance-groups/creating-groups-of-managed-instances) |
| /// associated with blue pool. |
| core.List<core.String>? blueInstanceGroupUrls; |
| |
| /// Time to start deleting blue pool to complete blue-green upgrade, in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| core.String? bluePoolDeletionStartTime; |
| |
| /// The resource URLs of the \[managed instance groups\] |
| /// (/compute/docs/instance-groups/creating-groups-of-managed-instances) |
| /// associated with green pool. |
| core.List<core.String>? greenInstanceGroupUrls; |
| |
| /// Version of green pool. |
| core.String? greenPoolVersion; |
| |
| /// Current blue-green upgrade phase. |
| /// Possible string values are: |
| /// - "PHASE_UNSPECIFIED" : Unspecified phase. |
| /// - "UPDATE_STARTED" : blue-green upgrade has been initiated. |
| /// - "CREATING_GREEN_POOL" : Start creating green pool nodes. |
| /// - "CORDONING_BLUE_POOL" : Start cordoning blue pool nodes. |
| /// - "DRAINING_BLUE_POOL" : Start draining blue pool nodes. |
| /// - "NODE_POOL_SOAKING" : Start soaking time after draining entire blue |
| /// pool. |
| /// - "DELETING_BLUE_POOL" : Start deleting blue nodes. |
| /// - "ROLLBACK_STARTED" : Rollback has been initiated. |
| core.String? phase; |
| |
| BlueGreenInfo({ |
| this.blueInstanceGroupUrls, |
| this.bluePoolDeletionStartTime, |
| this.greenInstanceGroupUrls, |
| this.greenPoolVersion, |
| this.phase, |
| }); |
| |
| BlueGreenInfo.fromJson(core.Map json_) |
| : this( |
| blueInstanceGroupUrls: json_.containsKey('blueInstanceGroupUrls') |
| ? (json_['blueInstanceGroupUrls'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| bluePoolDeletionStartTime: |
| json_.containsKey('bluePoolDeletionStartTime') |
| ? json_['bluePoolDeletionStartTime'] as core.String |
| : null, |
| greenInstanceGroupUrls: json_.containsKey('greenInstanceGroupUrls') |
| ? (json_['greenInstanceGroupUrls'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| greenPoolVersion: json_.containsKey('greenPoolVersion') |
| ? json_['greenPoolVersion'] as core.String |
| : null, |
| phase: |
| json_.containsKey('phase') ? json_['phase'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (blueInstanceGroupUrls != null) |
| 'blueInstanceGroupUrls': blueInstanceGroupUrls!, |
| if (bluePoolDeletionStartTime != null) |
| 'bluePoolDeletionStartTime': bluePoolDeletionStartTime!, |
| if (greenInstanceGroupUrls != null) |
| 'greenInstanceGroupUrls': greenInstanceGroupUrls!, |
| if (greenPoolVersion != null) 'greenPoolVersion': greenPoolVersion!, |
| if (phase != null) 'phase': phase!, |
| }; |
| } |
| |
| /// Settings for blue-green upgrade. |
| class BlueGreenSettings { |
| /// Time needed after draining entire blue pool. |
| /// |
| /// After this period, blue pool will be cleaned up. |
| core.String? nodePoolSoakDuration; |
| |
| /// Standard policy for the blue-green upgrade. |
| StandardRolloutPolicy? standardRolloutPolicy; |
| |
| BlueGreenSettings({ |
| this.nodePoolSoakDuration, |
| this.standardRolloutPolicy, |
| }); |
| |
| BlueGreenSettings.fromJson(core.Map json_) |
| : this( |
| nodePoolSoakDuration: json_.containsKey('nodePoolSoakDuration') |
| ? json_['nodePoolSoakDuration'] as core.String |
| : null, |
| standardRolloutPolicy: json_.containsKey('standardRolloutPolicy') |
| ? StandardRolloutPolicy.fromJson(json_['standardRolloutPolicy'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nodePoolSoakDuration != null) |
| 'nodePoolSoakDuration': nodePoolSoakDuration!, |
| if (standardRolloutPolicy != null) |
| 'standardRolloutPolicy': standardRolloutPolicy!, |
| }; |
| } |
| |
| /// CancelOperationRequest cancels a single operation. |
| class CancelOperationRequest { |
| /// The name (project, location, operation id) of the operation to cancel. |
| /// |
| /// Specified in the format `projects / * /locations / * /operations / * `. |
| core.String? name; |
| |
| /// The server-assigned `name` of the operation. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? operationId; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// operation resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| CancelOperationRequest({ |
| this.name, |
| this.operationId, |
| this.projectId, |
| this.zone, |
| }); |
| |
| CancelOperationRequest.fromJson(core.Map json_) |
| : this( |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| operationId: json_.containsKey('operationId') |
| ? json_['operationId'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (name != null) 'name': name!, |
| if (operationId != null) 'operationId': operationId!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// CidrBlock contains an optional name and one CIDR block. |
| class CidrBlock { |
| /// cidr_block must be specified in CIDR notation. |
| core.String? cidrBlock; |
| |
| /// display_name is an optional field for users to identify CIDR blocks. |
| core.String? displayName; |
| |
| CidrBlock({ |
| this.cidrBlock, |
| this.displayName, |
| }); |
| |
| CidrBlock.fromJson(core.Map json_) |
| : this( |
| cidrBlock: json_.containsKey('cidrBlock') |
| ? json_['cidrBlock'] as core.String |
| : null, |
| displayName: json_.containsKey('displayName') |
| ? json_['displayName'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cidrBlock != null) 'cidrBlock': cidrBlock!, |
| if (displayName != null) 'displayName': displayName!, |
| }; |
| } |
| |
| /// Configuration for client certificates on the cluster. |
| class ClientCertificateConfig { |
| /// Issue a client certificate. |
| core.bool? issueClientCertificate; |
| |
| ClientCertificateConfig({ |
| this.issueClientCertificate, |
| }); |
| |
| ClientCertificateConfig.fromJson(core.Map json_) |
| : this( |
| issueClientCertificate: json_.containsKey('issueClientCertificate') |
| ? json_['issueClientCertificate'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (issueClientCertificate != null) |
| 'issueClientCertificate': issueClientCertificate!, |
| }; |
| } |
| |
| /// Configuration options for the Cloud Run feature. |
| class CloudRunConfig { |
| /// Whether Cloud Run addon is enabled for this cluster. |
| core.bool? disabled; |
| |
| /// Which load balancer type is installed for Cloud Run. |
| /// Possible string values are: |
| /// - "LOAD_BALANCER_TYPE_UNSPECIFIED" : Load balancer type for Cloud Run is |
| /// unspecified. |
| /// - "LOAD_BALANCER_TYPE_EXTERNAL" : Install external load balancer for Cloud |
| /// Run. |
| /// - "LOAD_BALANCER_TYPE_INTERNAL" : Install internal load balancer for Cloud |
| /// Run. |
| core.String? loadBalancerType; |
| |
| CloudRunConfig({ |
| this.disabled, |
| this.loadBalancerType, |
| }); |
| |
| CloudRunConfig.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| loadBalancerType: json_.containsKey('loadBalancerType') |
| ? json_['loadBalancerType'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| if (loadBalancerType != null) 'loadBalancerType': loadBalancerType!, |
| }; |
| } |
| |
| /// A Google Kubernetes Engine cluster. |
| class Cluster { |
| /// Configurations for the various addons available to run in the cluster. |
| AddonsConfig? addonsConfig; |
| |
| /// Configuration controlling RBAC group membership information. |
| AuthenticatorGroupsConfig? authenticatorGroupsConfig; |
| |
| /// Autopilot configuration for the cluster. |
| Autopilot? autopilot; |
| |
| /// Cluster-level autoscaling configuration. |
| ClusterAutoscaling? autoscaling; |
| |
| /// Configuration for Binary Authorization. |
| BinaryAuthorization? binaryAuthorization; |
| |
| /// The IP address range of the container pods in this cluster, in |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`). |
| /// |
| /// Leave blank to have one automatically chosen or specify a `/14` block in |
| /// `10.0.0.0/8`. |
| core.String? clusterIpv4Cidr; |
| |
| /// Which conditions caused the current cluster state. |
| core.List<StatusCondition>? conditions; |
| |
| /// Configuration of Confidential Nodes. |
| /// |
| /// All the nodes in the cluster will be Confidential VM once enabled. |
| ConfidentialNodes? confidentialNodes; |
| |
| /// Configuration for the fine-grained cost management feature. |
| CostManagementConfig? costManagementConfig; |
| |
| /// The time the cluster was created, in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The current software version of the master endpoint. |
| /// |
| /// Output only. |
| core.String? currentMasterVersion; |
| |
| /// The number of nodes currently in the cluster. |
| /// |
| /// Deprecated. Call Kubernetes API directly to retrieve node information. |
| /// |
| /// Output only. |
| core.int? currentNodeCount; |
| |
| /// Deprecated, use |
| /// [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) |
| /// instead. |
| /// |
| /// The current version of the node software components. If they are currently |
| /// at multiple versions because they're in the process of being upgraded, |
| /// this reflects the minimum version of all nodes. |
| /// |
| /// Output only. |
| core.String? currentNodeVersion; |
| |
| /// Configuration of etcd encryption. |
| DatabaseEncryption? databaseEncryption; |
| |
| /// The default constraint on the maximum number of pods that can be run |
| /// simultaneously on a node in the node pool of this cluster. |
| /// |
| /// Only honored if cluster created with IP Alias support. |
| MaxPodsConstraint? defaultMaxPodsConstraint; |
| |
| /// An optional description of this cluster. |
| core.String? description; |
| |
| /// Kubernetes alpha features are enabled on this cluster. |
| /// |
| /// This includes alpha API groups (e.g. v1alpha1) and features that may not |
| /// be production ready in the kubernetes version of the master and nodes. The |
| /// cluster has no SLA for uptime and master/node upgrades are disabled. Alpha |
| /// enabled clusters are automatically deleted thirty days after creation. |
| core.bool? enableKubernetesAlpha; |
| |
| /// Enable the ability to use Cloud TPUs in this cluster. |
| core.bool? enableTpu; |
| |
| /// The IP address of this cluster's master endpoint. |
| /// |
| /// The endpoint can be accessed from the internet at |
| /// `https://username:password@endpoint/`. See the `masterAuth` property of |
| /// this resource for username and password information. |
| /// |
| /// Output only. |
| core.String? endpoint; |
| |
| /// This checksum is computed by the server based on the value of cluster |
| /// fields, and may be sent on update requests to ensure the client has an |
| /// up-to-date value before proceeding. |
| core.String? etag; |
| |
| /// The time the cluster will be automatically deleted in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| /// |
| /// Output only. |
| core.String? expireTime; |
| |
| /// Fleet information for the cluster. |
| Fleet? fleet; |
| |
| /// Unique id for the cluster. |
| /// |
| /// Output only. |
| core.String? id; |
| |
| /// Configuration for Identity Service component. |
| IdentityServiceConfig? identityServiceConfig; |
| |
| /// The initial Kubernetes version for this cluster. |
| /// |
| /// Valid versions are those found in validMasterVersions returned by |
| /// getServerConfig. The version can be upgraded over time; such upgrades are |
| /// reflected in currentMasterVersion and currentNodeVersion. Users may |
| /// specify either explicit versions offered by Kubernetes Engine or version |
| /// aliases, which have the following behavior: - "latest": picks the highest |
| /// valid Kubernetes version - "1.X": picks the highest valid patch+gke.N |
| /// patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in |
| /// the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - |
| /// "","-": picks the default Kubernetes version |
| core.String? initialClusterVersion; |
| |
| /// The number of nodes to create in this cluster. |
| /// |
| /// You must ensure that your Compute Engine |
| /// [resource quota](https://cloud.google.com/compute/quotas) is sufficient |
| /// for this number of instances. You must also have available firewall and |
| /// routes quota. For requests, this field should only be used in lieu of a |
| /// "node_pool" object, since this configuration (along with the |
| /// "node_config") will be used to create a "NodePool" object with an |
| /// auto-generated name. Do not use this and a node_pool at the same time. |
| /// This field is deprecated, use node_pool.initial_node_count instead. |
| core.int? initialNodeCount; |
| |
| /// Use node_pools.instance_group_urls. |
| /// |
| /// Deprecated. |
| core.List<core.String>? instanceGroupUrls; |
| |
| /// Configuration for cluster IP allocation. |
| IPAllocationPolicy? ipAllocationPolicy; |
| |
| /// The fingerprint of the set of labels for this cluster. |
| core.String? labelFingerprint; |
| |
| /// Configuration for the legacy ABAC authorization mode. |
| LegacyAbac? legacyAbac; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) |
| /// or |
| /// [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) |
| /// in which the cluster resides. |
| /// |
| /// Output only. |
| core.String? location; |
| |
| /// The list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the cluster's nodes should be located. |
| /// |
| /// This field provides a default value if |
| /// [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) |
| /// are not specified during node pool creation. Warning: changing cluster |
| /// locations will update the |
| /// [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) |
| /// of all node pools and will result in nodes being added and/or removed. |
| core.List<core.String>? locations; |
| |
| /// Logging configuration for the cluster. |
| LoggingConfig? loggingConfig; |
| |
| /// The logging service the cluster should use to write logs. |
| /// |
| /// Currently available options: * `logging.googleapis.com/kubernetes` - The |
| /// Cloud Logging service with a Kubernetes-native resource model * |
| /// `logging.googleapis.com` - The legacy Cloud Logging service (no longer |
| /// available as of GKE 1.15). * `none` - no logs will be exported from the |
| /// cluster. If left as an empty string,`logging.googleapis.com/kubernetes` |
| /// will be used for GKE 1.14+ or `logging.googleapis.com` for earlier |
| /// versions. |
| core.String? loggingService; |
| |
| /// Configure the maintenance policy for this cluster. |
| MaintenancePolicy? maintenancePolicy; |
| |
| /// The authentication information for accessing the master endpoint. |
| /// |
| /// If unspecified, the defaults are used: For clusters before v1.12, if |
| /// master_auth is unspecified, `username` will be set to "admin", a random |
| /// password will be generated, and a client certificate will be issued. |
| MasterAuth? masterAuth; |
| |
| /// The configuration options for master authorized networks feature. |
| MasterAuthorizedNetworksConfig? masterAuthorizedNetworksConfig; |
| |
| /// Configuration for issuance of mTLS keys and certificates to Kubernetes |
| /// pods. |
| MeshCertificates? meshCertificates; |
| |
| /// Monitoring configuration for the cluster. |
| MonitoringConfig? monitoringConfig; |
| |
| /// The monitoring service the cluster should use to write metrics. |
| /// |
| /// Currently available options: * "monitoring.googleapis.com/kubernetes" - |
| /// The Cloud Monitoring service with a Kubernetes-native resource model * |
| /// `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no |
| /// longer available as of GKE 1.15). * `none` - No metrics will be exported |
| /// from the cluster. If left as an empty |
| /// string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ |
| /// or `monitoring.googleapis.com` for earlier versions. |
| core.String? monitoringService; |
| |
| /// The name of this cluster. |
| /// |
| /// The name must be unique within this project and location (e.g. zone or |
| /// region), and can be up to 40 characters with the following restrictions: * |
| /// Lowercase letters, numbers, and hyphens only. * Must start with a letter. |
| /// * Must end with a number or a letter. |
| core.String? name; |
| |
| /// The name of the Google Compute Engine |
| /// [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) |
| /// to which the cluster is connected. |
| /// |
| /// If left unspecified, the `default` network will be used. |
| core.String? network; |
| |
| /// Configuration for cluster networking. |
| NetworkConfig? networkConfig; |
| |
| /// Configuration options for the NetworkPolicy feature. |
| NetworkPolicy? networkPolicy; |
| |
| /// Parameters used in creating the cluster's nodes. |
| /// |
| /// For requests, this field should only be used in lieu of a "node_pool" |
| /// object, since this configuration (along with the "initial_node_count") |
| /// will be used to create a "NodePool" object with an auto-generated name. Do |
| /// not use this and a node_pool at the same time. For responses, this field |
| /// will be populated with the node configuration of the first node pool. (For |
| /// configuration of each node pool, see `node_pool.config`) If unspecified, |
| /// the defaults are used. This field is deprecated, use node_pool.config |
| /// instead. |
| NodeConfig? nodeConfig; |
| |
| /// The size of the address space on each node for hosting containers. |
| /// |
| /// This is provisioned from within the `container_ipv4_cidr` range. This |
| /// field will only be set when cluster is in route-based network mode. |
| /// |
| /// Output only. |
| core.int? nodeIpv4CidrSize; |
| |
| /// Node pool configs that apply to all auto-provisioned node pools in |
| /// autopilot clusters and node auto-provisioning enabled clusters. |
| NodePoolAutoConfig? nodePoolAutoConfig; |
| |
| /// Default NodePool settings for the entire cluster. |
| /// |
| /// These settings are overridden if specified on the specific NodePool |
| /// object. |
| NodePoolDefaults? nodePoolDefaults; |
| |
| /// The node pools associated with this cluster. |
| /// |
| /// This field should not be set if "node_config" or "initial_node_count" are |
| /// specified. |
| core.List<NodePool>? nodePools; |
| |
| /// Notification configuration of the cluster. |
| NotificationConfig? notificationConfig; |
| |
| /// Configuration for private cluster. |
| PrivateClusterConfig? privateClusterConfig; |
| |
| /// Release channel configuration. |
| ReleaseChannel? releaseChannel; |
| |
| /// The resource labels for the cluster to use to annotate any related Google |
| /// Compute Engine resources. |
| core.Map<core.String, core.String>? resourceLabels; |
| |
| /// Configuration for exporting resource usages. |
| /// |
| /// Resource usage export is disabled when this config is unspecified. |
| ResourceUsageExportConfig? resourceUsageExportConfig; |
| |
| /// Server-defined URL for the resource. |
| /// |
| /// Output only. |
| core.String? selfLink; |
| |
| /// The IP address range of the Kubernetes services in this cluster, in |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `1.2.3.4/29`). |
| /// |
| /// Service addresses are typically put in the last `/16` from the container |
| /// CIDR. |
| /// |
| /// Output only. |
| core.String? servicesIpv4Cidr; |
| |
| /// Shielded Nodes configuration. |
| ShieldedNodes? shieldedNodes; |
| |
| /// The current status of this cluster. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Not set. |
| /// - "PROVISIONING" : The PROVISIONING state indicates the cluster is being |
| /// created. |
| /// - "RUNNING" : The RUNNING state indicates the cluster has been created and |
| /// is fully usable. |
| /// - "RECONCILING" : The RECONCILING state indicates that some work is |
| /// actively being done on the cluster, such as upgrading the master or node |
| /// software. Details can be found in the `statusMessage` field. |
| /// - "STOPPING" : The STOPPING state indicates the cluster is being deleted. |
| /// - "ERROR" : The ERROR state indicates the cluster is unusable. It will be |
| /// automatically deleted. Details can be found in the `statusMessage` field. |
| /// - "DEGRADED" : The DEGRADED state indicates the cluster requires user |
| /// action to restore full functionality. Details can be found in the |
| /// `statusMessage` field. |
| core.String? status; |
| |
| /// Use conditions instead. |
| /// |
| /// Additional information about the current status of this cluster, if |
| /// available. |
| /// |
| /// Output only. Deprecated. |
| core.String? statusMessage; |
| |
| /// The name of the Google Compute Engine |
| /// [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which |
| /// the cluster is connected. |
| core.String? subnetwork; |
| |
| /// The IP address range of the Cloud TPUs in this cluster, in |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `1.2.3.4/29`). |
| /// |
| /// Output only. |
| core.String? tpuIpv4CidrBlock; |
| |
| /// Cluster-level Vertical Pod Autoscaling configuration. |
| VerticalPodAutoscaling? verticalPodAutoscaling; |
| |
| /// Configuration for the use of Kubernetes Service Accounts in GCP IAM |
| /// policies. |
| WorkloadIdentityConfig? workloadIdentityConfig; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field is deprecated, use location instead. |
| /// |
| /// Output only. |
| core.String? zone; |
| |
| Cluster({ |
| this.addonsConfig, |
| this.authenticatorGroupsConfig, |
| this.autopilot, |
| this.autoscaling, |
| this.binaryAuthorization, |
| this.clusterIpv4Cidr, |
| this.conditions, |
| this.confidentialNodes, |
| this.costManagementConfig, |
| this.createTime, |
| this.currentMasterVersion, |
| this.currentNodeCount, |
| this.currentNodeVersion, |
| this.databaseEncryption, |
| this.defaultMaxPodsConstraint, |
| this.description, |
| this.enableKubernetesAlpha, |
| this.enableTpu, |
| this.endpoint, |
| this.etag, |
| this.expireTime, |
| this.fleet, |
| this.id, |
| this.identityServiceConfig, |
| this.initialClusterVersion, |
| this.initialNodeCount, |
| this.instanceGroupUrls, |
| this.ipAllocationPolicy, |
| this.labelFingerprint, |
| this.legacyAbac, |
| this.location, |
| this.locations, |
| this.loggingConfig, |
| this.loggingService, |
| this.maintenancePolicy, |
| this.masterAuth, |
| this.masterAuthorizedNetworksConfig, |
| this.meshCertificates, |
| this.monitoringConfig, |
| this.monitoringService, |
| this.name, |
| this.network, |
| this.networkConfig, |
| this.networkPolicy, |
| this.nodeConfig, |
| this.nodeIpv4CidrSize, |
| this.nodePoolAutoConfig, |
| this.nodePoolDefaults, |
| this.nodePools, |
| this.notificationConfig, |
| this.privateClusterConfig, |
| this.releaseChannel, |
| this.resourceLabels, |
| this.resourceUsageExportConfig, |
| this.selfLink, |
| this.servicesIpv4Cidr, |
| this.shieldedNodes, |
| this.status, |
| this.statusMessage, |
| this.subnetwork, |
| this.tpuIpv4CidrBlock, |
| this.verticalPodAutoscaling, |
| this.workloadIdentityConfig, |
| this.zone, |
| }); |
| |
| Cluster.fromJson(core.Map json_) |
| : this( |
| addonsConfig: json_.containsKey('addonsConfig') |
| ? AddonsConfig.fromJson( |
| json_['addonsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| authenticatorGroupsConfig: |
| json_.containsKey('authenticatorGroupsConfig') |
| ? AuthenticatorGroupsConfig.fromJson( |
| json_['authenticatorGroupsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| autopilot: json_.containsKey('autopilot') |
| ? Autopilot.fromJson( |
| json_['autopilot'] as core.Map<core.String, core.dynamic>) |
| : null, |
| autoscaling: json_.containsKey('autoscaling') |
| ? ClusterAutoscaling.fromJson( |
| json_['autoscaling'] as core.Map<core.String, core.dynamic>) |
| : null, |
| binaryAuthorization: json_.containsKey('binaryAuthorization') |
| ? BinaryAuthorization.fromJson(json_['binaryAuthorization'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| clusterIpv4Cidr: json_.containsKey('clusterIpv4Cidr') |
| ? json_['clusterIpv4Cidr'] as core.String |
| : null, |
| conditions: json_.containsKey('conditions') |
| ? (json_['conditions'] as core.List) |
| .map((value) => StatusCondition.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| confidentialNodes: json_.containsKey('confidentialNodes') |
| ? ConfidentialNodes.fromJson(json_['confidentialNodes'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| costManagementConfig: json_.containsKey('costManagementConfig') |
| ? CostManagementConfig.fromJson(json_['costManagementConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| createTime: json_.containsKey('createTime') |
| ? json_['createTime'] as core.String |
| : null, |
| currentMasterVersion: json_.containsKey('currentMasterVersion') |
| ? json_['currentMasterVersion'] as core.String |
| : null, |
| currentNodeCount: json_.containsKey('currentNodeCount') |
| ? json_['currentNodeCount'] as core.int |
| : null, |
| currentNodeVersion: json_.containsKey('currentNodeVersion') |
| ? json_['currentNodeVersion'] as core.String |
| : null, |
| databaseEncryption: json_.containsKey('databaseEncryption') |
| ? DatabaseEncryption.fromJson(json_['databaseEncryption'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| defaultMaxPodsConstraint: |
| json_.containsKey('defaultMaxPodsConstraint') |
| ? MaxPodsConstraint.fromJson(json_['defaultMaxPodsConstraint'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| description: json_.containsKey('description') |
| ? json_['description'] as core.String |
| : null, |
| enableKubernetesAlpha: json_.containsKey('enableKubernetesAlpha') |
| ? json_['enableKubernetesAlpha'] as core.bool |
| : null, |
| enableTpu: json_.containsKey('enableTpu') |
| ? json_['enableTpu'] as core.bool |
| : null, |
| endpoint: json_.containsKey('endpoint') |
| ? json_['endpoint'] as core.String |
| : null, |
| etag: json_.containsKey('etag') ? json_['etag'] as core.String : null, |
| expireTime: json_.containsKey('expireTime') |
| ? json_['expireTime'] as core.String |
| : null, |
| fleet: json_.containsKey('fleet') |
| ? Fleet.fromJson( |
| json_['fleet'] as core.Map<core.String, core.dynamic>) |
| : null, |
| id: json_.containsKey('id') ? json_['id'] as core.String : null, |
| identityServiceConfig: json_.containsKey('identityServiceConfig') |
| ? IdentityServiceConfig.fromJson(json_['identityServiceConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| initialClusterVersion: json_.containsKey('initialClusterVersion') |
| ? json_['initialClusterVersion'] as core.String |
| : null, |
| initialNodeCount: json_.containsKey('initialNodeCount') |
| ? json_['initialNodeCount'] as core.int |
| : null, |
| instanceGroupUrls: json_.containsKey('instanceGroupUrls') |
| ? (json_['instanceGroupUrls'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ipAllocationPolicy: json_.containsKey('ipAllocationPolicy') |
| ? IPAllocationPolicy.fromJson(json_['ipAllocationPolicy'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| labelFingerprint: json_.containsKey('labelFingerprint') |
| ? json_['labelFingerprint'] as core.String |
| : null, |
| legacyAbac: json_.containsKey('legacyAbac') |
| ? LegacyAbac.fromJson( |
| json_['legacyAbac'] as core.Map<core.String, core.dynamic>) |
| : null, |
| location: json_.containsKey('location') |
| ? json_['location'] as core.String |
| : null, |
| locations: json_.containsKey('locations') |
| ? (json_['locations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| loggingConfig: json_.containsKey('loggingConfig') |
| ? LoggingConfig.fromJson( |
| json_['loggingConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| loggingService: json_.containsKey('loggingService') |
| ? json_['loggingService'] as core.String |
| : null, |
| maintenancePolicy: json_.containsKey('maintenancePolicy') |
| ? MaintenancePolicy.fromJson(json_['maintenancePolicy'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| masterAuth: json_.containsKey('masterAuth') |
| ? MasterAuth.fromJson( |
| json_['masterAuth'] as core.Map<core.String, core.dynamic>) |
| : null, |
| masterAuthorizedNetworksConfig: |
| json_.containsKey('masterAuthorizedNetworksConfig') |
| ? MasterAuthorizedNetworksConfig.fromJson( |
| json_['masterAuthorizedNetworksConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| meshCertificates: json_.containsKey('meshCertificates') |
| ? MeshCertificates.fromJson(json_['meshCertificates'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| monitoringConfig: json_.containsKey('monitoringConfig') |
| ? MonitoringConfig.fromJson(json_['monitoringConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| monitoringService: json_.containsKey('monitoringService') |
| ? json_['monitoringService'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| network: json_.containsKey('network') |
| ? json_['network'] as core.String |
| : null, |
| networkConfig: json_.containsKey('networkConfig') |
| ? NetworkConfig.fromJson( |
| json_['networkConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| networkPolicy: json_.containsKey('networkPolicy') |
| ? NetworkPolicy.fromJson( |
| json_['networkPolicy'] as core.Map<core.String, core.dynamic>) |
| : null, |
| nodeConfig: json_.containsKey('nodeConfig') |
| ? NodeConfig.fromJson( |
| json_['nodeConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| nodeIpv4CidrSize: json_.containsKey('nodeIpv4CidrSize') |
| ? json_['nodeIpv4CidrSize'] as core.int |
| : null, |
| nodePoolAutoConfig: json_.containsKey('nodePoolAutoConfig') |
| ? NodePoolAutoConfig.fromJson(json_['nodePoolAutoConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| nodePoolDefaults: json_.containsKey('nodePoolDefaults') |
| ? NodePoolDefaults.fromJson(json_['nodePoolDefaults'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| nodePools: json_.containsKey('nodePools') |
| ? (json_['nodePools'] as core.List) |
| .map((value) => NodePool.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| notificationConfig: json_.containsKey('notificationConfig') |
| ? NotificationConfig.fromJson(json_['notificationConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| privateClusterConfig: json_.containsKey('privateClusterConfig') |
| ? PrivateClusterConfig.fromJson(json_['privateClusterConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| releaseChannel: json_.containsKey('releaseChannel') |
| ? ReleaseChannel.fromJson(json_['releaseChannel'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| resourceLabels: json_.containsKey('resourceLabels') |
| ? (json_['resourceLabels'] as core.Map<core.String, core.dynamic>) |
| .map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| resourceUsageExportConfig: |
| json_.containsKey('resourceUsageExportConfig') |
| ? ResourceUsageExportConfig.fromJson( |
| json_['resourceUsageExportConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| selfLink: json_.containsKey('selfLink') |
| ? json_['selfLink'] as core.String |
| : null, |
| servicesIpv4Cidr: json_.containsKey('servicesIpv4Cidr') |
| ? json_['servicesIpv4Cidr'] as core.String |
| : null, |
| shieldedNodes: json_.containsKey('shieldedNodes') |
| ? ShieldedNodes.fromJson( |
| json_['shieldedNodes'] as core.Map<core.String, core.dynamic>) |
| : null, |
| status: json_.containsKey('status') |
| ? json_['status'] as core.String |
| : null, |
| statusMessage: json_.containsKey('statusMessage') |
| ? json_['statusMessage'] as core.String |
| : null, |
| subnetwork: json_.containsKey('subnetwork') |
| ? json_['subnetwork'] as core.String |
| : null, |
| tpuIpv4CidrBlock: json_.containsKey('tpuIpv4CidrBlock') |
| ? json_['tpuIpv4CidrBlock'] as core.String |
| : null, |
| verticalPodAutoscaling: json_.containsKey('verticalPodAutoscaling') |
| ? VerticalPodAutoscaling.fromJson(json_['verticalPodAutoscaling'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| workloadIdentityConfig: json_.containsKey('workloadIdentityConfig') |
| ? WorkloadIdentityConfig.fromJson(json_['workloadIdentityConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (addonsConfig != null) 'addonsConfig': addonsConfig!, |
| if (authenticatorGroupsConfig != null) |
| 'authenticatorGroupsConfig': authenticatorGroupsConfig!, |
| if (autopilot != null) 'autopilot': autopilot!, |
| if (autoscaling != null) 'autoscaling': autoscaling!, |
| if (binaryAuthorization != null) |
| 'binaryAuthorization': binaryAuthorization!, |
| if (clusterIpv4Cidr != null) 'clusterIpv4Cidr': clusterIpv4Cidr!, |
| if (conditions != null) 'conditions': conditions!, |
| if (confidentialNodes != null) 'confidentialNodes': confidentialNodes!, |
| if (costManagementConfig != null) |
| 'costManagementConfig': costManagementConfig!, |
| if (createTime != null) 'createTime': createTime!, |
| if (currentMasterVersion != null) |
| 'currentMasterVersion': currentMasterVersion!, |
| if (currentNodeCount != null) 'currentNodeCount': currentNodeCount!, |
| if (currentNodeVersion != null) |
| 'currentNodeVersion': currentNodeVersion!, |
| if (databaseEncryption != null) |
| 'databaseEncryption': databaseEncryption!, |
| if (defaultMaxPodsConstraint != null) |
| 'defaultMaxPodsConstraint': defaultMaxPodsConstraint!, |
| if (description != null) 'description': description!, |
| if (enableKubernetesAlpha != null) |
| 'enableKubernetesAlpha': enableKubernetesAlpha!, |
| if (enableTpu != null) 'enableTpu': enableTpu!, |
| if (endpoint != null) 'endpoint': endpoint!, |
| if (etag != null) 'etag': etag!, |
| if (expireTime != null) 'expireTime': expireTime!, |
| if (fleet != null) 'fleet': fleet!, |
| if (id != null) 'id': id!, |
| if (identityServiceConfig != null) |
| 'identityServiceConfig': identityServiceConfig!, |
| if (initialClusterVersion != null) |
| 'initialClusterVersion': initialClusterVersion!, |
| if (initialNodeCount != null) 'initialNodeCount': initialNodeCount!, |
| if (instanceGroupUrls != null) 'instanceGroupUrls': instanceGroupUrls!, |
| if (ipAllocationPolicy != null) |
| 'ipAllocationPolicy': ipAllocationPolicy!, |
| if (labelFingerprint != null) 'labelFingerprint': labelFingerprint!, |
| if (legacyAbac != null) 'legacyAbac': legacyAbac!, |
| if (location != null) 'location': location!, |
| if (locations != null) 'locations': locations!, |
| if (loggingConfig != null) 'loggingConfig': loggingConfig!, |
| if (loggingService != null) 'loggingService': loggingService!, |
| if (maintenancePolicy != null) 'maintenancePolicy': maintenancePolicy!, |
| if (masterAuth != null) 'masterAuth': masterAuth!, |
| if (masterAuthorizedNetworksConfig != null) |
| 'masterAuthorizedNetworksConfig': masterAuthorizedNetworksConfig!, |
| if (meshCertificates != null) 'meshCertificates': meshCertificates!, |
| if (monitoringConfig != null) 'monitoringConfig': monitoringConfig!, |
| if (monitoringService != null) 'monitoringService': monitoringService!, |
| if (name != null) 'name': name!, |
| if (network != null) 'network': network!, |
| if (networkConfig != null) 'networkConfig': networkConfig!, |
| if (networkPolicy != null) 'networkPolicy': networkPolicy!, |
| if (nodeConfig != null) 'nodeConfig': nodeConfig!, |
| if (nodeIpv4CidrSize != null) 'nodeIpv4CidrSize': nodeIpv4CidrSize!, |
| if (nodePoolAutoConfig != null) |
| 'nodePoolAutoConfig': nodePoolAutoConfig!, |
| if (nodePoolDefaults != null) 'nodePoolDefaults': nodePoolDefaults!, |
| if (nodePools != null) 'nodePools': nodePools!, |
| if (notificationConfig != null) |
| 'notificationConfig': notificationConfig!, |
| if (privateClusterConfig != null) |
| 'privateClusterConfig': privateClusterConfig!, |
| if (releaseChannel != null) 'releaseChannel': releaseChannel!, |
| if (resourceLabels != null) 'resourceLabels': resourceLabels!, |
| if (resourceUsageExportConfig != null) |
| 'resourceUsageExportConfig': resourceUsageExportConfig!, |
| if (selfLink != null) 'selfLink': selfLink!, |
| if (servicesIpv4Cidr != null) 'servicesIpv4Cidr': servicesIpv4Cidr!, |
| if (shieldedNodes != null) 'shieldedNodes': shieldedNodes!, |
| if (status != null) 'status': status!, |
| if (statusMessage != null) 'statusMessage': statusMessage!, |
| if (subnetwork != null) 'subnetwork': subnetwork!, |
| if (tpuIpv4CidrBlock != null) 'tpuIpv4CidrBlock': tpuIpv4CidrBlock!, |
| if (verticalPodAutoscaling != null) |
| 'verticalPodAutoscaling': verticalPodAutoscaling!, |
| if (workloadIdentityConfig != null) |
| 'workloadIdentityConfig': workloadIdentityConfig!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// ClusterAutoscaling contains global, per-cluster information required by |
| /// Cluster Autoscaler to automatically adjust the size of the cluster and |
| /// create/delete node pools based on the current needs. |
| class ClusterAutoscaling { |
| /// The list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the NodePool's nodes can be created by NAP. |
| core.List<core.String>? autoprovisioningLocations; |
| |
| /// AutoprovisioningNodePoolDefaults contains defaults for a node pool created |
| /// by NAP. |
| AutoprovisioningNodePoolDefaults? autoprovisioningNodePoolDefaults; |
| |
| /// Defines autoscaling behaviour. |
| /// Possible string values are: |
| /// - "PROFILE_UNSPECIFIED" : No change to autoscaling configuration. |
| /// - "OPTIMIZE_UTILIZATION" : Prioritize optimizing utilization of resources. |
| /// - "BALANCED" : Use default (balanced) autoscaling configuration. |
| core.String? autoscalingProfile; |
| |
| /// Enables automatic node pool creation and deletion. |
| core.bool? enableNodeAutoprovisioning; |
| |
| /// Contains global constraints regarding minimum and maximum amount of |
| /// resources in the cluster. |
| core.List<ResourceLimit>? resourceLimits; |
| |
| ClusterAutoscaling({ |
| this.autoprovisioningLocations, |
| this.autoprovisioningNodePoolDefaults, |
| this.autoscalingProfile, |
| this.enableNodeAutoprovisioning, |
| this.resourceLimits, |
| }); |
| |
| ClusterAutoscaling.fromJson(core.Map json_) |
| : this( |
| autoprovisioningLocations: |
| json_.containsKey('autoprovisioningLocations') |
| ? (json_['autoprovisioningLocations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| autoprovisioningNodePoolDefaults: |
| json_.containsKey('autoprovisioningNodePoolDefaults') |
| ? AutoprovisioningNodePoolDefaults.fromJson( |
| json_['autoprovisioningNodePoolDefaults'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| autoscalingProfile: json_.containsKey('autoscalingProfile') |
| ? json_['autoscalingProfile'] as core.String |
| : null, |
| enableNodeAutoprovisioning: |
| json_.containsKey('enableNodeAutoprovisioning') |
| ? json_['enableNodeAutoprovisioning'] as core.bool |
| : null, |
| resourceLimits: json_.containsKey('resourceLimits') |
| ? (json_['resourceLimits'] as core.List) |
| .map((value) => ResourceLimit.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoprovisioningLocations != null) |
| 'autoprovisioningLocations': autoprovisioningLocations!, |
| if (autoprovisioningNodePoolDefaults != null) |
| 'autoprovisioningNodePoolDefaults': autoprovisioningNodePoolDefaults!, |
| if (autoscalingProfile != null) |
| 'autoscalingProfile': autoscalingProfile!, |
| if (enableNodeAutoprovisioning != null) |
| 'enableNodeAutoprovisioning': enableNodeAutoprovisioning!, |
| if (resourceLimits != null) 'resourceLimits': resourceLimits!, |
| }; |
| } |
| |
| /// ClusterUpdate describes an update to the cluster. |
| /// |
| /// Exactly one update can be applied to a cluster with each request, so at most |
| /// one field can be provided. |
| class ClusterUpdate { |
| /// The additional pod ranges to be added to the cluster. |
| /// |
| /// These pod ranges can be used by node pools to allocate pod IPs. |
| AdditionalPodRangesConfig? additionalPodRangesConfig; |
| |
| /// Configurations for the various addons available to run in the cluster. |
| AddonsConfig? desiredAddonsConfig; |
| |
| /// The desired authenticator groups config for the cluster. |
| AuthenticatorGroupsConfig? desiredAuthenticatorGroupsConfig; |
| |
| /// The desired configuration options for the Binary Authorization feature. |
| BinaryAuthorization? desiredBinaryAuthorization; |
| |
| /// Cluster-level autoscaling configuration. |
| ClusterAutoscaling? desiredClusterAutoscaling; |
| |
| /// The desired configuration for the fine-grained cost management feature. |
| CostManagementConfig? desiredCostManagementConfig; |
| |
| /// Configuration of etcd encryption. |
| DatabaseEncryption? desiredDatabaseEncryption; |
| |
| /// The desired datapath provider for the cluster. |
| /// Possible string values are: |
| /// - "DATAPATH_PROVIDER_UNSPECIFIED" : Default value. |
| /// - "LEGACY_DATAPATH" : Use the IPTables implementation based on kube-proxy. |
| /// - "ADVANCED_DATAPATH" : Use the eBPF based GKE Dataplane V2 with |
| /// additional features. See the |
| /// [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) |
| /// for more. |
| core.String? desiredDatapathProvider; |
| |
| /// The desired status of whether to disable default sNAT for this cluster. |
| DefaultSnatStatus? desiredDefaultSnatStatus; |
| |
| /// DNSConfig contains clusterDNS config for this cluster. |
| DNSConfig? desiredDnsConfig; |
| |
| /// Enable/Disable private endpoint for the cluster's master. |
| core.bool? desiredEnablePrivateEndpoint; |
| |
| /// The desired config of Gateway API on this cluster. |
| GatewayAPIConfig? desiredGatewayApiConfig; |
| |
| /// The desired GCFS config for the cluster |
| GcfsConfig? desiredGcfsConfig; |
| |
| /// The desired Identity Service component configuration. |
| IdentityServiceConfig? desiredIdentityServiceConfig; |
| |
| /// The desired image type for the node pool. |
| /// |
| /// NOTE: Set the "desired_node_pool" field as well. |
| core.String? desiredImageType; |
| |
| /// The desired config of Intra-node visibility. |
| IntraNodeVisibilityConfig? desiredIntraNodeVisibilityConfig; |
| |
| /// The desired L4 Internal Load Balancer Subsetting configuration. |
| ILBSubsettingConfig? desiredL4ilbSubsettingConfig; |
| |
| /// The desired list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the cluster's nodes should be located. |
| /// |
| /// This list must always include the cluster's primary zone. Warning: |
| /// changing cluster locations will update the locations of all node pools and |
| /// will result in nodes being added and/or removed. |
| core.List<core.String>? desiredLocations; |
| |
| /// The desired logging configuration. |
| LoggingConfig? desiredLoggingConfig; |
| |
| /// The logging service the cluster should use to write logs. |
| /// |
| /// Currently available options: * `logging.googleapis.com/kubernetes` - The |
| /// Cloud Logging service with a Kubernetes-native resource model * |
| /// `logging.googleapis.com` - The legacy Cloud Logging service (no longer |
| /// available as of GKE 1.15). * `none` - no logs will be exported from the |
| /// cluster. If left as an empty string,`logging.googleapis.com/kubernetes` |
| /// will be used for GKE 1.14+ or `logging.googleapis.com` for earlier |
| /// versions. |
| core.String? desiredLoggingService; |
| |
| /// The desired configuration options for master authorized networks feature. |
| MasterAuthorizedNetworksConfig? desiredMasterAuthorizedNetworksConfig; |
| |
| /// The Kubernetes version to change the master to. |
| /// |
| /// Users may specify either explicit versions offered by Kubernetes Engine or |
| /// version aliases, which have the following behavior: - "latest": picks the |
| /// highest valid Kubernetes version - "1.X": picks the highest valid |
| /// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid |
| /// gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit |
| /// Kubernetes version - "-": picks the default Kubernetes version |
| core.String? desiredMasterVersion; |
| |
| /// Configuration for issuance of mTLS keys and certificates to Kubernetes |
| /// pods. |
| MeshCertificates? desiredMeshCertificates; |
| |
| /// The desired monitoring configuration. |
| MonitoringConfig? desiredMonitoringConfig; |
| |
| /// The monitoring service the cluster should use to write metrics. |
| /// |
| /// Currently available options: * "monitoring.googleapis.com/kubernetes" - |
| /// The Cloud Monitoring service with a Kubernetes-native resource model * |
| /// `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no |
| /// longer available as of GKE 1.15). * `none` - No metrics will be exported |
| /// from the cluster. If left as an empty |
| /// string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ |
| /// or `monitoring.googleapis.com` for earlier versions. |
| core.String? desiredMonitoringService; |
| |
| /// The desired network tags that apply to all auto-provisioned node pools in |
| /// autopilot clusters and node auto-provisioning enabled clusters. |
| NetworkTags? desiredNodePoolAutoConfigNetworkTags; |
| |
| /// Autoscaler configuration for the node pool specified in |
| /// desired_node_pool_id. |
| /// |
| /// If there is only one pool in the cluster and desired_node_pool_id is not |
| /// provided then the change applies to that single node pool. |
| NodePoolAutoscaling? desiredNodePoolAutoscaling; |
| |
| /// The node pool to be upgraded. |
| /// |
| /// This field is mandatory if "desired_node_version", "desired_image_family" |
| /// or "desired_node_pool_autoscaling" is specified and there is more than one |
| /// node pool on the cluster. |
| core.String? desiredNodePoolId; |
| |
| /// The desired node pool logging configuration defaults for the cluster. |
| NodePoolLoggingConfig? desiredNodePoolLoggingConfig; |
| |
| /// The Kubernetes version to change the nodes to (typically an upgrade). |
| /// |
| /// Users may specify either explicit versions offered by Kubernetes Engine or |
| /// version aliases, which have the following behavior: - "latest": picks the |
| /// highest valid Kubernetes version - "1.X": picks the highest valid |
| /// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid |
| /// gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit |
| /// Kubernetes version - "-": picks the Kubernetes master version |
| core.String? desiredNodeVersion; |
| |
| /// The desired notification configuration. |
| NotificationConfig? desiredNotificationConfig; |
| |
| /// The desired private cluster configuration. |
| PrivateClusterConfig? desiredPrivateClusterConfig; |
| |
| /// The desired state of IPv6 connectivity to Google Services. |
| /// Possible string values are: |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" : Default value. Same as |
| /// DISABLED |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED" : No private access to or from |
| /// Google Services |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE" : Enables private IPv6 access to |
| /// Google Services from GKE |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" : Enables private IPv6 access |
| /// to and from Google Services |
| core.String? desiredPrivateIpv6GoogleAccess; |
| |
| /// The desired release channel configuration. |
| ReleaseChannel? desiredReleaseChannel; |
| |
| /// The desired configuration for exporting resource usage. |
| ResourceUsageExportConfig? desiredResourceUsageExportConfig; |
| |
| /// ServiceExternalIPsConfig specifies the config for the use of Services with |
| /// ExternalIPs field. |
| ServiceExternalIPsConfig? desiredServiceExternalIpsConfig; |
| |
| /// Configuration for Shielded Nodes. |
| ShieldedNodes? desiredShieldedNodes; |
| |
| /// The desired stack type of the cluster. |
| /// |
| /// If a stack type is provided and does not match the current stack type of |
| /// the cluster, update will attempt to change the stack type to the new type. |
| /// Possible string values are: |
| /// - "STACK_TYPE_UNSPECIFIED" : Default value, will be defaulted as IPV4 only |
| /// - "IPV4" : Cluster is IPV4 only |
| /// - "IPV4_IPV6" : Cluster can use both IPv4 and IPv6 |
| core.String? desiredStackType; |
| |
| /// Cluster-level Vertical Pod Autoscaling configuration. |
| VerticalPodAutoscaling? desiredVerticalPodAutoscaling; |
| |
| /// Configuration for Workload Identity. |
| WorkloadIdentityConfig? desiredWorkloadIdentityConfig; |
| |
| /// The current etag of the cluster. |
| /// |
| /// If an etag is provided and does not match the current etag of the cluster, |
| /// update will be blocked and an ABORTED error will be returned. |
| core.String? etag; |
| |
| /// The additional pod ranges that are to be removed from the cluster. |
| /// |
| /// The pod ranges specified here must have been specified earlier in the |
| /// 'additional_pod_ranges_config' argument. |
| AdditionalPodRangesConfig? removedAdditionalPodRangesConfig; |
| |
| ClusterUpdate({ |
| this.additionalPodRangesConfig, |
| this.desiredAddonsConfig, |
| this.desiredAuthenticatorGroupsConfig, |
| this.desiredBinaryAuthorization, |
| this.desiredClusterAutoscaling, |
| this.desiredCostManagementConfig, |
| this.desiredDatabaseEncryption, |
| this.desiredDatapathProvider, |
| this.desiredDefaultSnatStatus, |
| this.desiredDnsConfig, |
| this.desiredEnablePrivateEndpoint, |
| this.desiredGatewayApiConfig, |
| this.desiredGcfsConfig, |
| this.desiredIdentityServiceConfig, |
| this.desiredImageType, |
| this.desiredIntraNodeVisibilityConfig, |
| this.desiredL4ilbSubsettingConfig, |
| this.desiredLocations, |
| this.desiredLoggingConfig, |
| this.desiredLoggingService, |
| this.desiredMasterAuthorizedNetworksConfig, |
| this.desiredMasterVersion, |
| this.desiredMeshCertificates, |
| this.desiredMonitoringConfig, |
| this.desiredMonitoringService, |
| this.desiredNodePoolAutoConfigNetworkTags, |
| this.desiredNodePoolAutoscaling, |
| this.desiredNodePoolId, |
| this.desiredNodePoolLoggingConfig, |
| this.desiredNodeVersion, |
| this.desiredNotificationConfig, |
| this.desiredPrivateClusterConfig, |
| this.desiredPrivateIpv6GoogleAccess, |
| this.desiredReleaseChannel, |
| this.desiredResourceUsageExportConfig, |
| this.desiredServiceExternalIpsConfig, |
| this.desiredShieldedNodes, |
| this.desiredStackType, |
| this.desiredVerticalPodAutoscaling, |
| this.desiredWorkloadIdentityConfig, |
| this.etag, |
| this.removedAdditionalPodRangesConfig, |
| }); |
| |
| ClusterUpdate.fromJson(core.Map json_) |
| : this( |
| additionalPodRangesConfig: |
| json_.containsKey('additionalPodRangesConfig') |
| ? AdditionalPodRangesConfig.fromJson( |
| json_['additionalPodRangesConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredAddonsConfig: json_.containsKey('desiredAddonsConfig') |
| ? AddonsConfig.fromJson(json_['desiredAddonsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredAuthenticatorGroupsConfig: |
| json_.containsKey('desiredAuthenticatorGroupsConfig') |
| ? AuthenticatorGroupsConfig.fromJson( |
| json_['desiredAuthenticatorGroupsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredBinaryAuthorization: json_ |
| .containsKey('desiredBinaryAuthorization') |
| ? BinaryAuthorization.fromJson(json_['desiredBinaryAuthorization'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredClusterAutoscaling: json_ |
| .containsKey('desiredClusterAutoscaling') |
| ? ClusterAutoscaling.fromJson(json_['desiredClusterAutoscaling'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredCostManagementConfig: |
| json_.containsKey('desiredCostManagementConfig') |
| ? CostManagementConfig.fromJson( |
| json_['desiredCostManagementConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredDatabaseEncryption: json_ |
| .containsKey('desiredDatabaseEncryption') |
| ? DatabaseEncryption.fromJson(json_['desiredDatabaseEncryption'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredDatapathProvider: json_.containsKey('desiredDatapathProvider') |
| ? json_['desiredDatapathProvider'] as core.String |
| : null, |
| desiredDefaultSnatStatus: |
| json_.containsKey('desiredDefaultSnatStatus') |
| ? DefaultSnatStatus.fromJson(json_['desiredDefaultSnatStatus'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredDnsConfig: json_.containsKey('desiredDnsConfig') |
| ? DNSConfig.fromJson(json_['desiredDnsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredEnablePrivateEndpoint: |
| json_.containsKey('desiredEnablePrivateEndpoint') |
| ? json_['desiredEnablePrivateEndpoint'] as core.bool |
| : null, |
| desiredGatewayApiConfig: json_.containsKey('desiredGatewayApiConfig') |
| ? GatewayAPIConfig.fromJson(json_['desiredGatewayApiConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredGcfsConfig: json_.containsKey('desiredGcfsConfig') |
| ? GcfsConfig.fromJson(json_['desiredGcfsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredIdentityServiceConfig: |
| json_.containsKey('desiredIdentityServiceConfig') |
| ? IdentityServiceConfig.fromJson( |
| json_['desiredIdentityServiceConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredImageType: json_.containsKey('desiredImageType') |
| ? json_['desiredImageType'] as core.String |
| : null, |
| desiredIntraNodeVisibilityConfig: |
| json_.containsKey('desiredIntraNodeVisibilityConfig') |
| ? IntraNodeVisibilityConfig.fromJson( |
| json_['desiredIntraNodeVisibilityConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredL4ilbSubsettingConfig: |
| json_.containsKey('desiredL4ilbSubsettingConfig') |
| ? ILBSubsettingConfig.fromJson( |
| json_['desiredL4ilbSubsettingConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredLocations: json_.containsKey('desiredLocations') |
| ? (json_['desiredLocations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| desiredLoggingConfig: json_.containsKey('desiredLoggingConfig') |
| ? LoggingConfig.fromJson(json_['desiredLoggingConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredLoggingService: json_.containsKey('desiredLoggingService') |
| ? json_['desiredLoggingService'] as core.String |
| : null, |
| desiredMasterAuthorizedNetworksConfig: |
| json_.containsKey('desiredMasterAuthorizedNetworksConfig') |
| ? MasterAuthorizedNetworksConfig.fromJson( |
| json_['desiredMasterAuthorizedNetworksConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredMasterVersion: json_.containsKey('desiredMasterVersion') |
| ? json_['desiredMasterVersion'] as core.String |
| : null, |
| desiredMeshCertificates: json_.containsKey('desiredMeshCertificates') |
| ? MeshCertificates.fromJson(json_['desiredMeshCertificates'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredMonitoringConfig: json_.containsKey('desiredMonitoringConfig') |
| ? MonitoringConfig.fromJson(json_['desiredMonitoringConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredMonitoringService: |
| json_.containsKey('desiredMonitoringService') |
| ? json_['desiredMonitoringService'] as core.String |
| : null, |
| desiredNodePoolAutoConfigNetworkTags: |
| json_.containsKey('desiredNodePoolAutoConfigNetworkTags') |
| ? NetworkTags.fromJson( |
| json_['desiredNodePoolAutoConfigNetworkTags'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredNodePoolAutoscaling: json_ |
| .containsKey('desiredNodePoolAutoscaling') |
| ? NodePoolAutoscaling.fromJson(json_['desiredNodePoolAutoscaling'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredNodePoolId: json_.containsKey('desiredNodePoolId') |
| ? json_['desiredNodePoolId'] as core.String |
| : null, |
| desiredNodePoolLoggingConfig: |
| json_.containsKey('desiredNodePoolLoggingConfig') |
| ? NodePoolLoggingConfig.fromJson( |
| json_['desiredNodePoolLoggingConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredNodeVersion: json_.containsKey('desiredNodeVersion') |
| ? json_['desiredNodeVersion'] as core.String |
| : null, |
| desiredNotificationConfig: json_ |
| .containsKey('desiredNotificationConfig') |
| ? NotificationConfig.fromJson(json_['desiredNotificationConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredPrivateClusterConfig: |
| json_.containsKey('desiredPrivateClusterConfig') |
| ? PrivateClusterConfig.fromJson( |
| json_['desiredPrivateClusterConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredPrivateIpv6GoogleAccess: |
| json_.containsKey('desiredPrivateIpv6GoogleAccess') |
| ? json_['desiredPrivateIpv6GoogleAccess'] as core.String |
| : null, |
| desiredReleaseChannel: json_.containsKey('desiredReleaseChannel') |
| ? ReleaseChannel.fromJson(json_['desiredReleaseChannel'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredResourceUsageExportConfig: |
| json_.containsKey('desiredResourceUsageExportConfig') |
| ? ResourceUsageExportConfig.fromJson( |
| json_['desiredResourceUsageExportConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredServiceExternalIpsConfig: |
| json_.containsKey('desiredServiceExternalIpsConfig') |
| ? ServiceExternalIPsConfig.fromJson( |
| json_['desiredServiceExternalIpsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredShieldedNodes: json_.containsKey('desiredShieldedNodes') |
| ? ShieldedNodes.fromJson(json_['desiredShieldedNodes'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredStackType: json_.containsKey('desiredStackType') |
| ? json_['desiredStackType'] as core.String |
| : null, |
| desiredVerticalPodAutoscaling: |
| json_.containsKey('desiredVerticalPodAutoscaling') |
| ? VerticalPodAutoscaling.fromJson( |
| json_['desiredVerticalPodAutoscaling'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| desiredWorkloadIdentityConfig: |
| json_.containsKey('desiredWorkloadIdentityConfig') |
| ? WorkloadIdentityConfig.fromJson( |
| json_['desiredWorkloadIdentityConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| etag: json_.containsKey('etag') ? json_['etag'] as core.String : null, |
| removedAdditionalPodRangesConfig: |
| json_.containsKey('removedAdditionalPodRangesConfig') |
| ? AdditionalPodRangesConfig.fromJson( |
| json_['removedAdditionalPodRangesConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (additionalPodRangesConfig != null) |
| 'additionalPodRangesConfig': additionalPodRangesConfig!, |
| if (desiredAddonsConfig != null) |
| 'desiredAddonsConfig': desiredAddonsConfig!, |
| if (desiredAuthenticatorGroupsConfig != null) |
| 'desiredAuthenticatorGroupsConfig': desiredAuthenticatorGroupsConfig!, |
| if (desiredBinaryAuthorization != null) |
| 'desiredBinaryAuthorization': desiredBinaryAuthorization!, |
| if (desiredClusterAutoscaling != null) |
| 'desiredClusterAutoscaling': desiredClusterAutoscaling!, |
| if (desiredCostManagementConfig != null) |
| 'desiredCostManagementConfig': desiredCostManagementConfig!, |
| if (desiredDatabaseEncryption != null) |
| 'desiredDatabaseEncryption': desiredDatabaseEncryption!, |
| if (desiredDatapathProvider != null) |
| 'desiredDatapathProvider': desiredDatapathProvider!, |
| if (desiredDefaultSnatStatus != null) |
| 'desiredDefaultSnatStatus': desiredDefaultSnatStatus!, |
| if (desiredDnsConfig != null) 'desiredDnsConfig': desiredDnsConfig!, |
| if (desiredEnablePrivateEndpoint != null) |
| 'desiredEnablePrivateEndpoint': desiredEnablePrivateEndpoint!, |
| if (desiredGatewayApiConfig != null) |
| 'desiredGatewayApiConfig': desiredGatewayApiConfig!, |
| if (desiredGcfsConfig != null) 'desiredGcfsConfig': desiredGcfsConfig!, |
| if (desiredIdentityServiceConfig != null) |
| 'desiredIdentityServiceConfig': desiredIdentityServiceConfig!, |
| if (desiredImageType != null) 'desiredImageType': desiredImageType!, |
| if (desiredIntraNodeVisibilityConfig != null) |
| 'desiredIntraNodeVisibilityConfig': desiredIntraNodeVisibilityConfig!, |
| if (desiredL4ilbSubsettingConfig != null) |
| 'desiredL4ilbSubsettingConfig': desiredL4ilbSubsettingConfig!, |
| if (desiredLocations != null) 'desiredLocations': desiredLocations!, |
| if (desiredLoggingConfig != null) |
| 'desiredLoggingConfig': desiredLoggingConfig!, |
| if (desiredLoggingService != null) |
| 'desiredLoggingService': desiredLoggingService!, |
| if (desiredMasterAuthorizedNetworksConfig != null) |
| 'desiredMasterAuthorizedNetworksConfig': |
| desiredMasterAuthorizedNetworksConfig!, |
| if (desiredMasterVersion != null) |
| 'desiredMasterVersion': desiredMasterVersion!, |
| if (desiredMeshCertificates != null) |
| 'desiredMeshCertificates': desiredMeshCertificates!, |
| if (desiredMonitoringConfig != null) |
| 'desiredMonitoringConfig': desiredMonitoringConfig!, |
| if (desiredMonitoringService != null) |
| 'desiredMonitoringService': desiredMonitoringService!, |
| if (desiredNodePoolAutoConfigNetworkTags != null) |
| 'desiredNodePoolAutoConfigNetworkTags': |
| desiredNodePoolAutoConfigNetworkTags!, |
| if (desiredNodePoolAutoscaling != null) |
| 'desiredNodePoolAutoscaling': desiredNodePoolAutoscaling!, |
| if (desiredNodePoolId != null) 'desiredNodePoolId': desiredNodePoolId!, |
| if (desiredNodePoolLoggingConfig != null) |
| 'desiredNodePoolLoggingConfig': desiredNodePoolLoggingConfig!, |
| if (desiredNodeVersion != null) |
| 'desiredNodeVersion': desiredNodeVersion!, |
| if (desiredNotificationConfig != null) |
| 'desiredNotificationConfig': desiredNotificationConfig!, |
| if (desiredPrivateClusterConfig != null) |
| 'desiredPrivateClusterConfig': desiredPrivateClusterConfig!, |
| if (desiredPrivateIpv6GoogleAccess != null) |
| 'desiredPrivateIpv6GoogleAccess': desiredPrivateIpv6GoogleAccess!, |
| if (desiredReleaseChannel != null) |
| 'desiredReleaseChannel': desiredReleaseChannel!, |
| if (desiredResourceUsageExportConfig != null) |
| 'desiredResourceUsageExportConfig': desiredResourceUsageExportConfig!, |
| if (desiredServiceExternalIpsConfig != null) |
| 'desiredServiceExternalIpsConfig': desiredServiceExternalIpsConfig!, |
| if (desiredShieldedNodes != null) |
| 'desiredShieldedNodes': desiredShieldedNodes!, |
| if (desiredStackType != null) 'desiredStackType': desiredStackType!, |
| if (desiredVerticalPodAutoscaling != null) |
| 'desiredVerticalPodAutoscaling': desiredVerticalPodAutoscaling!, |
| if (desiredWorkloadIdentityConfig != null) |
| 'desiredWorkloadIdentityConfig': desiredWorkloadIdentityConfig!, |
| if (etag != null) 'etag': etag!, |
| if (removedAdditionalPodRangesConfig != null) |
| 'removedAdditionalPodRangesConfig': removedAdditionalPodRangesConfig!, |
| }; |
| } |
| |
| /// CompleteIPRotationRequest moves the cluster master back into single-IP mode. |
| class CompleteIPRotationRequest { |
| /// The name of the cluster. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster name) of the cluster to complete IP |
| /// rotation. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| CompleteIPRotationRequest({ |
| this.clusterId, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| CompleteIPRotationRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// CompleteNodePoolUpgradeRequest sets the name of target node pool to complete |
| /// upgrade. |
| typedef CompleteNodePoolUpgradeRequest = $Empty; |
| |
| /// ConfidentialNodes is configuration for the confidential nodes feature, which |
| /// makes nodes run on confidential VMs. |
| class ConfidentialNodes { |
| /// Whether Confidential Nodes feature is enabled. |
| core.bool? enabled; |
| |
| ConfidentialNodes({ |
| this.enabled, |
| }); |
| |
| ConfidentialNodes.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration options for the Config Connector add-on. |
| class ConfigConnectorConfig { |
| /// Whether Cloud Connector is enabled for this cluster. |
| core.bool? enabled; |
| |
| ConfigConnectorConfig({ |
| this.enabled, |
| }); |
| |
| ConfigConnectorConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Parameters for controlling consumption metering. |
| class ConsumptionMeteringConfig { |
| /// Whether to enable consumption metering for this cluster. |
| /// |
| /// If enabled, a second BigQuery table will be created to hold resource |
| /// consumption records. |
| core.bool? enabled; |
| |
| ConsumptionMeteringConfig({ |
| this.enabled, |
| }); |
| |
| ConsumptionMeteringConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration for fine-grained cost management feature. |
| class CostManagementConfig { |
| /// Whether the feature is enabled or not. |
| core.bool? enabled; |
| |
| CostManagementConfig({ |
| this.enabled, |
| }); |
| |
| CostManagementConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// CreateClusterRequest creates a cluster. |
| class CreateClusterRequest { |
| /// A |
| /// [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) |
| /// |
| /// Required. |
| Cluster? cluster; |
| |
| /// The parent (project and location) where the cluster will be created. |
| /// |
| /// Specified in the format `projects / * /locations / * `. |
| core.String? parent; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| CreateClusterRequest({ |
| this.cluster, |
| this.parent, |
| this.projectId, |
| this.zone, |
| }); |
| |
| CreateClusterRequest.fromJson(core.Map json_) |
| : this( |
| cluster: json_.containsKey('cluster') |
| ? Cluster.fromJson( |
| json_['cluster'] as core.Map<core.String, core.dynamic>) |
| : null, |
| parent: json_.containsKey('parent') |
| ? json_['parent'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cluster != null) 'cluster': cluster!, |
| if (parent != null) 'parent': parent!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// CreateNodePoolRequest creates a node pool for a cluster. |
| class CreateNodePoolRequest { |
| /// The name of the cluster. |
| /// |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The node pool to create. |
| /// |
| /// Required. |
| NodePool? nodePool; |
| |
| /// The parent (project, location, cluster name) where the node pool will be |
| /// created. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? parent; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the parent field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| CreateNodePoolRequest({ |
| this.clusterId, |
| this.nodePool, |
| this.parent, |
| this.projectId, |
| this.zone, |
| }); |
| |
| CreateNodePoolRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| nodePool: json_.containsKey('nodePool') |
| ? NodePool.fromJson( |
| json_['nodePool'] as core.Map<core.String, core.dynamic>) |
| : null, |
| parent: json_.containsKey('parent') |
| ? json_['parent'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (nodePool != null) 'nodePool': nodePool!, |
| if (parent != null) 'parent': parent!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// DNSConfig contains the desired set of options for configuring clusterDNS. |
| class DNSConfig { |
| /// cluster_dns indicates which in-cluster DNS provider should be used. |
| /// Possible string values are: |
| /// - "PROVIDER_UNSPECIFIED" : Default value |
| /// - "PLATFORM_DEFAULT" : Use GKE default DNS provider(kube-dns) for DNS |
| /// resolution. |
| /// - "CLOUD_DNS" : Use CloudDNS for DNS resolution. |
| core.String? clusterDns; |
| |
| /// cluster_dns_domain is the suffix used for all cluster service records. |
| core.String? clusterDnsDomain; |
| |
| /// cluster_dns_scope indicates the scope of access to cluster DNS records. |
| /// Possible string values are: |
| /// - "DNS_SCOPE_UNSPECIFIED" : Default value, will be inferred as cluster |
| /// scope. |
| /// - "CLUSTER_SCOPE" : DNS records are accessible from within the cluster. |
| /// - "VPC_SCOPE" : DNS records are accessible from within the VPC. |
| core.String? clusterDnsScope; |
| |
| DNSConfig({ |
| this.clusterDns, |
| this.clusterDnsDomain, |
| this.clusterDnsScope, |
| }); |
| |
| DNSConfig.fromJson(core.Map json_) |
| : this( |
| clusterDns: json_.containsKey('clusterDns') |
| ? json_['clusterDns'] as core.String |
| : null, |
| clusterDnsDomain: json_.containsKey('clusterDnsDomain') |
| ? json_['clusterDnsDomain'] as core.String |
| : null, |
| clusterDnsScope: json_.containsKey('clusterDnsScope') |
| ? json_['clusterDnsScope'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterDns != null) 'clusterDns': clusterDns!, |
| if (clusterDnsDomain != null) 'clusterDnsDomain': clusterDnsDomain!, |
| if (clusterDnsScope != null) 'clusterDnsScope': clusterDnsScope!, |
| }; |
| } |
| |
| /// Time window specified for daily maintenance operations. |
| class DailyMaintenanceWindow { |
| /// Duration of the time window, automatically chosen to be smallest possible |
| /// in the given scenario. |
| /// |
| /// Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format |
| /// "PTnHnMnS". |
| /// |
| /// Output only. |
| core.String? duration; |
| |
| /// Time within the maintenance window to start the maintenance operations. |
| /// |
| /// Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) |
| /// format "HH:MM", where HH : \[00-23\] and MM : \[00-59\] GMT. |
| core.String? startTime; |
| |
| DailyMaintenanceWindow({ |
| this.duration, |
| this.startTime, |
| }); |
| |
| DailyMaintenanceWindow.fromJson(core.Map json_) |
| : this( |
| duration: json_.containsKey('duration') |
| ? json_['duration'] as core.String |
| : null, |
| startTime: json_.containsKey('startTime') |
| ? json_['startTime'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (duration != null) 'duration': duration!, |
| if (startTime != null) 'startTime': startTime!, |
| }; |
| } |
| |
| /// Configuration of etcd encryption. |
| class DatabaseEncryption { |
| /// Name of CloudKMS key to use for the encryption of secrets in etcd. |
| /// |
| /// Ex. |
| /// projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key |
| core.String? keyName; |
| |
| /// Denotes the state of etcd encryption. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Should never be set |
| /// - "ENCRYPTED" : Secrets in etcd are encrypted. |
| /// - "DECRYPTED" : Secrets in etcd are stored in plain text (at etcd level) - |
| /// this is unrelated to Compute Engine level full disk encryption. |
| core.String? state; |
| |
| DatabaseEncryption({ |
| this.keyName, |
| this.state, |
| }); |
| |
| DatabaseEncryption.fromJson(core.Map json_) |
| : this( |
| keyName: json_.containsKey('keyName') |
| ? json_['keyName'] as core.String |
| : null, |
| state: |
| json_.containsKey('state') ? json_['state'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (keyName != null) 'keyName': keyName!, |
| if (state != null) 'state': state!, |
| }; |
| } |
| |
| /// DefaultSnatStatus contains the desired state of whether default sNAT should |
| /// be disabled on the cluster. |
| class DefaultSnatStatus { |
| /// Disables cluster default sNAT rules. |
| core.bool? disabled; |
| |
| DefaultSnatStatus({ |
| this.disabled, |
| }); |
| |
| DefaultSnatStatus.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| }; |
| } |
| |
| /// Configuration for NodeLocal DNSCache |
| class DnsCacheConfig { |
| /// Whether NodeLocal DNSCache is enabled for this cluster. |
| core.bool? enabled; |
| |
| DnsCacheConfig({ |
| this.enabled, |
| }); |
| |
| DnsCacheConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// A generic empty message that you can re-use to avoid defining duplicated |
| /// empty messages in your APIs. |
| /// |
| /// A typical example is to use it as the request or the response type of an API |
| /// method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns |
| /// (google.protobuf.Empty); } |
| typedef Empty = $Empty; |
| |
| /// EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral |
| /// storage using Local SSD. |
| class EphemeralStorageLocalSsdConfig { |
| /// Number of local SSDs to use to back ephemeral storage. |
| /// |
| /// Uses NVMe interfaces. Each local SSD is 375 GB in size. If zero, it means |
| /// to disable using local SSDs as ephemeral storage. The limit for this value |
| /// is dependent upon the maximum number of disks available on a machine per |
| /// zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more |
| /// information. |
| core.int? localSsdCount; |
| |
| EphemeralStorageLocalSsdConfig({ |
| this.localSsdCount, |
| }); |
| |
| EphemeralStorageLocalSsdConfig.fromJson(core.Map json_) |
| : this( |
| localSsdCount: json_.containsKey('localSsdCount') |
| ? json_['localSsdCount'] as core.int |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (localSsdCount != null) 'localSsdCount': localSsdCount!, |
| }; |
| } |
| |
| /// Configuration of Fast Socket feature. |
| class FastSocket { |
| /// Whether Fast Socket features are enabled in the node pool. |
| core.bool? enabled; |
| |
| FastSocket({ |
| this.enabled, |
| }); |
| |
| FastSocket.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Allows filtering to one or more specific event types. |
| /// |
| /// If event types are present, those and only those event types will be |
| /// transmitted to the cluster. Other types will be skipped. If no filter is |
| /// specified, or no event types are present, all event types will be sent |
| class Filter { |
| /// Event types to allowlist. |
| core.List<core.String>? eventType; |
| |
| Filter({ |
| this.eventType, |
| }); |
| |
| Filter.fromJson(core.Map json_) |
| : this( |
| eventType: json_.containsKey('eventType') |
| ? (json_['eventType'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (eventType != null) 'eventType': eventType!, |
| }; |
| } |
| |
| /// Fleet is the fleet configuration for the cluster. |
| class Fleet { |
| /// The full resource name of the registered fleet membership of the cluster, |
| /// in the format `//gkehub.googleapis.com/projects / * /locations / * |
| /// /memberships / * `. |
| /// |
| /// Output only. |
| core.String? membership; |
| |
| /// Whether the cluster has been registered through the fleet API. |
| /// |
| /// Output only. |
| core.bool? preRegistered; |
| |
| /// The Fleet host project(project ID or project number) where this cluster |
| /// will be registered to. |
| /// |
| /// This field cannot be changed after the cluster has been registered. |
| core.String? project; |
| |
| Fleet({ |
| this.membership, |
| this.preRegistered, |
| this.project, |
| }); |
| |
| Fleet.fromJson(core.Map json_) |
| : this( |
| membership: json_.containsKey('membership') |
| ? json_['membership'] as core.String |
| : null, |
| preRegistered: json_.containsKey('preRegistered') |
| ? json_['preRegistered'] as core.bool |
| : null, |
| project: json_.containsKey('project') |
| ? json_['project'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (membership != null) 'membership': membership!, |
| if (preRegistered != null) 'preRegistered': preRegistered!, |
| if (project != null) 'project': project!, |
| }; |
| } |
| |
| /// GPUSharingConfig represents the GPU sharing configuration for Hardware |
| /// Accelerators. |
| class GPUSharingConfig { |
| /// The type of GPU sharing strategy to enable on the GPU node. |
| /// Possible string values are: |
| /// - "GPU_SHARING_STRATEGY_UNSPECIFIED" : Default value. |
| /// - "TIME_SHARING" : GPUs are time-shared between containers. |
| core.String? gpuSharingStrategy; |
| |
| /// The max number of containers that can share a physical GPU. |
| core.String? maxSharedClientsPerGpu; |
| |
| GPUSharingConfig({ |
| this.gpuSharingStrategy, |
| this.maxSharedClientsPerGpu, |
| }); |
| |
| GPUSharingConfig.fromJson(core.Map json_) |
| : this( |
| gpuSharingStrategy: json_.containsKey('gpuSharingStrategy') |
| ? json_['gpuSharingStrategy'] as core.String |
| : null, |
| maxSharedClientsPerGpu: json_.containsKey('maxSharedClientsPerGpu') |
| ? json_['maxSharedClientsPerGpu'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (gpuSharingStrategy != null) |
| 'gpuSharingStrategy': gpuSharingStrategy!, |
| if (maxSharedClientsPerGpu != null) |
| 'maxSharedClientsPerGpu': maxSharedClientsPerGpu!, |
| }; |
| } |
| |
| /// GatewayAPIConfig contains the desired config of Gateway API on this cluster. |
| class GatewayAPIConfig { |
| /// The Gateway API release channel to use for Gateway API. |
| /// Possible string values are: |
| /// - "CHANNEL_UNSPECIFIED" : Default value. |
| /// - "CHANNEL_DISABLED" : Gateway API support is disabled |
| /// - "CHANNEL_EXPERIMENTAL" : Gateway API support is enabled, experimental |
| /// CRDs are installed |
| /// - "CHANNEL_STANDARD" : Gateway API support is enabled, standard CRDs are |
| /// installed |
| core.String? channel; |
| |
| GatewayAPIConfig({ |
| this.channel, |
| }); |
| |
| GatewayAPIConfig.fromJson(core.Map json_) |
| : this( |
| channel: json_.containsKey('channel') |
| ? json_['channel'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (channel != null) 'channel': channel!, |
| }; |
| } |
| |
| /// Configuration for the Compute Engine PD CSI driver. |
| class GcePersistentDiskCsiDriverConfig { |
| /// Whether the Compute Engine PD CSI driver is enabled for this cluster. |
| core.bool? enabled; |
| |
| GcePersistentDiskCsiDriverConfig({ |
| this.enabled, |
| }); |
| |
| GcePersistentDiskCsiDriverConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// GcfsConfig contains configurations of Google Container File System (image |
| /// streaming). |
| class GcfsConfig { |
| /// Whether to use GCFS. |
| core.bool? enabled; |
| |
| GcfsConfig({ |
| this.enabled, |
| }); |
| |
| GcfsConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration for the GCP Filestore CSI driver. |
| class GcpFilestoreCsiDriverConfig { |
| /// Whether the GCP Filestore CSI driver is enabled for this cluster. |
| core.bool? enabled; |
| |
| GcpFilestoreCsiDriverConfig({ |
| this.enabled, |
| }); |
| |
| GcpFilestoreCsiDriverConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517 |
| class GetJSONWebKeysResponse { |
| /// OnePlatform automatically extracts this field and uses it to set the HTTP |
| /// Cache-Control header. |
| HttpCacheControlResponseHeader? cacheHeader; |
| |
| /// The public component of the keys used by the cluster to sign token |
| /// requests. |
| core.List<Jwk>? keys; |
| |
| GetJSONWebKeysResponse({ |
| this.cacheHeader, |
| this.keys, |
| }); |
| |
| GetJSONWebKeysResponse.fromJson(core.Map json_) |
| : this( |
| cacheHeader: json_.containsKey('cacheHeader') |
| ? HttpCacheControlResponseHeader.fromJson( |
| json_['cacheHeader'] as core.Map<core.String, core.dynamic>) |
| : null, |
| keys: json_.containsKey('keys') |
| ? (json_['keys'] as core.List) |
| .map((value) => Jwk.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cacheHeader != null) 'cacheHeader': cacheHeader!, |
| if (keys != null) 'keys': keys!, |
| }; |
| } |
| |
| /// GetOpenIDConfigResponse is an OIDC discovery document for the cluster. |
| /// |
| /// See the OpenID Connect Discovery 1.0 specification for details. |
| class GetOpenIDConfigResponse { |
| /// OnePlatform automatically extracts this field and uses it to set the HTTP |
| /// Cache-Control header. |
| HttpCacheControlResponseHeader? cacheHeader; |
| |
| /// Supported claims. |
| core.List<core.String>? claimsSupported; |
| |
| /// Supported grant types. |
| core.List<core.String>? grantTypes; |
| |
| /// supported ID Token signing Algorithms. |
| core.List<core.String>? idTokenSigningAlgValuesSupported; |
| |
| /// OIDC Issuer. |
| core.String? issuer; |
| |
| /// JSON Web Key uri. |
| core.String? jwksUri; |
| |
| /// Supported response types. |
| core.List<core.String>? responseTypesSupported; |
| |
| /// Supported subject types. |
| core.List<core.String>? subjectTypesSupported; |
| |
| GetOpenIDConfigResponse({ |
| this.cacheHeader, |
| this.claimsSupported, |
| this.grantTypes, |
| this.idTokenSigningAlgValuesSupported, |
| this.issuer, |
| this.jwksUri, |
| this.responseTypesSupported, |
| this.subjectTypesSupported, |
| }); |
| |
| GetOpenIDConfigResponse.fromJson(core.Map json_) |
| : this( |
| cacheHeader: json_.containsKey('cacheHeader') |
| ? HttpCacheControlResponseHeader.fromJson( |
| json_['cacheHeader'] as core.Map<core.String, core.dynamic>) |
| : null, |
| claimsSupported: json_.containsKey('claims_supported') |
| ? (json_['claims_supported'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| grantTypes: json_.containsKey('grant_types') |
| ? (json_['grant_types'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| idTokenSigningAlgValuesSupported: json_ |
| .containsKey('id_token_signing_alg_values_supported') |
| ? (json_['id_token_signing_alg_values_supported'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| issuer: json_.containsKey('issuer') |
| ? json_['issuer'] as core.String |
| : null, |
| jwksUri: json_.containsKey('jwks_uri') |
| ? json_['jwks_uri'] as core.String |
| : null, |
| responseTypesSupported: json_.containsKey('response_types_supported') |
| ? (json_['response_types_supported'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| subjectTypesSupported: json_.containsKey('subject_types_supported') |
| ? (json_['subject_types_supported'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cacheHeader != null) 'cacheHeader': cacheHeader!, |
| if (claimsSupported != null) 'claims_supported': claimsSupported!, |
| if (grantTypes != null) 'grant_types': grantTypes!, |
| if (idTokenSigningAlgValuesSupported != null) |
| 'id_token_signing_alg_values_supported': |
| idTokenSigningAlgValuesSupported!, |
| if (issuer != null) 'issuer': issuer!, |
| if (jwksUri != null) 'jwks_uri': jwksUri!, |
| if (responseTypesSupported != null) |
| 'response_types_supported': responseTypesSupported!, |
| if (subjectTypesSupported != null) |
| 'subject_types_supported': subjectTypesSupported!, |
| }; |
| } |
| |
| /// Configuration for the Backup for GKE Agent. |
| class GkeBackupAgentConfig { |
| /// Whether the Backup for GKE agent is enabled for this cluster. |
| core.bool? enabled; |
| |
| GkeBackupAgentConfig({ |
| this.enabled, |
| }); |
| |
| GkeBackupAgentConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration options for the horizontal pod autoscaling feature, which |
| /// increases or decreases the number of replica pods a replication controller |
| /// has based on the resource usage of the existing pods. |
| class HorizontalPodAutoscaling { |
| /// Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. |
| /// |
| /// When enabled, it ensures that metrics are collected into Stackdriver |
| /// Monitoring. |
| core.bool? disabled; |
| |
| HorizontalPodAutoscaling({ |
| this.disabled, |
| }); |
| |
| HorizontalPodAutoscaling.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| }; |
| } |
| |
| /// RFC-2616: cache control support |
| class HttpCacheControlResponseHeader { |
| /// 14.6 response cache age, in seconds since the response is generated |
| core.String? age; |
| |
| /// 14.9 request and response directives |
| core.String? directive; |
| |
| /// 14.21 response cache expires, in RFC 1123 date format |
| core.String? expires; |
| |
| HttpCacheControlResponseHeader({ |
| this.age, |
| this.directive, |
| this.expires, |
| }); |
| |
| HttpCacheControlResponseHeader.fromJson(core.Map json_) |
| : this( |
| age: json_.containsKey('age') ? json_['age'] as core.String : null, |
| directive: json_.containsKey('directive') |
| ? json_['directive'] as core.String |
| : null, |
| expires: json_.containsKey('expires') |
| ? json_['expires'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (age != null) 'age': age!, |
| if (directive != null) 'directive': directive!, |
| if (expires != null) 'expires': expires!, |
| }; |
| } |
| |
| /// Configuration options for the HTTP (L7) load balancing controller addon, |
| /// which makes it easy to set up HTTP load balancers for services in a cluster. |
| class HttpLoadBalancing { |
| /// Whether the HTTP Load Balancing controller is enabled in the cluster. |
| /// |
| /// When enabled, it runs a small pod in the cluster that manages the load |
| /// balancers. |
| core.bool? disabled; |
| |
| HttpLoadBalancing({ |
| this.disabled, |
| }); |
| |
| HttpLoadBalancing.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| }; |
| } |
| |
| /// ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer |
| /// subsetting on this cluster. |
| class ILBSubsettingConfig { |
| /// Enables l4 ILB subsetting for this cluster. |
| core.bool? enabled; |
| |
| ILBSubsettingConfig({ |
| this.enabled, |
| }); |
| |
| ILBSubsettingConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration for controlling how IPs are allocated in the cluster. |
| class IPAllocationPolicy { |
| /// The additional pod ranges that are added to the cluster. |
| /// |
| /// These pod ranges can be used by new node pools to allocate pod IPs |
| /// automatically. Once the range is removed it will not show up in |
| /// IPAllocationPolicy. |
| /// |
| /// Output only. |
| AdditionalPodRangesConfig? additionalPodRangesConfig; |
| |
| /// This field is deprecated, use cluster_ipv4_cidr_block. |
| core.String? clusterIpv4Cidr; |
| |
| /// The IP address range for the cluster pod IPs. |
| /// |
| /// If this field is set, then `cluster.cluster_ipv4_cidr` must be left blank. |
| /// This field is only applicable when `use_ip_aliases` is true. Set to blank |
| /// to have a range chosen with the default size. Set to /netmask (e.g. `/14`) |
| /// to have a range chosen with a specific netmask. Set to a |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. |
| /// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range |
| /// to use. |
| core.String? clusterIpv4CidrBlock; |
| |
| /// The name of the secondary range to be used for the cluster CIDR block. |
| /// |
| /// The secondary range will be used for pod IP addresses. This must be an |
| /// existing secondary range associated with the cluster subnetwork. This |
| /// field is only applicable with use_ip_aliases is true and create_subnetwork |
| /// is false. |
| core.String? clusterSecondaryRangeName; |
| |
| /// Whether a new subnetwork will be created automatically for the cluster. |
| /// |
| /// This field is only applicable when `use_ip_aliases` is true. |
| core.bool? createSubnetwork; |
| |
| /// The ipv6 access type (internal or external) when create_subnetwork is true |
| /// Possible string values are: |
| /// - "IPV6_ACCESS_TYPE_UNSPECIFIED" : Default value, will be defaulted as |
| /// type external. |
| /// - "INTERNAL" : Access type internal (all v6 addresses are internal IPs) |
| /// - "EXTERNAL" : Access type external (all v6 addresses are external IPs) |
| core.String? ipv6AccessType; |
| |
| /// This field is deprecated, use node_ipv4_cidr_block. |
| core.String? nodeIpv4Cidr; |
| |
| /// The IP address range of the instance IPs in this cluster. |
| /// |
| /// This is applicable only if `create_subnetwork` is true. Set to blank to |
| /// have a range chosen with the default size. Set to /netmask (e.g. `/14`) to |
| /// have a range chosen with a specific netmask. Set to a |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. |
| /// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range |
| /// to use. |
| core.String? nodeIpv4CidrBlock; |
| |
| /// \[PRIVATE FIELD\] Pod CIDR size overprovisioning config for the cluster. |
| /// |
| /// Pod CIDR size per node depends on max_pods_per_node. By default, the value |
| /// of max_pods_per_node is doubled and then rounded off to next power of 2 to |
| /// get the size of pod CIDR block per node. Example: max_pods_per_node of 30 |
| /// would result in 64 IPs (/26). This config can disable the doubling of IPs |
| /// (we still round off to next power of 2) Example: max_pods_per_node of 30 |
| /// will result in 32 IPs (/27) when overprovisioning is disabled. |
| PodCIDROverprovisionConfig? podCidrOverprovisionConfig; |
| |
| /// This field is deprecated, use services_ipv4_cidr_block. |
| core.String? servicesIpv4Cidr; |
| |
| /// The IP address range of the services IPs in this cluster. |
| /// |
| /// If blank, a range will be automatically chosen with the default size. This |
| /// field is only applicable when `use_ip_aliases` is true. Set to blank to |
| /// have a range chosen with the default size. Set to /netmask (e.g. `/14`) to |
| /// have a range chosen with a specific netmask. Set to a |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. |
| /// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range |
| /// to use. |
| core.String? servicesIpv4CidrBlock; |
| |
| /// The services IPv6 CIDR block for the cluster. |
| /// |
| /// Output only. |
| core.String? servicesIpv6CidrBlock; |
| |
| /// The name of the secondary range to be used as for the services CIDR block. |
| /// |
| /// The secondary range will be used for service ClusterIPs. This must be an |
| /// existing secondary range associated with the cluster subnetwork. This |
| /// field is only applicable with use_ip_aliases is true and create_subnetwork |
| /// is false. |
| core.String? servicesSecondaryRangeName; |
| |
| /// The IP stack type of the cluster |
| /// Possible string values are: |
| /// - "STACK_TYPE_UNSPECIFIED" : Default value, will be defaulted as IPV4 only |
| /// - "IPV4" : Cluster is IPV4 only |
| /// - "IPV4_IPV6" : Cluster can use both IPv4 and IPv6 |
| core.String? stackType; |
| |
| /// The subnet's IPv6 CIDR block used by nodes and pods. |
| /// |
| /// Output only. |
| core.String? subnetIpv6CidrBlock; |
| |
| /// A custom subnetwork name to be used if `create_subnetwork` is true. |
| /// |
| /// If this field is empty, then an automatic name will be chosen for the new |
| /// subnetwork. |
| core.String? subnetworkName; |
| |
| /// The IP address range of the Cloud TPUs in this cluster. |
| /// |
| /// If unspecified, a range will be automatically chosen with the default |
| /// size. This field is only applicable when `use_ip_aliases` is true. If |
| /// unspecified, the range will use the default size. Set to /netmask (e.g. |
| /// `/14`) to have a range chosen with a specific netmask. Set to a |
| /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. |
| /// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range |
| /// to use. |
| core.String? tpuIpv4CidrBlock; |
| |
| /// Whether alias IPs will be used for pod IPs in the cluster. |
| /// |
| /// This is used in conjunction with use_routes. It cannot be true if |
| /// use_routes is true. If both use_ip_aliases and use_routes are false, then |
| /// the server picks the default IP allocation mode |
| core.bool? useIpAliases; |
| |
| /// Whether routes will be used for pod IPs in the cluster. |
| /// |
| /// This is used in conjunction with use_ip_aliases. It cannot be true if |
| /// use_ip_aliases is true. If both use_ip_aliases and use_routes are false, |
| /// then the server picks the default IP allocation mode |
| core.bool? useRoutes; |
| |
| IPAllocationPolicy({ |
| this.additionalPodRangesConfig, |
| this.clusterIpv4Cidr, |
| this.clusterIpv4CidrBlock, |
| this.clusterSecondaryRangeName, |
| this.createSubnetwork, |
| this.ipv6AccessType, |
| this.nodeIpv4Cidr, |
| this.nodeIpv4CidrBlock, |
| this.podCidrOverprovisionConfig, |
| this.servicesIpv4Cidr, |
| this.servicesIpv4CidrBlock, |
| this.servicesIpv6CidrBlock, |
| this.servicesSecondaryRangeName, |
| this.stackType, |
| this.subnetIpv6CidrBlock, |
| this.subnetworkName, |
| this.tpuIpv4CidrBlock, |
| this.useIpAliases, |
| this.useRoutes, |
| }); |
| |
| IPAllocationPolicy.fromJson(core.Map json_) |
| : this( |
| additionalPodRangesConfig: |
| json_.containsKey('additionalPodRangesConfig') |
| ? AdditionalPodRangesConfig.fromJson( |
| json_['additionalPodRangesConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| clusterIpv4Cidr: json_.containsKey('clusterIpv4Cidr') |
| ? json_['clusterIpv4Cidr'] as core.String |
| : null, |
| clusterIpv4CidrBlock: json_.containsKey('clusterIpv4CidrBlock') |
| ? json_['clusterIpv4CidrBlock'] as core.String |
| : null, |
| clusterSecondaryRangeName: |
| json_.containsKey('clusterSecondaryRangeName') |
| ? json_['clusterSecondaryRangeName'] as core.String |
| : null, |
| createSubnetwork: json_.containsKey('createSubnetwork') |
| ? json_['createSubnetwork'] as core.bool |
| : null, |
| ipv6AccessType: json_.containsKey('ipv6AccessType') |
| ? json_['ipv6AccessType'] as core.String |
| : null, |
| nodeIpv4Cidr: json_.containsKey('nodeIpv4Cidr') |
| ? json_['nodeIpv4Cidr'] as core.String |
| : null, |
| nodeIpv4CidrBlock: json_.containsKey('nodeIpv4CidrBlock') |
| ? json_['nodeIpv4CidrBlock'] as core.String |
| : null, |
| podCidrOverprovisionConfig: |
| json_.containsKey('podCidrOverprovisionConfig') |
| ? PodCIDROverprovisionConfig.fromJson( |
| json_['podCidrOverprovisionConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| servicesIpv4Cidr: json_.containsKey('servicesIpv4Cidr') |
| ? json_['servicesIpv4Cidr'] as core.String |
| : null, |
| servicesIpv4CidrBlock: json_.containsKey('servicesIpv4CidrBlock') |
| ? json_['servicesIpv4CidrBlock'] as core.String |
| : null, |
| servicesIpv6CidrBlock: json_.containsKey('servicesIpv6CidrBlock') |
| ? json_['servicesIpv6CidrBlock'] as core.String |
| : null, |
| servicesSecondaryRangeName: |
| json_.containsKey('servicesSecondaryRangeName') |
| ? json_['servicesSecondaryRangeName'] as core.String |
| : null, |
| stackType: json_.containsKey('stackType') |
| ? json_['stackType'] as core.String |
| : null, |
| subnetIpv6CidrBlock: json_.containsKey('subnetIpv6CidrBlock') |
| ? json_['subnetIpv6CidrBlock'] as core.String |
| : null, |
| subnetworkName: json_.containsKey('subnetworkName') |
| ? json_['subnetworkName'] as core.String |
| : null, |
| tpuIpv4CidrBlock: json_.containsKey('tpuIpv4CidrBlock') |
| ? json_['tpuIpv4CidrBlock'] as core.String |
| : null, |
| useIpAliases: json_.containsKey('useIpAliases') |
| ? json_['useIpAliases'] as core.bool |
| : null, |
| useRoutes: json_.containsKey('useRoutes') |
| ? json_['useRoutes'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (additionalPodRangesConfig != null) |
| 'additionalPodRangesConfig': additionalPodRangesConfig!, |
| if (clusterIpv4Cidr != null) 'clusterIpv4Cidr': clusterIpv4Cidr!, |
| if (clusterIpv4CidrBlock != null) |
| 'clusterIpv4CidrBlock': clusterIpv4CidrBlock!, |
| if (clusterSecondaryRangeName != null) |
| 'clusterSecondaryRangeName': clusterSecondaryRangeName!, |
| if (createSubnetwork != null) 'createSubnetwork': createSubnetwork!, |
| if (ipv6AccessType != null) 'ipv6AccessType': ipv6AccessType!, |
| if (nodeIpv4Cidr != null) 'nodeIpv4Cidr': nodeIpv4Cidr!, |
| if (nodeIpv4CidrBlock != null) 'nodeIpv4CidrBlock': nodeIpv4CidrBlock!, |
| if (podCidrOverprovisionConfig != null) |
| 'podCidrOverprovisionConfig': podCidrOverprovisionConfig!, |
| if (servicesIpv4Cidr != null) 'servicesIpv4Cidr': servicesIpv4Cidr!, |
| if (servicesIpv4CidrBlock != null) |
| 'servicesIpv4CidrBlock': servicesIpv4CidrBlock!, |
| if (servicesIpv6CidrBlock != null) |
| 'servicesIpv6CidrBlock': servicesIpv6CidrBlock!, |
| if (servicesSecondaryRangeName != null) |
| 'servicesSecondaryRangeName': servicesSecondaryRangeName!, |
| if (stackType != null) 'stackType': stackType!, |
| if (subnetIpv6CidrBlock != null) |
| 'subnetIpv6CidrBlock': subnetIpv6CidrBlock!, |
| if (subnetworkName != null) 'subnetworkName': subnetworkName!, |
| if (tpuIpv4CidrBlock != null) 'tpuIpv4CidrBlock': tpuIpv4CidrBlock!, |
| if (useIpAliases != null) 'useIpAliases': useIpAliases!, |
| if (useRoutes != null) 'useRoutes': useRoutes!, |
| }; |
| } |
| |
| /// IdentityServiceConfig is configuration for Identity Service which allows |
| /// customers to use external identity providers with the K8S API |
| class IdentityServiceConfig { |
| /// Whether to enable the Identity Service component |
| core.bool? enabled; |
| |
| IdentityServiceConfig({ |
| this.enabled, |
| }); |
| |
| IdentityServiceConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// IntraNodeVisibilityConfig contains the desired config of the intra-node |
| /// visibility on this cluster. |
| class IntraNodeVisibilityConfig { |
| /// Enables intra node visibility for this cluster. |
| core.bool? enabled; |
| |
| IntraNodeVisibilityConfig({ |
| this.enabled, |
| }); |
| |
| IntraNodeVisibilityConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Jwk is a JSON Web Key as specified in RFC 7517 |
| class Jwk { |
| /// Algorithm. |
| core.String? alg; |
| |
| /// Used for ECDSA keys. |
| core.String? crv; |
| |
| /// Used for RSA keys. |
| core.String? e; |
| |
| /// Key ID. |
| core.String? kid; |
| |
| /// Key Type. |
| core.String? kty; |
| |
| /// Used for RSA keys. |
| core.String? n; |
| |
| /// Permitted uses for the public keys. |
| core.String? use; |
| |
| /// Used for ECDSA keys. |
| core.String? x; |
| |
| /// Used for ECDSA keys. |
| core.String? y; |
| |
| Jwk({ |
| this.alg, |
| this.crv, |
| this.e, |
| this.kid, |
| this.kty, |
| this.n, |
| this.use, |
| this.x, |
| this.y, |
| }); |
| |
| Jwk.fromJson(core.Map json_) |
| : this( |
| alg: json_.containsKey('alg') ? json_['alg'] as core.String : null, |
| crv: json_.containsKey('crv') ? json_['crv'] as core.String : null, |
| e: json_.containsKey('e') ? json_['e'] as core.String : null, |
| kid: json_.containsKey('kid') ? json_['kid'] as core.String : null, |
| kty: json_.containsKey('kty') ? json_['kty'] as core.String : null, |
| n: json_.containsKey('n') ? json_['n'] as core.String : null, |
| use: json_.containsKey('use') ? json_['use'] as core.String : null, |
| x: json_.containsKey('x') ? json_['x'] as core.String : null, |
| y: json_.containsKey('y') ? json_['y'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (alg != null) 'alg': alg!, |
| if (crv != null) 'crv': crv!, |
| if (e != null) 'e': e!, |
| if (kid != null) 'kid': kid!, |
| if (kty != null) 'kty': kty!, |
| if (n != null) 'n': n!, |
| if (use != null) 'use': use!, |
| if (x != null) 'x': x!, |
| if (y != null) 'y': y!, |
| }; |
| } |
| |
| /// Configuration for the Kubernetes Dashboard. |
| class KubernetesDashboard { |
| /// Whether the Kubernetes Dashboard is enabled for this cluster. |
| core.bool? disabled; |
| |
| KubernetesDashboard({ |
| this.disabled, |
| }); |
| |
| KubernetesDashboard.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| }; |
| } |
| |
| /// Configuration for the legacy Attribute Based Access Control authorization |
| /// mode. |
| class LegacyAbac { |
| /// Whether the ABAC authorizer is enabled for this cluster. |
| /// |
| /// When enabled, identities in the system, including service accounts, nodes, |
| /// and controllers, will have statically granted permissions beyond those |
| /// provided by the RBAC configuration or IAM. |
| core.bool? enabled; |
| |
| LegacyAbac({ |
| this.enabled, |
| }); |
| |
| LegacyAbac.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Parameters that can be configured on Linux nodes. |
| class LinuxNodeConfig { |
| /// cgroup_mode specifies the cgroup mode to be used on the node. |
| /// Possible string values are: |
| /// - "CGROUP_MODE_UNSPECIFIED" : CGROUP_MODE_UNSPECIFIED is when unspecified |
| /// cgroup configuration is used. The default for the GKE node OS image will |
| /// be used. |
| /// - "CGROUP_MODE_V1" : CGROUP_MODE_V1 specifies to use cgroupv1 for the |
| /// cgroup configuration on the node image. |
| /// - "CGROUP_MODE_V2" : CGROUP_MODE_V2 specifies to use cgroupv2 for the |
| /// cgroup configuration on the node image. |
| core.String? cgroupMode; |
| |
| /// The Linux kernel parameters to be applied to the nodes and all pods |
| /// running on the nodes. |
| /// |
| /// The following parameters are supported. net.core.busy_poll |
| /// net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max |
| /// net.core.wmem_default net.core.wmem_max net.core.optmem_max |
| /// net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem |
| /// net.ipv4.tcp_tw_reuse |
| core.Map<core.String, core.String>? sysctls; |
| |
| LinuxNodeConfig({ |
| this.cgroupMode, |
| this.sysctls, |
| }); |
| |
| LinuxNodeConfig.fromJson(core.Map json_) |
| : this( |
| cgroupMode: json_.containsKey('cgroupMode') |
| ? json_['cgroupMode'] as core.String |
| : null, |
| sysctls: json_.containsKey('sysctls') |
| ? (json_['sysctls'] as core.Map<core.String, core.dynamic>).map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cgroupMode != null) 'cgroupMode': cgroupMode!, |
| if (sysctls != null) 'sysctls': sysctls!, |
| }; |
| } |
| |
| /// ListClustersResponse is the result of ListClustersRequest. |
| class ListClustersResponse { |
| /// A list of clusters in the project in the specified zone, or across all |
| /// ones. |
| core.List<Cluster>? clusters; |
| |
| /// If any zones are listed here, the list of clusters returned may be missing |
| /// those zones. |
| core.List<core.String>? missingZones; |
| |
| ListClustersResponse({ |
| this.clusters, |
| this.missingZones, |
| }); |
| |
| ListClustersResponse.fromJson(core.Map json_) |
| : this( |
| clusters: json_.containsKey('clusters') |
| ? (json_['clusters'] as core.List) |
| .map((value) => Cluster.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| missingZones: json_.containsKey('missingZones') |
| ? (json_['missingZones'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusters != null) 'clusters': clusters!, |
| if (missingZones != null) 'missingZones': missingZones!, |
| }; |
| } |
| |
| /// ListNodePoolsResponse is the result of ListNodePoolsRequest. |
| class ListNodePoolsResponse { |
| /// A list of node pools for a cluster. |
| core.List<NodePool>? nodePools; |
| |
| ListNodePoolsResponse({ |
| this.nodePools, |
| }); |
| |
| ListNodePoolsResponse.fromJson(core.Map json_) |
| : this( |
| nodePools: json_.containsKey('nodePools') |
| ? (json_['nodePools'] as core.List) |
| .map((value) => NodePool.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nodePools != null) 'nodePools': nodePools!, |
| }; |
| } |
| |
| /// ListOperationsResponse is the result of ListOperationsRequest. |
| class ListOperationsResponse { |
| /// If any zones are listed here, the list of operations returned may be |
| /// missing the operations from those zones. |
| core.List<core.String>? missingZones; |
| |
| /// A list of operations in the project in the specified zone. |
| core.List<Operation>? operations; |
| |
| ListOperationsResponse({ |
| this.missingZones, |
| this.operations, |
| }); |
| |
| ListOperationsResponse.fromJson(core.Map json_) |
| : this( |
| missingZones: json_.containsKey('missingZones') |
| ? (json_['missingZones'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| operations: json_.containsKey('operations') |
| ? (json_['operations'] as core.List) |
| .map((value) => Operation.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (missingZones != null) 'missingZones': missingZones!, |
| if (operations != null) 'operations': operations!, |
| }; |
| } |
| |
| /// ListUsableSubnetworksResponse is the response of |
| /// ListUsableSubnetworksRequest. |
| class ListUsableSubnetworksResponse { |
| /// This token allows you to get the next page of results for list requests. |
| /// |
| /// If the number of results is larger than `page_size`, use the |
| /// `next_page_token` as a value for the query parameter `page_token` in the |
| /// next request. The value will become empty when there are no more pages. |
| core.String? nextPageToken; |
| |
| /// A list of usable subnetworks in the specified network project. |
| core.List<UsableSubnetwork>? subnetworks; |
| |
| ListUsableSubnetworksResponse({ |
| this.nextPageToken, |
| this.subnetworks, |
| }); |
| |
| ListUsableSubnetworksResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_.containsKey('nextPageToken') |
| ? json_['nextPageToken'] as core.String |
| : null, |
| subnetworks: json_.containsKey('subnetworks') |
| ? (json_['subnetworks'] as core.List) |
| .map((value) => UsableSubnetwork.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nextPageToken != null) 'nextPageToken': nextPageToken!, |
| if (subnetworks != null) 'subnetworks': subnetworks!, |
| }; |
| } |
| |
| /// LocalNvmeSsdBlockConfig contains configuration for using raw-block local |
| /// NVMe SSD. |
| class LocalNvmeSsdBlockConfig { |
| /// The number of raw-block local NVMe SSD disks to be attached to the node. |
| /// |
| /// Each local SSD is 375 GB in size. If zero, it means no raw-block local |
| /// NVMe SSD disks to be attached to the node. The limit for this value is |
| /// dependent upon the maximum number of disks available on a machine per |
| /// zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more |
| /// information. |
| core.int? localSsdCount; |
| |
| LocalNvmeSsdBlockConfig({ |
| this.localSsdCount, |
| }); |
| |
| LocalNvmeSsdBlockConfig.fromJson(core.Map json_) |
| : this( |
| localSsdCount: json_.containsKey('localSsdCount') |
| ? json_['localSsdCount'] as core.int |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (localSsdCount != null) 'localSsdCount': localSsdCount!, |
| }; |
| } |
| |
| /// LoggingComponentConfig is cluster logging component configuration. |
| class LoggingComponentConfig { |
| /// Select components to collect logs. |
| /// |
| /// An empty set would disable all logging. |
| core.List<core.String>? enableComponents; |
| |
| LoggingComponentConfig({ |
| this.enableComponents, |
| }); |
| |
| LoggingComponentConfig.fromJson(core.Map json_) |
| : this( |
| enableComponents: json_.containsKey('enableComponents') |
| ? (json_['enableComponents'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enableComponents != null) 'enableComponents': enableComponents!, |
| }; |
| } |
| |
| /// LoggingConfig is cluster logging configuration. |
| class LoggingConfig { |
| /// Logging components configuration |
| LoggingComponentConfig? componentConfig; |
| |
| LoggingConfig({ |
| this.componentConfig, |
| }); |
| |
| LoggingConfig.fromJson(core.Map json_) |
| : this( |
| componentConfig: json_.containsKey('componentConfig') |
| ? LoggingComponentConfig.fromJson(json_['componentConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (componentConfig != null) 'componentConfig': componentConfig!, |
| }; |
| } |
| |
| /// LoggingVariantConfig specifies the behaviour of the logging component. |
| class LoggingVariantConfig { |
| /// Logging variant deployed on nodes. |
| /// Possible string values are: |
| /// - "VARIANT_UNSPECIFIED" : Default value. This shouldn't be used. |
| /// - "DEFAULT" : default logging variant. |
| /// - "MAX_THROUGHPUT" : maximum logging throughput variant. |
| core.String? variant; |
| |
| LoggingVariantConfig({ |
| this.variant, |
| }); |
| |
| LoggingVariantConfig.fromJson(core.Map json_) |
| : this( |
| variant: json_.containsKey('variant') |
| ? json_['variant'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (variant != null) 'variant': variant!, |
| }; |
| } |
| |
| /// Represents the Maintenance exclusion option. |
| class MaintenanceExclusionOptions { |
| /// Scope specifies the upgrade scope which upgrades are blocked by the |
| /// exclusion. |
| /// Possible string values are: |
| /// - "NO_UPGRADES" : NO_UPGRADES excludes all upgrades, including patch |
| /// upgrades and minor upgrades across control planes and nodes. This is the |
| /// default exclusion behavior. |
| /// - "NO_MINOR_UPGRADES" : NO_MINOR_UPGRADES excludes all minor upgrades for |
| /// the cluster, only patches are allowed. |
| /// - "NO_MINOR_OR_NODE_UPGRADES" : NO_MINOR_OR_NODE_UPGRADES excludes all |
| /// minor upgrades for the cluster, and also exclude all node pool upgrades. |
| /// Only control plane patches are allowed. |
| core.String? scope; |
| |
| MaintenanceExclusionOptions({ |
| this.scope, |
| }); |
| |
| MaintenanceExclusionOptions.fromJson(core.Map json_) |
| : this( |
| scope: |
| json_.containsKey('scope') ? json_['scope'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (scope != null) 'scope': scope!, |
| }; |
| } |
| |
| /// MaintenancePolicy defines the maintenance policy to be used for the cluster. |
| class MaintenancePolicy { |
| /// A hash identifying the version of this policy, so that updates to fields |
| /// of the policy won't accidentally undo intermediate changes (and so that |
| /// users of the API unaware of some fields won't accidentally remove other |
| /// fields). |
| /// |
| /// Make a `get()` request to the cluster to get the current resource version |
| /// and include it with requests to set the policy. |
| core.String? resourceVersion; |
| |
| /// Specifies the maintenance window in which maintenance may be performed. |
| MaintenanceWindow? window; |
| |
| MaintenancePolicy({ |
| this.resourceVersion, |
| this.window, |
| }); |
| |
| MaintenancePolicy.fromJson(core.Map json_) |
| : this( |
| resourceVersion: json_.containsKey('resourceVersion') |
| ? json_['resourceVersion'] as core.String |
| : null, |
| window: json_.containsKey('window') |
| ? MaintenanceWindow.fromJson( |
| json_['window'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (resourceVersion != null) 'resourceVersion': resourceVersion!, |
| if (window != null) 'window': window!, |
| }; |
| } |
| |
| /// MaintenanceWindow defines the maintenance window to be used for the cluster. |
| class MaintenanceWindow { |
| /// DailyMaintenanceWindow specifies a daily maintenance operation window. |
| DailyMaintenanceWindow? dailyMaintenanceWindow; |
| |
| /// Exceptions to maintenance window. |
| /// |
| /// Non-emergency maintenance should not occur in these windows. |
| core.Map<core.String, TimeWindow>? maintenanceExclusions; |
| |
| /// RecurringWindow specifies some number of recurring time periods for |
| /// maintenance to occur. |
| /// |
| /// The time windows may be overlapping. If no maintenance windows are set, |
| /// maintenance can occur at any time. |
| RecurringTimeWindow? recurringWindow; |
| |
| MaintenanceWindow({ |
| this.dailyMaintenanceWindow, |
| this.maintenanceExclusions, |
| this.recurringWindow, |
| }); |
| |
| MaintenanceWindow.fromJson(core.Map json_) |
| : this( |
| dailyMaintenanceWindow: json_.containsKey('dailyMaintenanceWindow') |
| ? DailyMaintenanceWindow.fromJson(json_['dailyMaintenanceWindow'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| maintenanceExclusions: json_.containsKey('maintenanceExclusions') |
| ? (json_['maintenanceExclusions'] |
| as core.Map<core.String, core.dynamic>) |
| .map( |
| (key, value) => core.MapEntry( |
| key, |
| TimeWindow.fromJson( |
| value as core.Map<core.String, core.dynamic>), |
| ), |
| ) |
| : null, |
| recurringWindow: json_.containsKey('recurringWindow') |
| ? RecurringTimeWindow.fromJson(json_['recurringWindow'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (dailyMaintenanceWindow != null) |
| 'dailyMaintenanceWindow': dailyMaintenanceWindow!, |
| if (maintenanceExclusions != null) |
| 'maintenanceExclusions': maintenanceExclusions!, |
| if (recurringWindow != null) 'recurringWindow': recurringWindow!, |
| }; |
| } |
| |
| /// ManagedPrometheusConfig defines the configuration for Google Cloud Managed |
| /// Service for Prometheus. |
| class ManagedPrometheusConfig { |
| /// Enable Managed Collection. |
| core.bool? enabled; |
| |
| ManagedPrometheusConfig({ |
| this.enabled, |
| }); |
| |
| ManagedPrometheusConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// The authentication information for accessing the master endpoint. |
| /// |
| /// Authentication can be done using HTTP basic auth or using client |
| /// certificates. |
| class MasterAuth { |
| /// Base64-encoded public certificate used by clients to authenticate to the |
| /// cluster endpoint. |
| /// |
| /// Output only. |
| core.String? clientCertificate; |
| |
| /// Configuration for client certificate authentication on the cluster. |
| /// |
| /// For clusters before v1.12, if no configuration is specified, a client |
| /// certificate is issued. |
| ClientCertificateConfig? clientCertificateConfig; |
| |
| /// Base64-encoded private key used by clients to authenticate to the cluster |
| /// endpoint. |
| /// |
| /// Output only. |
| core.String? clientKey; |
| |
| /// Base64-encoded public certificate that is the root of trust for the |
| /// cluster. |
| /// |
| /// Output only. |
| core.String? clusterCaCertificate; |
| |
| /// The password to use for HTTP basic authentication to the master endpoint. |
| /// |
| /// Because the master endpoint is open to the Internet, you should create a |
| /// strong password. If a password is provided for cluster creation, username |
| /// must be non-empty. Warning: basic authentication is deprecated, and will |
| /// be removed in GKE control plane versions 1.19 and newer. For a list of |
| /// recommended authentication methods, see: |
| /// https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication |
| core.String? password; |
| |
| /// The username to use for HTTP basic authentication to the master endpoint. |
| /// |
| /// For clusters v1.6.0 and later, basic authentication can be disabled by |
| /// leaving username unspecified (or setting it to the empty string). Warning: |
| /// basic authentication is deprecated, and will be removed in GKE control |
| /// plane versions 1.19 and newer. For a list of recommended authentication |
| /// methods, see: |
| /// https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication |
| core.String? username; |
| |
| MasterAuth({ |
| this.clientCertificate, |
| this.clientCertificateConfig, |
| this.clientKey, |
| this.clusterCaCertificate, |
| this.password, |
| this.username, |
| }); |
| |
| MasterAuth.fromJson(core.Map json_) |
| : this( |
| clientCertificate: json_.containsKey('clientCertificate') |
| ? json_['clientCertificate'] as core.String |
| : null, |
| clientCertificateConfig: json_.containsKey('clientCertificateConfig') |
| ? ClientCertificateConfig.fromJson( |
| json_['clientCertificateConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| clientKey: json_.containsKey('clientKey') |
| ? json_['clientKey'] as core.String |
| : null, |
| clusterCaCertificate: json_.containsKey('clusterCaCertificate') |
| ? json_['clusterCaCertificate'] as core.String |
| : null, |
| password: json_.containsKey('password') |
| ? json_['password'] as core.String |
| : null, |
| username: json_.containsKey('username') |
| ? json_['username'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clientCertificate != null) 'clientCertificate': clientCertificate!, |
| if (clientCertificateConfig != null) |
| 'clientCertificateConfig': clientCertificateConfig!, |
| if (clientKey != null) 'clientKey': clientKey!, |
| if (clusterCaCertificate != null) |
| 'clusterCaCertificate': clusterCaCertificate!, |
| if (password != null) 'password': password!, |
| if (username != null) 'username': username!, |
| }; |
| } |
| |
| /// Configuration options for the master authorized networks feature. |
| /// |
| /// Enabled master authorized networks will disallow all external traffic to |
| /// access Kubernetes master through HTTPS except traffic from the given CIDR |
| /// blocks, Google Compute Engine Public IPs and Google Prod IPs. |
| class MasterAuthorizedNetworksConfig { |
| /// cidr_blocks define up to 50 external networks that could access Kubernetes |
| /// master through HTTPS. |
| core.List<CidrBlock>? cidrBlocks; |
| |
| /// Whether or not master authorized networks is enabled. |
| core.bool? enabled; |
| |
| /// Whether master is accessbile via Google Compute Engine Public IP |
| /// addresses. |
| core.bool? gcpPublicCidrsAccessEnabled; |
| |
| MasterAuthorizedNetworksConfig({ |
| this.cidrBlocks, |
| this.enabled, |
| this.gcpPublicCidrsAccessEnabled, |
| }); |
| |
| MasterAuthorizedNetworksConfig.fromJson(core.Map json_) |
| : this( |
| cidrBlocks: json_.containsKey('cidrBlocks') |
| ? (json_['cidrBlocks'] as core.List) |
| .map((value) => CidrBlock.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| gcpPublicCidrsAccessEnabled: |
| json_.containsKey('gcpPublicCidrsAccessEnabled') |
| ? json_['gcpPublicCidrsAccessEnabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cidrBlocks != null) 'cidrBlocks': cidrBlocks!, |
| if (enabled != null) 'enabled': enabled!, |
| if (gcpPublicCidrsAccessEnabled != null) |
| 'gcpPublicCidrsAccessEnabled': gcpPublicCidrsAccessEnabled!, |
| }; |
| } |
| |
| /// Constraints applied to pods. |
| class MaxPodsConstraint { |
| /// Constraint enforced on the max num of pods per node. |
| core.String? maxPodsPerNode; |
| |
| MaxPodsConstraint({ |
| this.maxPodsPerNode, |
| }); |
| |
| MaxPodsConstraint.fromJson(core.Map json_) |
| : this( |
| maxPodsPerNode: json_.containsKey('maxPodsPerNode') |
| ? json_['maxPodsPerNode'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (maxPodsPerNode != null) 'maxPodsPerNode': maxPodsPerNode!, |
| }; |
| } |
| |
| /// Configuration for issuance of mTLS keys and certificates to Kubernetes pods. |
| class MeshCertificates { |
| /// enable_certificates controls issuance of workload mTLS certificates. |
| /// |
| /// If set, the GKE Workload Identity Certificates controller and node agent |
| /// will be deployed in the cluster, which can then be configured by creating |
| /// a WorkloadCertificateConfig Custom Resource. Requires Workload Identity |
| /// (workload_pool must be non-empty). |
| core.bool? enableCertificates; |
| |
| MeshCertificates({ |
| this.enableCertificates, |
| }); |
| |
| MeshCertificates.fromJson(core.Map json_) |
| : this( |
| enableCertificates: json_.containsKey('enableCertificates') |
| ? json_['enableCertificates'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enableCertificates != null) |
| 'enableCertificates': enableCertificates!, |
| }; |
| } |
| |
| /// Progress metric is (string, int|float|string) pair. |
| class Metric { |
| /// For metrics with floating point value. |
| core.double? doubleValue; |
| |
| /// For metrics with integer value. |
| core.String? intValue; |
| |
| /// Metric name, e.g., "nodes total", "percent done". |
| /// |
| /// Required. |
| core.String? name; |
| |
| /// For metrics with custom values (ratios, visual progress, etc.). |
| core.String? stringValue; |
| |
| Metric({ |
| this.doubleValue, |
| this.intValue, |
| this.name, |
| this.stringValue, |
| }); |
| |
| Metric.fromJson(core.Map json_) |
| : this( |
| doubleValue: json_.containsKey('doubleValue') |
| ? (json_['doubleValue'] as core.num).toDouble() |
| : null, |
| intValue: json_.containsKey('intValue') |
| ? json_['intValue'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| stringValue: json_.containsKey('stringValue') |
| ? json_['stringValue'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (doubleValue != null) 'doubleValue': doubleValue!, |
| if (intValue != null) 'intValue': intValue!, |
| if (name != null) 'name': name!, |
| if (stringValue != null) 'stringValue': stringValue!, |
| }; |
| } |
| |
| /// MonitoringComponentConfig is cluster monitoring component configuration. |
| class MonitoringComponentConfig { |
| /// Select components to collect metrics. |
| /// |
| /// An empty set would disable all monitoring. |
| core.List<core.String>? enableComponents; |
| |
| MonitoringComponentConfig({ |
| this.enableComponents, |
| }); |
| |
| MonitoringComponentConfig.fromJson(core.Map json_) |
| : this( |
| enableComponents: json_.containsKey('enableComponents') |
| ? (json_['enableComponents'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enableComponents != null) 'enableComponents': enableComponents!, |
| }; |
| } |
| |
| /// MonitoringConfig is cluster monitoring configuration. |
| class MonitoringConfig { |
| /// Monitoring components configuration |
| MonitoringComponentConfig? componentConfig; |
| |
| /// Enable Google Cloud Managed Service for Prometheus in the cluster. |
| ManagedPrometheusConfig? managedPrometheusConfig; |
| |
| MonitoringConfig({ |
| this.componentConfig, |
| this.managedPrometheusConfig, |
| }); |
| |
| MonitoringConfig.fromJson(core.Map json_) |
| : this( |
| componentConfig: json_.containsKey('componentConfig') |
| ? MonitoringComponentConfig.fromJson(json_['componentConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| managedPrometheusConfig: json_.containsKey('managedPrometheusConfig') |
| ? ManagedPrometheusConfig.fromJson( |
| json_['managedPrometheusConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (componentConfig != null) 'componentConfig': componentConfig!, |
| if (managedPrometheusConfig != null) |
| 'managedPrometheusConfig': managedPrometheusConfig!, |
| }; |
| } |
| |
| /// NetworkConfig reports the relative names of network & subnetwork. |
| class NetworkConfig { |
| /// The desired datapath provider for this cluster. |
| /// |
| /// By default, uses the IPTables-based kube-proxy implementation. |
| /// Possible string values are: |
| /// - "DATAPATH_PROVIDER_UNSPECIFIED" : Default value. |
| /// - "LEGACY_DATAPATH" : Use the IPTables implementation based on kube-proxy. |
| /// - "ADVANCED_DATAPATH" : Use the eBPF based GKE Dataplane V2 with |
| /// additional features. See the |
| /// [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) |
| /// for more. |
| core.String? datapathProvider; |
| |
| /// Whether the cluster disables default in-node sNAT rules. |
| /// |
| /// In-node sNAT rules will be disabled when default_snat_status is disabled. |
| /// When disabled is set to false, default IP masquerade rules will be applied |
| /// to the nodes to prevent sNAT on cluster internal traffic. |
| DefaultSnatStatus? defaultSnatStatus; |
| |
| /// DNSConfig contains clusterDNS config for this cluster. |
| DNSConfig? dnsConfig; |
| |
| /// Whether Intra-node visibility is enabled for this cluster. |
| /// |
| /// This makes same node pod to pod traffic visible for VPC network. |
| core.bool? enableIntraNodeVisibility; |
| |
| /// Whether L4ILB Subsetting is enabled for this cluster. |
| core.bool? enableL4ilbSubsetting; |
| |
| /// GatewayAPIConfig contains the desired config of Gateway API on this |
| /// cluster. |
| GatewayAPIConfig? gatewayApiConfig; |
| |
| /// The relative name of the Google Compute Engine |
| /// network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) |
| /// to which the cluster is connected. |
| /// |
| /// Example: projects/my-project/global/networks/my-network |
| /// |
| /// Output only. |
| core.String? network; |
| |
| /// The desired state of IPv6 connectivity to Google Services. |
| /// |
| /// By default, no private IPv6 access to or from Google Services (all access |
| /// will be via IPv4) |
| /// Possible string values are: |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" : Default value. Same as |
| /// DISABLED |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED" : No private access to or from |
| /// Google Services |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE" : Enables private IPv6 access to |
| /// Google Services from GKE |
| /// - "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" : Enables private IPv6 access |
| /// to and from Google Services |
| core.String? privateIpv6GoogleAccess; |
| |
| /// ServiceExternalIPsConfig specifies if services with externalIPs field are |
| /// blocked or not. |
| ServiceExternalIPsConfig? serviceExternalIpsConfig; |
| |
| /// The relative name of the Google Compute Engine |
| /// [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the |
| /// cluster is connected. |
| /// |
| /// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet |
| /// |
| /// Output only. |
| core.String? subnetwork; |
| |
| NetworkConfig({ |
| this.datapathProvider, |
| this.defaultSnatStatus, |
| this.dnsConfig, |
| this.enableIntraNodeVisibility, |
| this.enableL4ilbSubsetting, |
| this.gatewayApiConfig, |
| this.network, |
| this.privateIpv6GoogleAccess, |
| this.serviceExternalIpsConfig, |
| this.subnetwork, |
| }); |
| |
| NetworkConfig.fromJson(core.Map json_) |
| : this( |
| datapathProvider: json_.containsKey('datapathProvider') |
| ? json_['datapathProvider'] as core.String |
| : null, |
| defaultSnatStatus: json_.containsKey('defaultSnatStatus') |
| ? DefaultSnatStatus.fromJson(json_['defaultSnatStatus'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| dnsConfig: json_.containsKey('dnsConfig') |
| ? DNSConfig.fromJson( |
| json_['dnsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| enableIntraNodeVisibility: |
| json_.containsKey('enableIntraNodeVisibility') |
| ? json_['enableIntraNodeVisibility'] as core.bool |
| : null, |
| enableL4ilbSubsetting: json_.containsKey('enableL4ilbSubsetting') |
| ? json_['enableL4ilbSubsetting'] as core.bool |
| : null, |
| gatewayApiConfig: json_.containsKey('gatewayApiConfig') |
| ? GatewayAPIConfig.fromJson(json_['gatewayApiConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| network: json_.containsKey('network') |
| ? json_['network'] as core.String |
| : null, |
| privateIpv6GoogleAccess: json_.containsKey('privateIpv6GoogleAccess') |
| ? json_['privateIpv6GoogleAccess'] as core.String |
| : null, |
| serviceExternalIpsConfig: |
| json_.containsKey('serviceExternalIpsConfig') |
| ? ServiceExternalIPsConfig.fromJson( |
| json_['serviceExternalIpsConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| subnetwork: json_.containsKey('subnetwork') |
| ? json_['subnetwork'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (datapathProvider != null) 'datapathProvider': datapathProvider!, |
| if (defaultSnatStatus != null) 'defaultSnatStatus': defaultSnatStatus!, |
| if (dnsConfig != null) 'dnsConfig': dnsConfig!, |
| if (enableIntraNodeVisibility != null) |
| 'enableIntraNodeVisibility': enableIntraNodeVisibility!, |
| if (enableL4ilbSubsetting != null) |
| 'enableL4ilbSubsetting': enableL4ilbSubsetting!, |
| if (gatewayApiConfig != null) 'gatewayApiConfig': gatewayApiConfig!, |
| if (network != null) 'network': network!, |
| if (privateIpv6GoogleAccess != null) |
| 'privateIpv6GoogleAccess': privateIpv6GoogleAccess!, |
| if (serviceExternalIpsConfig != null) |
| 'serviceExternalIpsConfig': serviceExternalIpsConfig!, |
| if (subnetwork != null) 'subnetwork': subnetwork!, |
| }; |
| } |
| |
| /// Configuration of all network bandwidth tiers |
| class NetworkPerformanceConfig { |
| /// Specifies the total network bandwidth tier for the NodePool. |
| /// Possible string values are: |
| /// - "TIER_UNSPECIFIED" : Default value |
| /// - "TIER_1" : Higher bandwidth, actual values based on VM size. |
| core.String? totalEgressBandwidthTier; |
| |
| NetworkPerformanceConfig({ |
| this.totalEgressBandwidthTier, |
| }); |
| |
| NetworkPerformanceConfig.fromJson(core.Map json_) |
| : this( |
| totalEgressBandwidthTier: |
| json_.containsKey('totalEgressBandwidthTier') |
| ? json_['totalEgressBandwidthTier'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (totalEgressBandwidthTier != null) |
| 'totalEgressBandwidthTier': totalEgressBandwidthTier!, |
| }; |
| } |
| |
| /// Configuration options for the NetworkPolicy feature. |
| /// |
| /// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ |
| class NetworkPolicy { |
| /// Whether network policy is enabled on the cluster. |
| core.bool? enabled; |
| |
| /// The selected network policy provider. |
| /// Possible string values are: |
| /// - "PROVIDER_UNSPECIFIED" : Not set |
| /// - "CALICO" : Tigera (Calico Felix). |
| core.String? provider; |
| |
| NetworkPolicy({ |
| this.enabled, |
| this.provider, |
| }); |
| |
| NetworkPolicy.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| provider: json_.containsKey('provider') |
| ? json_['provider'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| if (provider != null) 'provider': provider!, |
| }; |
| } |
| |
| /// Configuration for NetworkPolicy. |
| /// |
| /// This only tracks whether the addon is enabled or not on the Master, it does |
| /// not track whether network policy is enabled for the nodes. |
| class NetworkPolicyConfig { |
| /// Whether NetworkPolicy is enabled for this cluster. |
| core.bool? disabled; |
| |
| NetworkPolicyConfig({ |
| this.disabled, |
| }); |
| |
| NetworkPolicyConfig.fromJson(core.Map json_) |
| : this( |
| disabled: json_.containsKey('disabled') |
| ? json_['disabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disabled != null) 'disabled': disabled!, |
| }; |
| } |
| |
| /// Collection of Compute Engine network tags that can be applied to a node's |
| /// underlying VM instance. |
| class NetworkTags { |
| /// List of network tags. |
| core.List<core.String>? tags; |
| |
| NetworkTags({ |
| this.tags, |
| }); |
| |
| NetworkTags.fromJson(core.Map json_) |
| : this( |
| tags: json_.containsKey('tags') |
| ? (json_['tags'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (tags != null) 'tags': tags!, |
| }; |
| } |
| |
| /// Parameters that describe the nodes in a cluster. |
| /// |
| /// GKE Autopilot clusters do not recognize parameters in `NodeConfig`. Use |
| /// AutoprovisioningNodePoolDefaults instead. |
| class NodeConfig { |
| /// A list of hardware accelerators to be attached to each node. |
| /// |
| /// See https://cloud.google.com/compute/docs/gpus for more information about |
| /// support for GPUs. |
| core.List<AcceleratorConfig>? accelerators; |
| |
| /// Advanced features for the Compute Engine VM. |
| AdvancedMachineFeatures? advancedMachineFeatures; |
| |
| /// The Customer Managed Encryption Key used to encrypt the boot disk attached |
| /// to each node in the node pool. |
| /// |
| /// This should be of the form |
| /// projects/\[KEY_PROJECT_ID\]/locations/\[LOCATION\]/keyRings/\[RING_NAME\]/cryptoKeys/\[KEY_NAME\]. |
| /// For more information about protecting resources with Cloud KMS Keys please |
| /// see: |
| /// https://cloud.google.com/compute/docs/disks/customer-managed-encryption |
| core.String? bootDiskKmsKey; |
| |
| /// Confidential nodes config. |
| /// |
| /// All the nodes in the node pool will be Confidential VM once enabled. |
| ConfidentialNodes? confidentialNodes; |
| |
| /// Size of the disk attached to each node, specified in GB. |
| /// |
| /// The smallest allowed disk size is 10GB. If unspecified, the default disk |
| /// size is 100GB. |
| core.int? diskSizeGb; |
| |
| /// Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or |
| /// 'pd-balanced') If unspecified, the default disk type is 'pd-standard' |
| core.String? diskType; |
| |
| /// Parameters for the node ephemeral storage using Local SSDs. |
| /// |
| /// If unspecified, ephemeral storage is backed by the boot disk. |
| EphemeralStorageLocalSsdConfig? ephemeralStorageLocalSsdConfig; |
| |
| /// Enable or disable NCCL fast socket for the node pool. |
| FastSocket? fastSocket; |
| |
| /// Google Container File System (image streaming) configs. |
| GcfsConfig? gcfsConfig; |
| |
| /// Enable or disable gvnic in the node pool. |
| VirtualNIC? gvnic; |
| |
| /// The image type to use for this node. |
| /// |
| /// Note that for a given image type, the latest version of it will be used. |
| /// Please see |
| /// https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for |
| /// available image types. |
| core.String? imageType; |
| |
| /// Node kubelet configs. |
| NodeKubeletConfig? kubeletConfig; |
| |
| /// The map of Kubernetes labels (key/value pairs) to be applied to each node. |
| /// |
| /// These will added in addition to any default label(s) that Kubernetes may |
| /// apply to the node. In case of conflict in label keys, the applied set may |
| /// differ depending on the Kubernetes version -- it's best to assume the |
| /// behavior is undefined and conflicts should be avoided. For more |
| /// information, including usage and the valid values, see: |
| /// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| core.Map<core.String, core.String>? labels; |
| |
| /// Parameters that can be configured on Linux nodes. |
| LinuxNodeConfig? linuxNodeConfig; |
| |
| /// Parameters for using raw-block Local NVMe SSDs. |
| LocalNvmeSsdBlockConfig? localNvmeSsdBlockConfig; |
| |
| /// The number of local SSD disks to be attached to the node. |
| /// |
| /// The limit for this value is dependent upon the maximum number of disks |
| /// available on a machine per zone. See: |
| /// https://cloud.google.com/compute/docs/disks/local-ssd for more |
| /// information. |
| core.int? localSsdCount; |
| |
| /// Logging configuration. |
| NodePoolLoggingConfig? loggingConfig; |
| |
| /// The name of a Google Compute Engine |
| /// [machine type](https://cloud.google.com/compute/docs/machine-types) If |
| /// unspecified, the default machine type is `e2-medium`. |
| core.String? machineType; |
| |
| /// The metadata key/value pairs assigned to instances in the cluster. |
| /// |
| /// Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 |
| /// bytes in length. These are reflected as part of a URL in the metadata |
| /// server. Additionally, to avoid ambiguity, keys must not conflict with any |
| /// other metadata keys for the project or be one of the reserved keys: - |
| /// "cluster-location" - "cluster-name" - "cluster-uid" - "configure-sh" - |
| /// "containerd-configure-sh" - "enable-os-login" - "gci-ensure-gke-docker" - |
| /// "gci-metrics-enabled" - "gci-update-strategy" - "instance-template" - |
| /// "kube-env" - "startup-script" - "user-data" - "disable-address-manager" - |
| /// "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1" - |
| /// "install-ssh-psm1" - "user-profile-psm1" Values are free-form strings, and |
| /// only have meaning as interpreted by the image running in the instance. The |
| /// only restriction placed on them is that each value's size must be less |
| /// than or equal to 32 KB. The total size of all keys and values must be less |
| /// than 512 KB. |
| core.Map<core.String, core.String>? metadata; |
| |
| /// Minimum CPU platform to be used by this instance. |
| /// |
| /// The instance may be scheduled on the specified or newer CPU platform. |
| /// Applicable values are the friendly names of CPU platforms, such as |
| /// `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy |
| /// Bridge"`. For more information, read |
| /// [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) |
| core.String? minCpuPlatform; |
| |
| /// Setting this field will assign instances of this pool to run on the |
| /// specified node group. |
| /// |
| /// This is useful for running workloads on |
| /// [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). |
| core.String? nodeGroup; |
| |
| /// The set of Google API scopes to be made available on all of the node VMs |
| /// under the "default" service account. |
| /// |
| /// The following scopes are recommended, but not required, and by default are |
| /// not included: * `https://www.googleapis.com/auth/compute` is required for |
| /// mounting persistent storage on your nodes. * |
| /// `https://www.googleapis.com/auth/devstorage.read_only` is required for |
| /// communicating with **gcr.io** (the |
| /// [Google Container Registry](https://cloud.google.com/container-registry/)). |
| /// If unspecified, no scopes are added, unless Cloud Logging or Cloud |
| /// Monitoring are enabled, in which case their required scopes will be added. |
| core.List<core.String>? oauthScopes; |
| |
| /// Whether the nodes are created as preemptible VM instances. |
| /// |
| /// See: https://cloud.google.com/compute/docs/instances/preemptible for more |
| /// information about preemptible VM instances. |
| core.bool? preemptible; |
| |
| /// The optional reservation affinity. |
| /// |
| /// Setting this field will apply the specified |
| /// [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) |
| /// to this node pool. |
| ReservationAffinity? reservationAffinity; |
| |
| /// The resource labels for the node pool to use to annotate any related |
| /// Google Compute Engine resources. |
| core.Map<core.String, core.String>? resourceLabels; |
| |
| /// Sandbox configuration for this node. |
| SandboxConfig? sandboxConfig; |
| |
| /// The Google Cloud Platform Service Account to be used by the node VMs. |
| /// |
| /// Specify the email address of the Service Account; otherwise, if no Service |
| /// Account is specified, the "default" service account is used. |
| core.String? serviceAccount; |
| |
| /// Shielded Instance options. |
| ShieldedInstanceConfig? shieldedInstanceConfig; |
| |
| /// Spot flag for enabling Spot VM, which is a rebrand of the existing |
| /// preemptible flag. |
| core.bool? spot; |
| |
| /// The list of instance tags applied to all nodes. |
| /// |
| /// Tags are used to identify valid sources or targets for network firewalls |
| /// and are specified by the client during cluster or node pool creation. Each |
| /// tag within the list must comply with RFC1035. |
| core.List<core.String>? tags; |
| |
| /// List of kubernetes taints to be applied to each node. |
| /// |
| /// For more information, including usage and the valid values, see: |
| /// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |
| core.List<NodeTaint>? taints; |
| |
| /// Parameters that can be configured on Windows nodes. |
| WindowsNodeConfig? windowsNodeConfig; |
| |
| /// The workload metadata configuration for this node. |
| WorkloadMetadataConfig? workloadMetadataConfig; |
| |
| NodeConfig({ |
| this.accelerators, |
| this.advancedMachineFeatures, |
| this.bootDiskKmsKey, |
| this.confidentialNodes, |
| this.diskSizeGb, |
| this.diskType, |
| this.ephemeralStorageLocalSsdConfig, |
| this.fastSocket, |
| this.gcfsConfig, |
| this.gvnic, |
| this.imageType, |
| this.kubeletConfig, |
| this.labels, |
| this.linuxNodeConfig, |
| this.localNvmeSsdBlockConfig, |
| this.localSsdCount, |
| this.loggingConfig, |
| this.machineType, |
| this.metadata, |
| this.minCpuPlatform, |
| this.nodeGroup, |
| this.oauthScopes, |
| this.preemptible, |
| this.reservationAffinity, |
| this.resourceLabels, |
| this.sandboxConfig, |
| this.serviceAccount, |
| this.shieldedInstanceConfig, |
| this.spot, |
| this.tags, |
| this.taints, |
| this.windowsNodeConfig, |
| this.workloadMetadataConfig, |
| }); |
| |
| NodeConfig.fromJson(core.Map json_) |
| : this( |
| accelerators: json_.containsKey('accelerators') |
| ? (json_['accelerators'] as core.List) |
| .map((value) => AcceleratorConfig.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| advancedMachineFeatures: json_.containsKey('advancedMachineFeatures') |
| ? AdvancedMachineFeatures.fromJson( |
| json_['advancedMachineFeatures'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| bootDiskKmsKey: json_.containsKey('bootDiskKmsKey') |
| ? json_['bootDiskKmsKey'] as core.String |
| : null, |
| confidentialNodes: json_.containsKey('confidentialNodes') |
| ? ConfidentialNodes.fromJson(json_['confidentialNodes'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| diskSizeGb: json_.containsKey('diskSizeGb') |
| ? json_['diskSizeGb'] as core.int |
| : null, |
| diskType: json_.containsKey('diskType') |
| ? json_['diskType'] as core.String |
| : null, |
| ephemeralStorageLocalSsdConfig: |
| json_.containsKey('ephemeralStorageLocalSsdConfig') |
| ? EphemeralStorageLocalSsdConfig.fromJson( |
| json_['ephemeralStorageLocalSsdConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| fastSocket: json_.containsKey('fastSocket') |
| ? FastSocket.fromJson( |
| json_['fastSocket'] as core.Map<core.String, core.dynamic>) |
| : null, |
| gcfsConfig: json_.containsKey('gcfsConfig') |
| ? GcfsConfig.fromJson( |
| json_['gcfsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| gvnic: json_.containsKey('gvnic') |
| ? VirtualNIC.fromJson( |
| json_['gvnic'] as core.Map<core.String, core.dynamic>) |
| : null, |
| imageType: json_.containsKey('imageType') |
| ? json_['imageType'] as core.String |
| : null, |
| kubeletConfig: json_.containsKey('kubeletConfig') |
| ? NodeKubeletConfig.fromJson( |
| json_['kubeletConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| labels: json_.containsKey('labels') |
| ? (json_['labels'] as core.Map<core.String, core.dynamic>).map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| linuxNodeConfig: json_.containsKey('linuxNodeConfig') |
| ? LinuxNodeConfig.fromJson(json_['linuxNodeConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| localNvmeSsdBlockConfig: json_.containsKey('localNvmeSsdBlockConfig') |
| ? LocalNvmeSsdBlockConfig.fromJson( |
| json_['localNvmeSsdBlockConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| localSsdCount: json_.containsKey('localSsdCount') |
| ? json_['localSsdCount'] as core.int |
| : null, |
| loggingConfig: json_.containsKey('loggingConfig') |
| ? NodePoolLoggingConfig.fromJson( |
| json_['loggingConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| machineType: json_.containsKey('machineType') |
| ? json_['machineType'] as core.String |
| : null, |
| metadata: json_.containsKey('metadata') |
| ? (json_['metadata'] as core.Map<core.String, core.dynamic>).map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| minCpuPlatform: json_.containsKey('minCpuPlatform') |
| ? json_['minCpuPlatform'] as core.String |
| : null, |
| nodeGroup: json_.containsKey('nodeGroup') |
| ? json_['nodeGroup'] as core.String |
| : null, |
| oauthScopes: json_.containsKey('oauthScopes') |
| ? (json_['oauthScopes'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| preemptible: json_.containsKey('preemptible') |
| ? json_['preemptible'] as core.bool |
| : null, |
| reservationAffinity: json_.containsKey('reservationAffinity') |
| ? ReservationAffinity.fromJson(json_['reservationAffinity'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| resourceLabels: json_.containsKey('resourceLabels') |
| ? (json_['resourceLabels'] as core.Map<core.String, core.dynamic>) |
| .map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| sandboxConfig: json_.containsKey('sandboxConfig') |
| ? SandboxConfig.fromJson( |
| json_['sandboxConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| serviceAccount: json_.containsKey('serviceAccount') |
| ? json_['serviceAccount'] as core.String |
| : null, |
| shieldedInstanceConfig: json_.containsKey('shieldedInstanceConfig') |
| ? ShieldedInstanceConfig.fromJson(json_['shieldedInstanceConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| spot: json_.containsKey('spot') ? json_['spot'] as core.bool : null, |
| tags: json_.containsKey('tags') |
| ? (json_['tags'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| taints: json_.containsKey('taints') |
| ? (json_['taints'] as core.List) |
| .map((value) => NodeTaint.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| windowsNodeConfig: json_.containsKey('windowsNodeConfig') |
| ? WindowsNodeConfig.fromJson(json_['windowsNodeConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| workloadMetadataConfig: json_.containsKey('workloadMetadataConfig') |
| ? WorkloadMetadataConfig.fromJson(json_['workloadMetadataConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (accelerators != null) 'accelerators': accelerators!, |
| if (advancedMachineFeatures != null) |
| 'advancedMachineFeatures': advancedMachineFeatures!, |
| if (bootDiskKmsKey != null) 'bootDiskKmsKey': bootDiskKmsKey!, |
| if (confidentialNodes != null) 'confidentialNodes': confidentialNodes!, |
| if (diskSizeGb != null) 'diskSizeGb': diskSizeGb!, |
| if (diskType != null) 'diskType': diskType!, |
| if (ephemeralStorageLocalSsdConfig != null) |
| 'ephemeralStorageLocalSsdConfig': ephemeralStorageLocalSsdConfig!, |
| if (fastSocket != null) 'fastSocket': fastSocket!, |
| if (gcfsConfig != null) 'gcfsConfig': gcfsConfig!, |
| if (gvnic != null) 'gvnic': gvnic!, |
| if (imageType != null) 'imageType': imageType!, |
| if (kubeletConfig != null) 'kubeletConfig': kubeletConfig!, |
| if (labels != null) 'labels': labels!, |
| if (linuxNodeConfig != null) 'linuxNodeConfig': linuxNodeConfig!, |
| if (localNvmeSsdBlockConfig != null) |
| 'localNvmeSsdBlockConfig': localNvmeSsdBlockConfig!, |
| if (localSsdCount != null) 'localSsdCount': localSsdCount!, |
| if (loggingConfig != null) 'loggingConfig': loggingConfig!, |
| if (machineType != null) 'machineType': machineType!, |
| if (metadata != null) 'metadata': metadata!, |
| if (minCpuPlatform != null) 'minCpuPlatform': minCpuPlatform!, |
| if (nodeGroup != null) 'nodeGroup': nodeGroup!, |
| if (oauthScopes != null) 'oauthScopes': oauthScopes!, |
| if (preemptible != null) 'preemptible': preemptible!, |
| if (reservationAffinity != null) |
| 'reservationAffinity': reservationAffinity!, |
| if (resourceLabels != null) 'resourceLabels': resourceLabels!, |
| if (sandboxConfig != null) 'sandboxConfig': sandboxConfig!, |
| if (serviceAccount != null) 'serviceAccount': serviceAccount!, |
| if (shieldedInstanceConfig != null) |
| 'shieldedInstanceConfig': shieldedInstanceConfig!, |
| if (spot != null) 'spot': spot!, |
| if (tags != null) 'tags': tags!, |
| if (taints != null) 'taints': taints!, |
| if (windowsNodeConfig != null) 'windowsNodeConfig': windowsNodeConfig!, |
| if (workloadMetadataConfig != null) |
| 'workloadMetadataConfig': workloadMetadataConfig!, |
| }; |
| } |
| |
| /// Subset of NodeConfig message that has defaults. |
| class NodeConfigDefaults { |
| /// GCFS (Google Container File System, also known as Riptide) options. |
| GcfsConfig? gcfsConfig; |
| |
| /// Logging configuration for node pools. |
| NodePoolLoggingConfig? loggingConfig; |
| |
| NodeConfigDefaults({ |
| this.gcfsConfig, |
| this.loggingConfig, |
| }); |
| |
| NodeConfigDefaults.fromJson(core.Map json_) |
| : this( |
| gcfsConfig: json_.containsKey('gcfsConfig') |
| ? GcfsConfig.fromJson( |
| json_['gcfsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| loggingConfig: json_.containsKey('loggingConfig') |
| ? NodePoolLoggingConfig.fromJson( |
| json_['loggingConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (gcfsConfig != null) 'gcfsConfig': gcfsConfig!, |
| if (loggingConfig != null) 'loggingConfig': loggingConfig!, |
| }; |
| } |
| |
| /// Node kubelet configs. |
| class NodeKubeletConfig { |
| /// Enable CPU CFS quota enforcement for containers that specify CPU limits. |
| /// |
| /// This option is enabled by default which makes kubelet use CFS quota |
| /// (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to |
| /// enforce container CPU limits. Otherwise, CPU limits will not be enforced |
| /// at all. Disable this option to mitigate CPU throttling problems while |
| /// still having your pods to be in Guaranteed QoS class by specifying the CPU |
| /// limits. The default value is 'true' if unspecified. |
| core.bool? cpuCfsQuota; |
| |
| /// Set the CPU CFS quota period value 'cpu.cfs_period_us'. |
| /// |
| /// The string must be a sequence of decimal numbers, each with optional |
| /// fraction and a unit suffix, such as "300ms". Valid time units are "ns", |
| /// "us" (or "µs"), "ms", "s", "m", "h". The value must be a positive |
| /// duration. |
| core.String? cpuCfsQuotaPeriod; |
| |
| /// Control the CPU management policy on the node. |
| /// |
| /// See |
| /// https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ |
| /// The following values are allowed. * "none": the default, which represents |
| /// the existing scheduling behavior. * "static": allows pods with certain |
| /// resource characteristics to be granted increased CPU affinity and |
| /// exclusivity on the node. The default value is 'none' if unspecified. |
| core.String? cpuManagerPolicy; |
| |
| /// Set the Pod PID limits. |
| /// |
| /// See |
| /// https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits |
| /// Controls the maximum number of processes allowed to run in a pod. The |
| /// value must be greater than or equal to 1024 and less than 4194304. |
| core.String? podPidsLimit; |
| |
| NodeKubeletConfig({ |
| this.cpuCfsQuota, |
| this.cpuCfsQuotaPeriod, |
| this.cpuManagerPolicy, |
| this.podPidsLimit, |
| }); |
| |
| NodeKubeletConfig.fromJson(core.Map json_) |
| : this( |
| cpuCfsQuota: json_.containsKey('cpuCfsQuota') |
| ? json_['cpuCfsQuota'] as core.bool |
| : null, |
| cpuCfsQuotaPeriod: json_.containsKey('cpuCfsQuotaPeriod') |
| ? json_['cpuCfsQuotaPeriod'] as core.String |
| : null, |
| cpuManagerPolicy: json_.containsKey('cpuManagerPolicy') |
| ? json_['cpuManagerPolicy'] as core.String |
| : null, |
| podPidsLimit: json_.containsKey('podPidsLimit') |
| ? json_['podPidsLimit'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (cpuCfsQuota != null) 'cpuCfsQuota': cpuCfsQuota!, |
| if (cpuCfsQuotaPeriod != null) 'cpuCfsQuotaPeriod': cpuCfsQuotaPeriod!, |
| if (cpuManagerPolicy != null) 'cpuManagerPolicy': cpuManagerPolicy!, |
| if (podPidsLimit != null) 'podPidsLimit': podPidsLimit!, |
| }; |
| } |
| |
| /// Collection of node-level |
| /// [Kubernetes labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels). |
| typedef NodeLabels = $Labels; |
| |
| /// NodeManagement defines the set of node management services turned on for the |
| /// node pool. |
| class NodeManagement { |
| /// A flag that specifies whether the node auto-repair is enabled for the node |
| /// pool. |
| /// |
| /// If enabled, the nodes in this node pool will be monitored and, if they |
| /// fail health checks too many times, an automatic repair action will be |
| /// triggered. |
| core.bool? autoRepair; |
| |
| /// A flag that specifies whether node auto-upgrade is enabled for the node |
| /// pool. |
| /// |
| /// If enabled, node auto-upgrade helps keep the nodes in your node pool up to |
| /// date with the latest release version of Kubernetes. |
| core.bool? autoUpgrade; |
| |
| /// Specifies the Auto Upgrade knobs for the node pool. |
| AutoUpgradeOptions? upgradeOptions; |
| |
| NodeManagement({ |
| this.autoRepair, |
| this.autoUpgrade, |
| this.upgradeOptions, |
| }); |
| |
| NodeManagement.fromJson(core.Map json_) |
| : this( |
| autoRepair: json_.containsKey('autoRepair') |
| ? json_['autoRepair'] as core.bool |
| : null, |
| autoUpgrade: json_.containsKey('autoUpgrade') |
| ? json_['autoUpgrade'] as core.bool |
| : null, |
| upgradeOptions: json_.containsKey('upgradeOptions') |
| ? AutoUpgradeOptions.fromJson(json_['upgradeOptions'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoRepair != null) 'autoRepair': autoRepair!, |
| if (autoUpgrade != null) 'autoUpgrade': autoUpgrade!, |
| if (upgradeOptions != null) 'upgradeOptions': upgradeOptions!, |
| }; |
| } |
| |
| /// Parameters for node pool-level network config. |
| class NodeNetworkConfig { |
| /// Input only. |
| /// |
| /// Whether to create a new range for pod IPs in this node pool. Defaults are |
| /// provided for `pod_range` and `pod_ipv4_cidr_block` if they are not |
| /// specified. If neither `create_pod_range` or `pod_range` are specified, the |
| /// cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is |
| /// used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. |
| /// This field cannot be changed after the node pool has been created. |
| core.bool? createPodRange; |
| |
| /// Whether nodes have internal IP addresses only. |
| /// |
| /// If enable_private_nodes is not specified, then the value is derived from |
| /// cluster.privateClusterConfig.enablePrivateNodes |
| core.bool? enablePrivateNodes; |
| |
| /// Network bandwidth tier configuration. |
| NetworkPerformanceConfig? networkPerformanceConfig; |
| |
| /// \[PRIVATE FIELD\] Pod CIDR size overprovisioning config for the nodepool. |
| /// |
| /// Pod CIDR size per node depends on max_pods_per_node. By default, the value |
| /// of max_pods_per_node is rounded off to next power of 2 and we then double |
| /// that to get the size of pod CIDR block per node. Example: |
| /// max_pods_per_node of 30 would result in 64 IPs (/26). This config can |
| /// disable the doubling of IPs (we still round off to next power of 2) |
| /// Example: max_pods_per_node of 30 will result in 32 IPs (/27) when |
| /// overprovisioning is disabled. |
| PodCIDROverprovisionConfig? podCidrOverprovisionConfig; |
| |
| /// The IP address range for pod IPs in this node pool. |
| /// |
| /// Only applicable if `create_pod_range` is true. Set to blank to have a |
| /// range chosen with the default size. Set to /netmask (e.g. `/14`) to have a |
| /// range chosen with a specific netmask. Set to a |
| /// [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) |
| /// notation (e.g. `10.96.0.0/14`) to pick a specific range to use. Only |
| /// applicable if `ip_allocation_policy.use_ip_aliases` is true. This field |
| /// cannot be changed after the node pool has been created. |
| core.String? podIpv4CidrBlock; |
| |
| /// The ID of the secondary range for pod IPs. |
| /// |
| /// If `create_pod_range` is true, this ID is used for the new range. If |
| /// `create_pod_range` is false, uses an existing secondary range with this |
| /// ID. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This |
| /// field cannot be changed after the node pool has been created. |
| core.String? podRange; |
| |
| NodeNetworkConfig({ |
| this.createPodRange, |
| this.enablePrivateNodes, |
| this.networkPerformanceConfig, |
| this.podCidrOverprovisionConfig, |
| this.podIpv4CidrBlock, |
| this.podRange, |
| }); |
| |
| NodeNetworkConfig.fromJson(core.Map json_) |
| : this( |
| createPodRange: json_.containsKey('createPodRange') |
| ? json_['createPodRange'] as core.bool |
| : null, |
| enablePrivateNodes: json_.containsKey('enablePrivateNodes') |
| ? json_['enablePrivateNodes'] as core.bool |
| : null, |
| networkPerformanceConfig: |
| json_.containsKey('networkPerformanceConfig') |
| ? NetworkPerformanceConfig.fromJson( |
| json_['networkPerformanceConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| podCidrOverprovisionConfig: |
| json_.containsKey('podCidrOverprovisionConfig') |
| ? PodCIDROverprovisionConfig.fromJson( |
| json_['podCidrOverprovisionConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| podIpv4CidrBlock: json_.containsKey('podIpv4CidrBlock') |
| ? json_['podIpv4CidrBlock'] as core.String |
| : null, |
| podRange: json_.containsKey('podRange') |
| ? json_['podRange'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (createPodRange != null) 'createPodRange': createPodRange!, |
| if (enablePrivateNodes != null) |
| 'enablePrivateNodes': enablePrivateNodes!, |
| if (networkPerformanceConfig != null) |
| 'networkPerformanceConfig': networkPerformanceConfig!, |
| if (podCidrOverprovisionConfig != null) |
| 'podCidrOverprovisionConfig': podCidrOverprovisionConfig!, |
| if (podIpv4CidrBlock != null) 'podIpv4CidrBlock': podIpv4CidrBlock!, |
| if (podRange != null) 'podRange': podRange!, |
| }; |
| } |
| |
| /// NodePool contains the name and configuration for a cluster's node pool. |
| /// |
| /// Node pools are a set of nodes (i.e. VM's), with a common configuration and |
| /// specification, under the control of the cluster master. They may have a set |
| /// of Kubernetes labels applied to them, which may be used to reference them |
| /// during pod scheduling. They may also be resized up or down, to accommodate |
| /// the workload. |
| class NodePool { |
| /// Autoscaler configuration for this NodePool. |
| /// |
| /// Autoscaler is enabled only if a valid configuration is present. |
| NodePoolAutoscaling? autoscaling; |
| |
| /// Which conditions caused the current node pool state. |
| core.List<StatusCondition>? conditions; |
| |
| /// The node configuration of the pool. |
| NodeConfig? config; |
| |
| /// This checksum is computed by the server based on the value of node pool |
| /// fields, and may be sent on update requests to ensure the client has an |
| /// up-to-date value before proceeding. |
| core.String? etag; |
| |
| /// The initial node count for the pool. |
| /// |
| /// You must ensure that your Compute Engine |
| /// [resource quota](https://cloud.google.com/compute/quotas) is sufficient |
| /// for this number of instances. You must also have available firewall and |
| /// routes quota. |
| core.int? initialNodeCount; |
| |
| /// The resource URLs of the |
| /// [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) |
| /// associated with this node pool. |
| /// |
| /// During the node pool blue-green upgrade operation, the URLs contain both |
| /// blue and green resources. |
| /// |
| /// Output only. |
| core.List<core.String>? instanceGroupUrls; |
| |
| /// The list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the NodePool's nodes should be located. |
| /// |
| /// If this value is unspecified during node pool creation, the |
| /// [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) |
| /// value will be used, instead. Warning: changing node pool locations will |
| /// result in nodes being added and/or removed. |
| core.List<core.String>? locations; |
| |
| /// NodeManagement configuration for this NodePool. |
| NodeManagement? management; |
| |
| /// The constraint on the maximum number of pods that can be run |
| /// simultaneously on a node in the node pool. |
| MaxPodsConstraint? maxPodsConstraint; |
| |
| /// The name of the node pool. |
| core.String? name; |
| |
| /// Networking configuration for this NodePool. |
| /// |
| /// If specified, it overrides the cluster-level defaults. |
| NodeNetworkConfig? networkConfig; |
| |
| /// Specifies the node placement policy. |
| PlacementPolicy? placementPolicy; |
| |
| /// The pod CIDR block size per node in this node pool. |
| /// |
| /// Output only. |
| core.int? podIpv4CidrSize; |
| |
| /// Server-defined URL for the resource. |
| /// |
| /// Output only. |
| core.String? selfLink; |
| |
| /// The status of the nodes in this pool instance. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Not set. |
| /// - "PROVISIONING" : The PROVISIONING state indicates the node pool is being |
| /// created. |
| /// - "RUNNING" : The RUNNING state indicates the node pool has been created |
| /// and is fully usable. |
| /// - "RUNNING_WITH_ERROR" : The RUNNING_WITH_ERROR state indicates the node |
| /// pool has been created and is partially usable. Some error state has |
| /// occurred and some functionality may be impaired. Customer may need to |
| /// reissue a request or trigger a new update. |
| /// - "RECONCILING" : The RECONCILING state indicates that some work is |
| /// actively being done on the node pool, such as upgrading node software. |
| /// Details can be found in the `statusMessage` field. |
| /// - "STOPPING" : The STOPPING state indicates the node pool is being |
| /// deleted. |
| /// - "ERROR" : The ERROR state indicates the node pool may be unusable. |
| /// Details can be found in the `statusMessage` field. |
| core.String? status; |
| |
| /// Use conditions instead. |
| /// |
| /// Additional information about the current status of this node pool |
| /// instance, if available. |
| /// |
| /// Output only. Deprecated. |
| core.String? statusMessage; |
| |
| /// Update info contains relevant information during a node pool update. |
| /// |
| /// Output only. |
| UpdateInfo? updateInfo; |
| |
| /// Upgrade settings control disruption and speed of the upgrade. |
| UpgradeSettings? upgradeSettings; |
| |
| /// The version of Kubernetes running on this NodePool's nodes. |
| /// |
| /// If unspecified, it defaults as described |
| /// [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version). |
| core.String? version; |
| |
| NodePool({ |
| this.autoscaling, |
| this.conditions, |
| this.config, |
| this.etag, |
| this.initialNodeCount, |
| this.instanceGroupUrls, |
| this.locations, |
| this.management, |
| this.maxPodsConstraint, |
| this.name, |
| this.networkConfig, |
| this.placementPolicy, |
| this.podIpv4CidrSize, |
| this.selfLink, |
| this.status, |
| this.statusMessage, |
| this.updateInfo, |
| this.upgradeSettings, |
| this.version, |
| }); |
| |
| NodePool.fromJson(core.Map json_) |
| : this( |
| autoscaling: json_.containsKey('autoscaling') |
| ? NodePoolAutoscaling.fromJson( |
| json_['autoscaling'] as core.Map<core.String, core.dynamic>) |
| : null, |
| conditions: json_.containsKey('conditions') |
| ? (json_['conditions'] as core.List) |
| .map((value) => StatusCondition.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| config: json_.containsKey('config') |
| ? NodeConfig.fromJson( |
| json_['config'] as core.Map<core.String, core.dynamic>) |
| : null, |
| etag: json_.containsKey('etag') ? json_['etag'] as core.String : null, |
| initialNodeCount: json_.containsKey('initialNodeCount') |
| ? json_['initialNodeCount'] as core.int |
| : null, |
| instanceGroupUrls: json_.containsKey('instanceGroupUrls') |
| ? (json_['instanceGroupUrls'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| locations: json_.containsKey('locations') |
| ? (json_['locations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| management: json_.containsKey('management') |
| ? NodeManagement.fromJson( |
| json_['management'] as core.Map<core.String, core.dynamic>) |
| : null, |
| maxPodsConstraint: json_.containsKey('maxPodsConstraint') |
| ? MaxPodsConstraint.fromJson(json_['maxPodsConstraint'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| networkConfig: json_.containsKey('networkConfig') |
| ? NodeNetworkConfig.fromJson( |
| json_['networkConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| placementPolicy: json_.containsKey('placementPolicy') |
| ? PlacementPolicy.fromJson(json_['placementPolicy'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| podIpv4CidrSize: json_.containsKey('podIpv4CidrSize') |
| ? json_['podIpv4CidrSize'] as core.int |
| : null, |
| selfLink: json_.containsKey('selfLink') |
| ? json_['selfLink'] as core.String |
| : null, |
| status: json_.containsKey('status') |
| ? json_['status'] as core.String |
| : null, |
| statusMessage: json_.containsKey('statusMessage') |
| ? json_['statusMessage'] as core.String |
| : null, |
| updateInfo: json_.containsKey('updateInfo') |
| ? UpdateInfo.fromJson( |
| json_['updateInfo'] as core.Map<core.String, core.dynamic>) |
| : null, |
| upgradeSettings: json_.containsKey('upgradeSettings') |
| ? UpgradeSettings.fromJson(json_['upgradeSettings'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| version: json_.containsKey('version') |
| ? json_['version'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoscaling != null) 'autoscaling': autoscaling!, |
| if (conditions != null) 'conditions': conditions!, |
| if (config != null) 'config': config!, |
| if (etag != null) 'etag': etag!, |
| if (initialNodeCount != null) 'initialNodeCount': initialNodeCount!, |
| if (instanceGroupUrls != null) 'instanceGroupUrls': instanceGroupUrls!, |
| if (locations != null) 'locations': locations!, |
| if (management != null) 'management': management!, |
| if (maxPodsConstraint != null) 'maxPodsConstraint': maxPodsConstraint!, |
| if (name != null) 'name': name!, |
| if (networkConfig != null) 'networkConfig': networkConfig!, |
| if (placementPolicy != null) 'placementPolicy': placementPolicy!, |
| if (podIpv4CidrSize != null) 'podIpv4CidrSize': podIpv4CidrSize!, |
| if (selfLink != null) 'selfLink': selfLink!, |
| if (status != null) 'status': status!, |
| if (statusMessage != null) 'statusMessage': statusMessage!, |
| if (updateInfo != null) 'updateInfo': updateInfo!, |
| if (upgradeSettings != null) 'upgradeSettings': upgradeSettings!, |
| if (version != null) 'version': version!, |
| }; |
| } |
| |
| /// Node pool configs that apply to all auto-provisioned node pools in autopilot |
| /// clusters and node auto-provisioning enabled clusters. |
| class NodePoolAutoConfig { |
| /// The list of instance tags applied to all nodes. |
| /// |
| /// Tags are used to identify valid sources or targets for network firewalls |
| /// and are specified by the client during cluster creation. Each tag within |
| /// the list must comply with RFC1035. |
| NetworkTags? networkTags; |
| |
| NodePoolAutoConfig({ |
| this.networkTags, |
| }); |
| |
| NodePoolAutoConfig.fromJson(core.Map json_) |
| : this( |
| networkTags: json_.containsKey('networkTags') |
| ? NetworkTags.fromJson( |
| json_['networkTags'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (networkTags != null) 'networkTags': networkTags!, |
| }; |
| } |
| |
| /// NodePoolAutoscaling contains information required by cluster autoscaler to |
| /// adjust the size of the node pool to the current cluster usage. |
| class NodePoolAutoscaling { |
| /// Can this node pool be deleted automatically. |
| core.bool? autoprovisioned; |
| |
| /// Is autoscaling enabled for this node pool. |
| core.bool? enabled; |
| |
| /// Location policy used when scaling up a nodepool. |
| /// Possible string values are: |
| /// - "LOCATION_POLICY_UNSPECIFIED" : Not set. |
| /// - "BALANCED" : BALANCED is a best effort policy that aims to balance the |
| /// sizes of different zones. |
| /// - "ANY" : ANY policy picks zones that have the highest capacity available. |
| core.String? locationPolicy; |
| |
| /// Maximum number of nodes for one location in the NodePool. |
| /// |
| /// Must be \>= min_node_count. There has to be enough quota to scale up the |
| /// cluster. |
| core.int? maxNodeCount; |
| |
| /// Minimum number of nodes for one location in the NodePool. |
| /// |
| /// Must be \>= 1 and \<= max_node_count. |
| core.int? minNodeCount; |
| |
| /// Maximum number of nodes in the node pool. |
| /// |
| /// Must be greater than total_min_node_count. There has to be enough quota to |
| /// scale up the cluster. The total_*_node_count fields are mutually exclusive |
| /// with the *_node_count fields. |
| core.int? totalMaxNodeCount; |
| |
| /// Minimum number of nodes in the node pool. |
| /// |
| /// Must be greater than 1 less than total_max_node_count. The |
| /// total_*_node_count fields are mutually exclusive with the *_node_count |
| /// fields. |
| core.int? totalMinNodeCount; |
| |
| NodePoolAutoscaling({ |
| this.autoprovisioned, |
| this.enabled, |
| this.locationPolicy, |
| this.maxNodeCount, |
| this.minNodeCount, |
| this.totalMaxNodeCount, |
| this.totalMinNodeCount, |
| }); |
| |
| NodePoolAutoscaling.fromJson(core.Map json_) |
| : this( |
| autoprovisioned: json_.containsKey('autoprovisioned') |
| ? json_['autoprovisioned'] as core.bool |
| : null, |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| locationPolicy: json_.containsKey('locationPolicy') |
| ? json_['locationPolicy'] as core.String |
| : null, |
| maxNodeCount: json_.containsKey('maxNodeCount') |
| ? json_['maxNodeCount'] as core.int |
| : null, |
| minNodeCount: json_.containsKey('minNodeCount') |
| ? json_['minNodeCount'] as core.int |
| : null, |
| totalMaxNodeCount: json_.containsKey('totalMaxNodeCount') |
| ? json_['totalMaxNodeCount'] as core.int |
| : null, |
| totalMinNodeCount: json_.containsKey('totalMinNodeCount') |
| ? json_['totalMinNodeCount'] as core.int |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoprovisioned != null) 'autoprovisioned': autoprovisioned!, |
| if (enabled != null) 'enabled': enabled!, |
| if (locationPolicy != null) 'locationPolicy': locationPolicy!, |
| if (maxNodeCount != null) 'maxNodeCount': maxNodeCount!, |
| if (minNodeCount != null) 'minNodeCount': minNodeCount!, |
| if (totalMaxNodeCount != null) 'totalMaxNodeCount': totalMaxNodeCount!, |
| if (totalMinNodeCount != null) 'totalMinNodeCount': totalMinNodeCount!, |
| }; |
| } |
| |
| /// Subset of Nodepool message that has defaults. |
| class NodePoolDefaults { |
| /// Subset of NodeConfig message that has defaults. |
| NodeConfigDefaults? nodeConfigDefaults; |
| |
| NodePoolDefaults({ |
| this.nodeConfigDefaults, |
| }); |
| |
| NodePoolDefaults.fromJson(core.Map json_) |
| : this( |
| nodeConfigDefaults: json_.containsKey('nodeConfigDefaults') |
| ? NodeConfigDefaults.fromJson(json_['nodeConfigDefaults'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nodeConfigDefaults != null) |
| 'nodeConfigDefaults': nodeConfigDefaults!, |
| }; |
| } |
| |
| /// NodePoolLoggingConfig specifies logging configuration for nodepools. |
| class NodePoolLoggingConfig { |
| /// Logging variant configuration. |
| LoggingVariantConfig? variantConfig; |
| |
| NodePoolLoggingConfig({ |
| this.variantConfig, |
| }); |
| |
| NodePoolLoggingConfig.fromJson(core.Map json_) |
| : this( |
| variantConfig: json_.containsKey('variantConfig') |
| ? LoggingVariantConfig.fromJson( |
| json_['variantConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (variantConfig != null) 'variantConfig': variantConfig!, |
| }; |
| } |
| |
| /// Kubernetes taint is composed of three fields: key, value, and effect. |
| /// |
| /// Effect can only be one of three types: NoSchedule, PreferNoSchedule or |
| /// NoExecute. See |
| /// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) |
| /// for more information, including usage and the valid values. |
| class NodeTaint { |
| /// Effect for taint. |
| /// Possible string values are: |
| /// - "EFFECT_UNSPECIFIED" : Not set |
| /// - "NO_SCHEDULE" : NoSchedule |
| /// - "PREFER_NO_SCHEDULE" : PreferNoSchedule |
| /// - "NO_EXECUTE" : NoExecute |
| core.String? effect; |
| |
| /// Key for taint. |
| core.String? key; |
| |
| /// Value for taint. |
| core.String? value; |
| |
| NodeTaint({ |
| this.effect, |
| this.key, |
| this.value, |
| }); |
| |
| NodeTaint.fromJson(core.Map json_) |
| : this( |
| effect: json_.containsKey('effect') |
| ? json_['effect'] as core.String |
| : null, |
| key: json_.containsKey('key') ? json_['key'] as core.String : null, |
| value: |
| json_.containsKey('value') ? json_['value'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (effect != null) 'effect': effect!, |
| if (key != null) 'key': key!, |
| if (value != null) 'value': value!, |
| }; |
| } |
| |
| /// Collection of Kubernetes |
| /// [node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration). |
| class NodeTaints { |
| /// List of node taints. |
| core.List<NodeTaint>? taints; |
| |
| NodeTaints({ |
| this.taints, |
| }); |
| |
| NodeTaints.fromJson(core.Map json_) |
| : this( |
| taints: json_.containsKey('taints') |
| ? (json_['taints'] as core.List) |
| .map((value) => NodeTaint.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (taints != null) 'taints': taints!, |
| }; |
| } |
| |
| /// NotificationConfig is the configuration of notifications. |
| class NotificationConfig { |
| /// Notification config for Pub/Sub. |
| PubSub? pubsub; |
| |
| NotificationConfig({ |
| this.pubsub, |
| }); |
| |
| NotificationConfig.fromJson(core.Map json_) |
| : this( |
| pubsub: json_.containsKey('pubsub') |
| ? PubSub.fromJson( |
| json_['pubsub'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (pubsub != null) 'pubsub': pubsub!, |
| }; |
| } |
| |
| /// This operation resource represents operations that may have happened or are |
| /// happening on the cluster. |
| /// |
| /// All fields are output only. |
| class Operation { |
| /// Which conditions caused the current cluster state. |
| /// |
| /// Deprecated. Use field error instead. |
| core.List<StatusCondition>? clusterConditions; |
| |
| /// Detailed operation progress, if available. |
| core.String? detail; |
| |
| /// The time the operation completed, in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| /// |
| /// Output only. |
| core.String? endTime; |
| |
| /// The error result of the operation in case of failure. |
| Status? error; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) |
| /// or |
| /// [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) |
| /// in which the cluster resides. |
| /// |
| /// Output only. |
| core.String? location; |
| |
| /// The server-assigned ID for the operation. |
| core.String? name; |
| |
| /// Which conditions caused the current node pool state. |
| /// |
| /// Deprecated. Use field error instead. |
| core.List<StatusCondition>? nodepoolConditions; |
| |
| /// The operation type. |
| /// Possible string values are: |
| /// - "TYPE_UNSPECIFIED" : Not set. |
| /// - "CREATE_CLUSTER" : Cluster create. |
| /// - "DELETE_CLUSTER" : Cluster delete. |
| /// - "UPGRADE_MASTER" : A master upgrade. |
| /// - "UPGRADE_NODES" : A node upgrade. |
| /// - "REPAIR_CLUSTER" : Cluster repair. |
| /// - "UPDATE_CLUSTER" : Cluster update. |
| /// - "CREATE_NODE_POOL" : Node pool create. |
| /// - "DELETE_NODE_POOL" : Node pool delete. |
| /// - "SET_NODE_POOL_MANAGEMENT" : Set node pool management. |
| /// - "AUTO_REPAIR_NODES" : Automatic node pool repair. |
| /// - "AUTO_UPGRADE_NODES" : Automatic node upgrade. |
| /// - "SET_LABELS" : Set labels. |
| /// - "SET_MASTER_AUTH" : Set/generate master auth materials |
| /// - "SET_NODE_POOL_SIZE" : Set node pool size. |
| /// - "SET_NETWORK_POLICY" : Updates network policy for a cluster. |
| /// - "SET_MAINTENANCE_POLICY" : Set the maintenance policy. |
| core.String? operationType; |
| |
| /// Progress information for an operation. |
| /// |
| /// Output only. |
| OperationProgress? progress; |
| |
| /// Server-defined URL for the resource. |
| core.String? selfLink; |
| |
| /// The time the operation started, in |
| /// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| /// |
| /// Output only. |
| core.String? startTime; |
| |
| /// The current status of the operation. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Not set. |
| /// - "PENDING" : The operation has been created. |
| /// - "RUNNING" : The operation is currently running. |
| /// - "DONE" : The operation is done, either cancelled or completed. |
| /// - "ABORTING" : The operation is aborting. |
| core.String? status; |
| |
| /// If an error has occurred, a textual description of the error. |
| /// |
| /// Deprecated. Use the field error instead. |
| /// |
| /// Output only. |
| core.String? statusMessage; |
| |
| /// Server-defined URL for the target of the operation. |
| core.String? targetLink; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// operation is taking place. |
| /// |
| /// This field is deprecated, use location instead. |
| core.String? zone; |
| |
| Operation({ |
| this.clusterConditions, |
| this.detail, |
| this.endTime, |
| this.error, |
| this.location, |
| this.name, |
| this.nodepoolConditions, |
| this.operationType, |
| this.progress, |
| this.selfLink, |
| this.startTime, |
| this.status, |
| this.statusMessage, |
| this.targetLink, |
| this.zone, |
| }); |
| |
| Operation.fromJson(core.Map json_) |
| : this( |
| clusterConditions: json_.containsKey('clusterConditions') |
| ? (json_['clusterConditions'] as core.List) |
| .map((value) => StatusCondition.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| detail: json_.containsKey('detail') |
| ? json_['detail'] as core.String |
| : null, |
| endTime: json_.containsKey('endTime') |
| ? json_['endTime'] as core.String |
| : null, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>) |
| : null, |
| location: json_.containsKey('location') |
| ? json_['location'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodepoolConditions: json_.containsKey('nodepoolConditions') |
| ? (json_['nodepoolConditions'] as core.List) |
| .map((value) => StatusCondition.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| operationType: json_.containsKey('operationType') |
| ? json_['operationType'] as core.String |
| : null, |
| progress: json_.containsKey('progress') |
| ? OperationProgress.fromJson( |
| json_['progress'] as core.Map<core.String, core.dynamic>) |
| : null, |
| selfLink: json_.containsKey('selfLink') |
| ? json_['selfLink'] as core.String |
| : null, |
| startTime: json_.containsKey('startTime') |
| ? json_['startTime'] as core.String |
| : null, |
| status: json_.containsKey('status') |
| ? json_['status'] as core.String |
| : null, |
| statusMessage: json_.containsKey('statusMessage') |
| ? json_['statusMessage'] as core.String |
| : null, |
| targetLink: json_.containsKey('targetLink') |
| ? json_['targetLink'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterConditions != null) 'clusterConditions': clusterConditions!, |
| if (detail != null) 'detail': detail!, |
| if (endTime != null) 'endTime': endTime!, |
| if (error != null) 'error': error!, |
| if (location != null) 'location': location!, |
| if (name != null) 'name': name!, |
| if (nodepoolConditions != null) |
| 'nodepoolConditions': nodepoolConditions!, |
| if (operationType != null) 'operationType': operationType!, |
| if (progress != null) 'progress': progress!, |
| if (selfLink != null) 'selfLink': selfLink!, |
| if (startTime != null) 'startTime': startTime!, |
| if (status != null) 'status': status!, |
| if (statusMessage != null) 'statusMessage': statusMessage!, |
| if (targetLink != null) 'targetLink': targetLink!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// Information about operation (or operation stage) progress. |
| class OperationProgress { |
| /// Progress metric bundle, for example: metrics: \[{name: "nodes done", |
| /// int_value: 15}, {name: "nodes total", int_value: 32}\] or metrics: |
| /// \[{name: "progress", double_value: 0.56}, {name: "progress scale", |
| /// double_value: 1.0}\] |
| core.List<Metric>? metrics; |
| |
| /// A non-parameterized string describing an operation stage. |
| /// |
| /// Unset for single-stage operations. |
| core.String? name; |
| |
| /// Substages of an operation or a stage. |
| core.List<OperationProgress>? stages; |
| |
| /// Status of an operation stage. |
| /// |
| /// Unset for single-stage operations. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Not set. |
| /// - "PENDING" : The operation has been created. |
| /// - "RUNNING" : The operation is currently running. |
| /// - "DONE" : The operation is done, either cancelled or completed. |
| /// - "ABORTING" : The operation is aborting. |
| core.String? status; |
| |
| OperationProgress({ |
| this.metrics, |
| this.name, |
| this.stages, |
| this.status, |
| }); |
| |
| OperationProgress.fromJson(core.Map json_) |
| : this( |
| metrics: json_.containsKey('metrics') |
| ? (json_['metrics'] as core.List) |
| .map((value) => Metric.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| stages: json_.containsKey('stages') |
| ? (json_['stages'] as core.List) |
| .map((value) => OperationProgress.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| status: json_.containsKey('status') |
| ? json_['status'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (metrics != null) 'metrics': metrics!, |
| if (name != null) 'name': name!, |
| if (stages != null) 'stages': stages!, |
| if (status != null) 'status': status!, |
| }; |
| } |
| |
| /// PlacementPolicy defines the placement policy used by the node pool. |
| class PlacementPolicy { |
| /// The type of placement. |
| /// Possible string values are: |
| /// - "TYPE_UNSPECIFIED" : TYPE_UNSPECIFIED specifies no requirements on nodes |
| /// placement. |
| /// - "COMPACT" : COMPACT specifies node placement in the same availability |
| /// domain to ensure low communication latency. |
| core.String? type; |
| |
| PlacementPolicy({ |
| this.type, |
| }); |
| |
| PlacementPolicy.fromJson(core.Map json_) |
| : this( |
| type: json_.containsKey('type') ? json_['type'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (type != null) 'type': type!, |
| }; |
| } |
| |
| /// \[PRIVATE FIELD\] Config for pod CIDR size overprovisioning. |
| class PodCIDROverprovisionConfig { |
| /// Whether Pod CIDR overprovisioning is disabled. |
| /// |
| /// Note: Pod CIDR overprovisioning is enabled by default. |
| core.bool? disable; |
| |
| PodCIDROverprovisionConfig({ |
| this.disable, |
| }); |
| |
| PodCIDROverprovisionConfig.fromJson(core.Map json_) |
| : this( |
| disable: json_.containsKey('disable') |
| ? json_['disable'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (disable != null) 'disable': disable!, |
| }; |
| } |
| |
| /// Configuration options for private clusters. |
| class PrivateClusterConfig { |
| /// Whether the master's internal IP address is used as the cluster endpoint. |
| core.bool? enablePrivateEndpoint; |
| |
| /// Whether nodes have internal IP addresses only. |
| /// |
| /// If enabled, all nodes are given only RFC 1918 private addresses and |
| /// communicate with the master via private networking. |
| core.bool? enablePrivateNodes; |
| |
| /// Controls master global access settings. |
| PrivateClusterMasterGlobalAccessConfig? masterGlobalAccessConfig; |
| |
| /// The IP range in CIDR notation to use for the hosted master network. |
| /// |
| /// This range will be used for assigning internal IP addresses to the master |
| /// or set of masters, as well as the ILB VIP. This range must not overlap |
| /// with any other ranges in use within the cluster's network. |
| core.String? masterIpv4CidrBlock; |
| |
| /// The peering name in the customer VPC used by this cluster. |
| /// |
| /// Output only. |
| core.String? peeringName; |
| |
| /// The internal IP address of this cluster's master endpoint. |
| /// |
| /// Output only. |
| core.String? privateEndpoint; |
| |
| /// Subnet to provision the master's private endpoint during cluster creation. |
| /// |
| /// Specified in projects / * /regions / * /subnetworks / * format. |
| core.String? privateEndpointSubnetwork; |
| |
| /// The external IP address of this cluster's master endpoint. |
| /// |
| /// Output only. |
| core.String? publicEndpoint; |
| |
| PrivateClusterConfig({ |
| this.enablePrivateEndpoint, |
| this.enablePrivateNodes, |
| this.masterGlobalAccessConfig, |
| this.masterIpv4CidrBlock, |
| this.peeringName, |
| this.privateEndpoint, |
| this.privateEndpointSubnetwork, |
| this.publicEndpoint, |
| }); |
| |
| PrivateClusterConfig.fromJson(core.Map json_) |
| : this( |
| enablePrivateEndpoint: json_.containsKey('enablePrivateEndpoint') |
| ? json_['enablePrivateEndpoint'] as core.bool |
| : null, |
| enablePrivateNodes: json_.containsKey('enablePrivateNodes') |
| ? json_['enablePrivateNodes'] as core.bool |
| : null, |
| masterGlobalAccessConfig: |
| json_.containsKey('masterGlobalAccessConfig') |
| ? PrivateClusterMasterGlobalAccessConfig.fromJson( |
| json_['masterGlobalAccessConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| masterIpv4CidrBlock: json_.containsKey('masterIpv4CidrBlock') |
| ? json_['masterIpv4CidrBlock'] as core.String |
| : null, |
| peeringName: json_.containsKey('peeringName') |
| ? json_['peeringName'] as core.String |
| : null, |
| privateEndpoint: json_.containsKey('privateEndpoint') |
| ? json_['privateEndpoint'] as core.String |
| : null, |
| privateEndpointSubnetwork: |
| json_.containsKey('privateEndpointSubnetwork') |
| ? json_['privateEndpointSubnetwork'] as core.String |
| : null, |
| publicEndpoint: json_.containsKey('publicEndpoint') |
| ? json_['publicEndpoint'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enablePrivateEndpoint != null) |
| 'enablePrivateEndpoint': enablePrivateEndpoint!, |
| if (enablePrivateNodes != null) |
| 'enablePrivateNodes': enablePrivateNodes!, |
| if (masterGlobalAccessConfig != null) |
| 'masterGlobalAccessConfig': masterGlobalAccessConfig!, |
| if (masterIpv4CidrBlock != null) |
| 'masterIpv4CidrBlock': masterIpv4CidrBlock!, |
| if (peeringName != null) 'peeringName': peeringName!, |
| if (privateEndpoint != null) 'privateEndpoint': privateEndpoint!, |
| if (privateEndpointSubnetwork != null) |
| 'privateEndpointSubnetwork': privateEndpointSubnetwork!, |
| if (publicEndpoint != null) 'publicEndpoint': publicEndpoint!, |
| }; |
| } |
| |
| /// Configuration for controlling master global access settings. |
| class PrivateClusterMasterGlobalAccessConfig { |
| /// Whenever master is accessible globally or not. |
| core.bool? enabled; |
| |
| PrivateClusterMasterGlobalAccessConfig({ |
| this.enabled, |
| }); |
| |
| PrivateClusterMasterGlobalAccessConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Pub/Sub specific notification config. |
| class PubSub { |
| /// Enable notifications for Pub/Sub. |
| core.bool? enabled; |
| |
| /// Allows filtering to one or more specific event types. |
| /// |
| /// If no filter is specified, or if a filter is specified with no event |
| /// types, all event types will be sent |
| Filter? filter; |
| |
| /// The desired Pub/Sub topic to which notifications will be sent by GKE. |
| /// |
| /// Format is `projects/{project}/topics/{topic}`. |
| core.String? topic; |
| |
| PubSub({ |
| this.enabled, |
| this.filter, |
| this.topic, |
| }); |
| |
| PubSub.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| filter: json_.containsKey('filter') |
| ? Filter.fromJson( |
| json_['filter'] as core.Map<core.String, core.dynamic>) |
| : null, |
| topic: |
| json_.containsKey('topic') ? json_['topic'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| if (filter != null) 'filter': filter!, |
| if (topic != null) 'topic': topic!, |
| }; |
| } |
| |
| /// Represents an arbitrary window of time that recurs. |
| class RecurringTimeWindow { |
| /// An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how |
| /// this window reccurs. |
| /// |
| /// They go on for the span of time between the start and end time. For |
| /// example, to have something repeat every weekday, you'd use: |
| /// `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily (equivalent |
| /// to the DailyMaintenanceWindow): `FREQ=DAILY` For the first weekend of |
| /// every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` This specifies how |
| /// frequently the window starts. Eg, if you wanted to have a 9-5 UTC-4 window |
| /// every weekday, you'd use something like: ``` start time = |
| /// 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400 recurrence = |
| /// FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days. Eg, |
| /// to make the window encompass every weekend from midnight Saturday till the |
| /// last minute of Sunday UTC: ``` start time = 2019-01-05T00:00:00Z end time |
| /// = 2019-01-07T23:59:00Z recurrence = FREQ=WEEKLY;BYDAY=SA ``` Note the |
| /// start and end time's specific dates are largely arbitrary except to |
| /// specify duration of the window and when it first starts. The FREQ values |
| /// of HOURLY, MINUTELY, and SECONDLY are not supported. |
| core.String? recurrence; |
| |
| /// The window of the first recurrence. |
| TimeWindow? window; |
| |
| RecurringTimeWindow({ |
| this.recurrence, |
| this.window, |
| }); |
| |
| RecurringTimeWindow.fromJson(core.Map json_) |
| : this( |
| recurrence: json_.containsKey('recurrence') |
| ? json_['recurrence'] as core.String |
| : null, |
| window: json_.containsKey('window') |
| ? TimeWindow.fromJson( |
| json_['window'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (recurrence != null) 'recurrence': recurrence!, |
| if (window != null) 'window': window!, |
| }; |
| } |
| |
| /// ReleaseChannel indicates which release channel a cluster is subscribed to. |
| /// |
| /// Release channels are arranged in order of risk. When a cluster is subscribed |
| /// to a release channel, Google maintains both the master version and the node |
| /// version. Node auto-upgrade defaults to true and cannot be disabled. |
| class ReleaseChannel { |
| /// channel specifies which release channel the cluster is subscribed to. |
| /// Possible string values are: |
| /// - "UNSPECIFIED" : No channel specified. |
| /// - "RAPID" : RAPID channel is offered on an early access basis for |
| /// customers who want to test new releases. WARNING: Versions available in |
| /// the RAPID Channel may be subject to unresolved issues with no known |
| /// workaround and are not subject to any SLAs. |
| /// - "REGULAR" : Clusters subscribed to REGULAR receive versions that are |
| /// considered GA quality. REGULAR is intended for production users who want |
| /// to take advantage of new features. |
| /// - "STABLE" : Clusters subscribed to STABLE receive versions that are known |
| /// to be stable and reliable in production. |
| core.String? channel; |
| |
| ReleaseChannel({ |
| this.channel, |
| }); |
| |
| ReleaseChannel.fromJson(core.Map json_) |
| : this( |
| channel: json_.containsKey('channel') |
| ? json_['channel'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (channel != null) 'channel': channel!, |
| }; |
| } |
| |
| /// ReleaseChannelConfig exposes configuration for a release channel. |
| class ReleaseChannelConfig { |
| /// The release channel this configuration applies to. |
| /// Possible string values are: |
| /// - "UNSPECIFIED" : No channel specified. |
| /// - "RAPID" : RAPID channel is offered on an early access basis for |
| /// customers who want to test new releases. WARNING: Versions available in |
| /// the RAPID Channel may be subject to unresolved issues with no known |
| /// workaround and are not subject to any SLAs. |
| /// - "REGULAR" : Clusters subscribed to REGULAR receive versions that are |
| /// considered GA quality. REGULAR is intended for production users who want |
| /// to take advantage of new features. |
| /// - "STABLE" : Clusters subscribed to STABLE receive versions that are known |
| /// to be stable and reliable in production. |
| core.String? channel; |
| |
| /// The default version for newly created clusters on the channel. |
| core.String? defaultVersion; |
| |
| /// List of valid versions for the channel. |
| core.List<core.String>? validVersions; |
| |
| ReleaseChannelConfig({ |
| this.channel, |
| this.defaultVersion, |
| this.validVersions, |
| }); |
| |
| ReleaseChannelConfig.fromJson(core.Map json_) |
| : this( |
| channel: json_.containsKey('channel') |
| ? json_['channel'] as core.String |
| : null, |
| defaultVersion: json_.containsKey('defaultVersion') |
| ? json_['defaultVersion'] as core.String |
| : null, |
| validVersions: json_.containsKey('validVersions') |
| ? (json_['validVersions'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (channel != null) 'channel': channel!, |
| if (defaultVersion != null) 'defaultVersion': defaultVersion!, |
| if (validVersions != null) 'validVersions': validVersions!, |
| }; |
| } |
| |
| /// [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) |
| /// is the configuration of desired reservation which instances could take |
| /// capacity from. |
| class ReservationAffinity { |
| /// Corresponds to the type of reservation consumption. |
| /// Possible string values are: |
| /// - "UNSPECIFIED" : Default value. This should not be used. |
| /// - "NO_RESERVATION" : Do not consume from any reserved capacity. |
| /// - "ANY_RESERVATION" : Consume any reservation available. |
| /// - "SPECIFIC_RESERVATION" : Must consume from a specific reservation. Must |
| /// specify key value fields for specifying the reservations. |
| core.String? consumeReservationType; |
| |
| /// Corresponds to the label key of a reservation resource. |
| /// |
| /// To target a SPECIFIC_RESERVATION by name, specify |
| /// "compute.googleapis.com/reservation-name" as the key and specify the name |
| /// of your reservation as its value. |
| core.String? key; |
| |
| /// Corresponds to the label value(s) of reservation resource(s). |
| core.List<core.String>? values; |
| |
| ReservationAffinity({ |
| this.consumeReservationType, |
| this.key, |
| this.values, |
| }); |
| |
| ReservationAffinity.fromJson(core.Map json_) |
| : this( |
| consumeReservationType: json_.containsKey('consumeReservationType') |
| ? json_['consumeReservationType'] as core.String |
| : null, |
| key: json_.containsKey('key') ? json_['key'] as core.String : null, |
| values: json_.containsKey('values') |
| ? (json_['values'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (consumeReservationType != null) |
| 'consumeReservationType': consumeReservationType!, |
| if (key != null) 'key': key!, |
| if (values != null) 'values': values!, |
| }; |
| } |
| |
| /// Collection of |
| /// [GCP labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels). |
| typedef ResourceLabels = $Labels; |
| |
| /// Contains information about amount of some resource in the cluster. |
| /// |
| /// For memory, value should be in GB. |
| class ResourceLimit { |
| /// Maximum amount of the resource in the cluster. |
| core.String? maximum; |
| |
| /// Minimum amount of the resource in the cluster. |
| core.String? minimum; |
| |
| /// Resource name "cpu", "memory" or gpu-specific string. |
| core.String? resourceType; |
| |
| ResourceLimit({ |
| this.maximum, |
| this.minimum, |
| this.resourceType, |
| }); |
| |
| ResourceLimit.fromJson(core.Map json_) |
| : this( |
| maximum: json_.containsKey('maximum') |
| ? json_['maximum'] as core.String |
| : null, |
| minimum: json_.containsKey('minimum') |
| ? json_['minimum'] as core.String |
| : null, |
| resourceType: json_.containsKey('resourceType') |
| ? json_['resourceType'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (maximum != null) 'maximum': maximum!, |
| if (minimum != null) 'minimum': minimum!, |
| if (resourceType != null) 'resourceType': resourceType!, |
| }; |
| } |
| |
| /// Configuration for exporting cluster resource usages. |
| class ResourceUsageExportConfig { |
| /// Configuration to use BigQuery as usage export destination. |
| BigQueryDestination? bigqueryDestination; |
| |
| /// Configuration to enable resource consumption metering. |
| ConsumptionMeteringConfig? consumptionMeteringConfig; |
| |
| /// Whether to enable network egress metering for this cluster. |
| /// |
| /// If enabled, a daemonset will be created in the cluster to meter network |
| /// egress traffic. |
| core.bool? enableNetworkEgressMetering; |
| |
| ResourceUsageExportConfig({ |
| this.bigqueryDestination, |
| this.consumptionMeteringConfig, |
| this.enableNetworkEgressMetering, |
| }); |
| |
| ResourceUsageExportConfig.fromJson(core.Map json_) |
| : this( |
| bigqueryDestination: json_.containsKey('bigqueryDestination') |
| ? BigQueryDestination.fromJson(json_['bigqueryDestination'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| consumptionMeteringConfig: |
| json_.containsKey('consumptionMeteringConfig') |
| ? ConsumptionMeteringConfig.fromJson( |
| json_['consumptionMeteringConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| enableNetworkEgressMetering: |
| json_.containsKey('enableNetworkEgressMetering') |
| ? json_['enableNetworkEgressMetering'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (bigqueryDestination != null) |
| 'bigqueryDestination': bigqueryDestination!, |
| if (consumptionMeteringConfig != null) |
| 'consumptionMeteringConfig': consumptionMeteringConfig!, |
| if (enableNetworkEgressMetering != null) |
| 'enableNetworkEgressMetering': enableNetworkEgressMetering!, |
| }; |
| } |
| |
| /// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed |
| /// NodePool upgrade. |
| /// |
| /// This will be an no-op if the last upgrade successfully completed. |
| class RollbackNodePoolUpgradeRequest { |
| /// The name of the cluster to rollback. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster, node pool id) of the node poll to |
| /// rollback upgrade. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * |
| /// /nodePools / * `. |
| core.String? name; |
| |
| /// The name of the node pool to rollback. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? nodePoolId; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// Option for rollback to ignore the PodDisruptionBudget. |
| /// |
| /// Default value is false. |
| core.bool? respectPdb; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| RollbackNodePoolUpgradeRequest({ |
| this.clusterId, |
| this.name, |
| this.nodePoolId, |
| this.projectId, |
| this.respectPdb, |
| this.zone, |
| }); |
| |
| RollbackNodePoolUpgradeRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodePoolId: json_.containsKey('nodePoolId') |
| ? json_['nodePoolId'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| respectPdb: json_.containsKey('respectPdb') |
| ? json_['respectPdb'] as core.bool |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (nodePoolId != null) 'nodePoolId': nodePoolId!, |
| if (projectId != null) 'projectId': projectId!, |
| if (respectPdb != null) 'respectPdb': respectPdb!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SandboxConfig contains configurations of the sandbox to use for the node. |
| class SandboxConfig { |
| /// Type of the sandbox to use for the node. |
| /// Possible string values are: |
| /// - "UNSPECIFIED" : Default value. This should not be used. |
| /// - "GVISOR" : Run sandbox using gvisor. |
| core.String? type; |
| |
| SandboxConfig({ |
| this.type, |
| }); |
| |
| SandboxConfig.fromJson(core.Map json_) |
| : this( |
| type: json_.containsKey('type') ? json_['type'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (type != null) 'type': type!, |
| }; |
| } |
| |
| /// Kubernetes Engine service configuration. |
| class ServerConfig { |
| /// List of release channel configurations. |
| core.List<ReleaseChannelConfig>? channels; |
| |
| /// Version of Kubernetes the service deploys by default. |
| core.String? defaultClusterVersion; |
| |
| /// Default image type. |
| core.String? defaultImageType; |
| |
| /// List of valid image types. |
| core.List<core.String>? validImageTypes; |
| |
| /// List of valid master versions, in descending order. |
| core.List<core.String>? validMasterVersions; |
| |
| /// List of valid node upgrade target versions, in descending order. |
| core.List<core.String>? validNodeVersions; |
| |
| ServerConfig({ |
| this.channels, |
| this.defaultClusterVersion, |
| this.defaultImageType, |
| this.validImageTypes, |
| this.validMasterVersions, |
| this.validNodeVersions, |
| }); |
| |
| ServerConfig.fromJson(core.Map json_) |
| : this( |
| channels: json_.containsKey('channels') |
| ? (json_['channels'] as core.List) |
| .map((value) => ReleaseChannelConfig.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| defaultClusterVersion: json_.containsKey('defaultClusterVersion') |
| ? json_['defaultClusterVersion'] as core.String |
| : null, |
| defaultImageType: json_.containsKey('defaultImageType') |
| ? json_['defaultImageType'] as core.String |
| : null, |
| validImageTypes: json_.containsKey('validImageTypes') |
| ? (json_['validImageTypes'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| validMasterVersions: json_.containsKey('validMasterVersions') |
| ? (json_['validMasterVersions'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| validNodeVersions: json_.containsKey('validNodeVersions') |
| ? (json_['validNodeVersions'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (channels != null) 'channels': channels!, |
| if (defaultClusterVersion != null) |
| 'defaultClusterVersion': defaultClusterVersion!, |
| if (defaultImageType != null) 'defaultImageType': defaultImageType!, |
| if (validImageTypes != null) 'validImageTypes': validImageTypes!, |
| if (validMasterVersions != null) |
| 'validMasterVersions': validMasterVersions!, |
| if (validNodeVersions != null) 'validNodeVersions': validNodeVersions!, |
| }; |
| } |
| |
| /// Config to block services with externalIPs field. |
| class ServiceExternalIPsConfig { |
| /// Whether Services with ExternalIPs field are allowed or not. |
| core.bool? enabled; |
| |
| ServiceExternalIPsConfig({ |
| this.enabled, |
| }); |
| |
| ServiceExternalIPsConfig.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// SetAddonsConfigRequest sets the addons associated with the cluster. |
| class SetAddonsConfigRequest { |
| /// The desired configurations for the various addons available to run in the |
| /// cluster. |
| /// |
| /// Required. |
| AddonsConfig? addonsConfig; |
| |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster) of the cluster to set addons. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetAddonsConfigRequest({ |
| this.addonsConfig, |
| this.clusterId, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetAddonsConfigRequest.fromJson(core.Map json_) |
| : this( |
| addonsConfig: json_.containsKey('addonsConfig') |
| ? AddonsConfig.fromJson( |
| json_['addonsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (addonsConfig != null) 'addonsConfig': addonsConfig!, |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container |
| /// Engine cluster, which will in turn set them for Google Compute Engine |
| /// resources used by that cluster |
| class SetLabelsRequest { |
| /// The name of the cluster. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The fingerprint of the previous set of labels for this resource, used to |
| /// detect conflicts. |
| /// |
| /// The fingerprint is initially generated by Kubernetes Engine and changes |
| /// after every request to modify or update labels. You must always provide an |
| /// up-to-date fingerprint hash when updating or changing labels. Make a |
| /// `get()` request to the resource to get the latest fingerprint. |
| /// |
| /// Required. |
| core.String? labelFingerprint; |
| |
| /// The name (project, location, cluster name) of the cluster to set labels. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The labels to set for that cluster. |
| /// |
| /// Required. |
| core.Map<core.String, core.String>? resourceLabels; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetLabelsRequest({ |
| this.clusterId, |
| this.labelFingerprint, |
| this.name, |
| this.projectId, |
| this.resourceLabels, |
| this.zone, |
| }); |
| |
| SetLabelsRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| labelFingerprint: json_.containsKey('labelFingerprint') |
| ? json_['labelFingerprint'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| resourceLabels: json_.containsKey('resourceLabels') |
| ? (json_['resourceLabels'] as core.Map<core.String, core.dynamic>) |
| .map( |
| (key, value) => core.MapEntry( |
| key, |
| value as core.String, |
| ), |
| ) |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (labelFingerprint != null) 'labelFingerprint': labelFingerprint!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (resourceLabels != null) 'resourceLabels': resourceLabels!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism |
| /// for a cluster. |
| class SetLegacyAbacRequest { |
| /// The name of the cluster to update. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// Whether ABAC authorization will be enabled in the cluster. |
| /// |
| /// Required. |
| core.bool? enabled; |
| |
| /// The name (project, location, cluster name) of the cluster to set legacy |
| /// abac. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetLegacyAbacRequest({ |
| this.clusterId, |
| this.enabled, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetLegacyAbacRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (enabled != null) 'enabled': enabled!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetLocationsRequest sets the locations of the cluster. |
| class SetLocationsRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The desired list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the cluster's nodes should be located. |
| /// |
| /// Changing the locations a cluster is in will result in nodes being either |
| /// created or removed from the cluster, depending on whether locations are |
| /// being added or removed. This list must always include the cluster's |
| /// primary zone. |
| /// |
| /// Required. |
| core.List<core.String>? locations; |
| |
| /// The name (project, location, cluster) of the cluster to set locations. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetLocationsRequest({ |
| this.clusterId, |
| this.locations, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetLocationsRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| locations: json_.containsKey('locations') |
| ? (json_['locations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (locations != null) 'locations': locations!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetLoggingServiceRequest sets the logging service of a cluster. |
| class SetLoggingServiceRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The logging service the cluster should use to write logs. |
| /// |
| /// Currently available options: * `logging.googleapis.com/kubernetes` - The |
| /// Cloud Logging service with a Kubernetes-native resource model * |
| /// `logging.googleapis.com` - The legacy Cloud Logging service (no longer |
| /// available as of GKE 1.15). * `none` - no logs will be exported from the |
| /// cluster. If left as an empty string,`logging.googleapis.com/kubernetes` |
| /// will be used for GKE 1.14+ or `logging.googleapis.com` for earlier |
| /// versions. |
| /// |
| /// Required. |
| core.String? loggingService; |
| |
| /// The name (project, location, cluster) of the cluster to set logging. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetLoggingServiceRequest({ |
| this.clusterId, |
| this.loggingService, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetLoggingServiceRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| loggingService: json_.containsKey('loggingService') |
| ? json_['loggingService'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (loggingService != null) 'loggingService': loggingService!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetMaintenancePolicyRequest sets the maintenance policy for a cluster. |
| class SetMaintenancePolicyRequest { |
| /// The name of the cluster to update. |
| /// |
| /// Required. |
| core.String? clusterId; |
| |
| /// The maintenance policy to be set for the cluster. |
| /// |
| /// An empty field clears the existing maintenance policy. |
| /// |
| /// Required. |
| MaintenancePolicy? maintenancePolicy; |
| |
| /// The name (project, location, cluster name) of the cluster to set |
| /// maintenance policy. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// Required. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// Required. |
| core.String? zone; |
| |
| SetMaintenancePolicyRequest({ |
| this.clusterId, |
| this.maintenancePolicy, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetMaintenancePolicyRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| maintenancePolicy: json_.containsKey('maintenancePolicy') |
| ? MaintenancePolicy.fromJson(json_['maintenancePolicy'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (maintenancePolicy != null) 'maintenancePolicy': maintenancePolicy!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetMasterAuthRequest updates the admin password of a cluster. |
| class SetMasterAuthRequest { |
| /// The exact form of action to be taken on the master auth. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "UNKNOWN" : Operation is unknown and will error out. |
| /// - "SET_PASSWORD" : Set the password to a user generated value. |
| /// - "GENERATE_PASSWORD" : Generate a new password and set it to that. |
| /// - "SET_USERNAME" : Set the username. If an empty username is provided, |
| /// basic authentication is disabled for the cluster. If a non-empty username |
| /// is provided, basic authentication is enabled, with either a provided |
| /// password or a generated one. |
| core.String? action; |
| |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster) of the cluster to set auth. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// A description of the update. |
| /// |
| /// Required. |
| MasterAuth? update; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetMasterAuthRequest({ |
| this.action, |
| this.clusterId, |
| this.name, |
| this.projectId, |
| this.update, |
| this.zone, |
| }); |
| |
| SetMasterAuthRequest.fromJson(core.Map json_) |
| : this( |
| action: json_.containsKey('action') |
| ? json_['action'] as core.String |
| : null, |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| update: json_.containsKey('update') |
| ? MasterAuth.fromJson( |
| json_['update'] as core.Map<core.String, core.dynamic>) |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (action != null) 'action': action!, |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (update != null) 'update': update!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetMonitoringServiceRequest sets the monitoring service of a cluster. |
| class SetMonitoringServiceRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The monitoring service the cluster should use to write metrics. |
| /// |
| /// Currently available options: * "monitoring.googleapis.com/kubernetes" - |
| /// The Cloud Monitoring service with a Kubernetes-native resource model * |
| /// `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no |
| /// longer available as of GKE 1.15). * `none` - No metrics will be exported |
| /// from the cluster. If left as an empty |
| /// string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ |
| /// or `monitoring.googleapis.com` for earlier versions. |
| /// |
| /// Required. |
| core.String? monitoringService; |
| |
| /// The name (project, location, cluster) of the cluster to set monitoring. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetMonitoringServiceRequest({ |
| this.clusterId, |
| this.monitoringService, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetMonitoringServiceRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| monitoringService: json_.containsKey('monitoringService') |
| ? json_['monitoringService'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (monitoringService != null) 'monitoringService': monitoringService!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetNetworkPolicyRequest enables/disables network policy for a cluster. |
| class SetNetworkPolicyRequest { |
| /// The name of the cluster. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster name) of the cluster to set |
| /// networking policy. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// Configuration options for the NetworkPolicy feature. |
| /// |
| /// Required. |
| NetworkPolicy? networkPolicy; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetNetworkPolicyRequest({ |
| this.clusterId, |
| this.name, |
| this.networkPolicy, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetNetworkPolicyRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| networkPolicy: json_.containsKey('networkPolicy') |
| ? NetworkPolicy.fromJson( |
| json_['networkPolicy'] as core.Map<core.String, core.dynamic>) |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (networkPolicy != null) 'networkPolicy': networkPolicy!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. |
| class SetNodePoolAutoscalingRequest { |
| /// Autoscaling configuration for the node pool. |
| /// |
| /// Required. |
| NodePoolAutoscaling? autoscaling; |
| |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster, node pool) of the node pool to set |
| /// autoscaler settings. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * |
| /// /nodePools / * `. |
| core.String? name; |
| |
| /// The name of the node pool to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? nodePoolId; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetNodePoolAutoscalingRequest({ |
| this.autoscaling, |
| this.clusterId, |
| this.name, |
| this.nodePoolId, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetNodePoolAutoscalingRequest.fromJson(core.Map json_) |
| : this( |
| autoscaling: json_.containsKey('autoscaling') |
| ? NodePoolAutoscaling.fromJson( |
| json_['autoscaling'] as core.Map<core.String, core.dynamic>) |
| : null, |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodePoolId: json_.containsKey('nodePoolId') |
| ? json_['nodePoolId'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (autoscaling != null) 'autoscaling': autoscaling!, |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (nodePoolId != null) 'nodePoolId': nodePoolId!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetNodePoolManagementRequest sets the node management properties of a node |
| /// pool. |
| class SetNodePoolManagementRequest { |
| /// The name of the cluster to update. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// NodeManagement configuration for the node pool. |
| /// |
| /// Required. |
| NodeManagement? management; |
| |
| /// The name (project, location, cluster, node pool id) of the node pool to |
| /// set management properties. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * |
| /// /nodePools / * `. |
| core.String? name; |
| |
| /// The name of the node pool to update. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? nodePoolId; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetNodePoolManagementRequest({ |
| this.clusterId, |
| this.management, |
| this.name, |
| this.nodePoolId, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetNodePoolManagementRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| management: json_.containsKey('management') |
| ? NodeManagement.fromJson( |
| json_['management'] as core.Map<core.String, core.dynamic>) |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodePoolId: json_.containsKey('nodePoolId') |
| ? json_['nodePoolId'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (management != null) 'management': management!, |
| if (name != null) 'name': name!, |
| if (nodePoolId != null) 'nodePoolId': nodePoolId!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// SetNodePoolSizeRequest sets the size of a node pool. |
| class SetNodePoolSizeRequest { |
| /// The name of the cluster to update. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster, node pool id) of the node pool to |
| /// set size. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * |
| /// /nodePools / * `. |
| core.String? name; |
| |
| /// The desired node count for the pool. |
| /// |
| /// Required. |
| core.int? nodeCount; |
| |
| /// The name of the node pool to update. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? nodePoolId; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| SetNodePoolSizeRequest({ |
| this.clusterId, |
| this.name, |
| this.nodeCount, |
| this.nodePoolId, |
| this.projectId, |
| this.zone, |
| }); |
| |
| SetNodePoolSizeRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodeCount: json_.containsKey('nodeCount') |
| ? json_['nodeCount'] as core.int |
| : null, |
| nodePoolId: json_.containsKey('nodePoolId') |
| ? json_['nodePoolId'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (nodeCount != null) 'nodeCount': nodeCount!, |
| if (nodePoolId != null) 'nodePoolId': nodePoolId!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// A set of Shielded Instance options. |
| class ShieldedInstanceConfig { |
| /// Defines whether the instance has integrity monitoring enabled. |
| /// |
| /// Enables monitoring and attestation of the boot integrity of the instance. |
| /// The attestation is performed against the integrity policy baseline. This |
| /// baseline is initially derived from the implicitly trusted boot image when |
| /// the instance is created. |
| core.bool? enableIntegrityMonitoring; |
| |
| /// Defines whether the instance has Secure Boot enabled. |
| /// |
| /// Secure Boot helps ensure that the system only runs authentic software by |
| /// verifying the digital signature of all boot components, and halting the |
| /// boot process if signature verification fails. |
| core.bool? enableSecureBoot; |
| |
| ShieldedInstanceConfig({ |
| this.enableIntegrityMonitoring, |
| this.enableSecureBoot, |
| }); |
| |
| ShieldedInstanceConfig.fromJson(core.Map json_) |
| : this( |
| enableIntegrityMonitoring: |
| json_.containsKey('enableIntegrityMonitoring') |
| ? json_['enableIntegrityMonitoring'] as core.bool |
| : null, |
| enableSecureBoot: json_.containsKey('enableSecureBoot') |
| ? json_['enableSecureBoot'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enableIntegrityMonitoring != null) |
| 'enableIntegrityMonitoring': enableIntegrityMonitoring!, |
| if (enableSecureBoot != null) 'enableSecureBoot': enableSecureBoot!, |
| }; |
| } |
| |
| /// Configuration of Shielded Nodes feature. |
| class ShieldedNodes { |
| /// Whether Shielded Nodes features are enabled on all nodes in this cluster. |
| core.bool? enabled; |
| |
| ShieldedNodes({ |
| this.enabled, |
| }); |
| |
| ShieldedNodes.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Standard rollout policy is the default policy for blue-green. |
| class StandardRolloutPolicy { |
| /// Number of blue nodes to drain in a batch. |
| core.int? batchNodeCount; |
| |
| /// Percentage of the blue pool nodes to drain in a batch. |
| /// |
| /// The range of this field should be (0.0, 1.0\]. |
| core.double? batchPercentage; |
| |
| /// Soak time after each batch gets drained. |
| /// |
| /// Default to zero. |
| core.String? batchSoakDuration; |
| |
| StandardRolloutPolicy({ |
| this.batchNodeCount, |
| this.batchPercentage, |
| this.batchSoakDuration, |
| }); |
| |
| StandardRolloutPolicy.fromJson(core.Map json_) |
| : this( |
| batchNodeCount: json_.containsKey('batchNodeCount') |
| ? json_['batchNodeCount'] as core.int |
| : null, |
| batchPercentage: json_.containsKey('batchPercentage') |
| ? (json_['batchPercentage'] as core.num).toDouble() |
| : null, |
| batchSoakDuration: json_.containsKey('batchSoakDuration') |
| ? json_['batchSoakDuration'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (batchNodeCount != null) 'batchNodeCount': batchNodeCount!, |
| if (batchPercentage != null) 'batchPercentage': batchPercentage!, |
| if (batchSoakDuration != null) 'batchSoakDuration': batchSoakDuration!, |
| }; |
| } |
| |
| /// StartIPRotationRequest creates a new IP for the cluster and then performs a |
| /// node upgrade on each node pool to point to the new IP. |
| class StartIPRotationRequest { |
| /// The name of the cluster. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster name) of the cluster to start IP |
| /// rotation. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// Whether to rotate credentials during IP rotation. |
| core.bool? rotateCredentials; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| StartIPRotationRequest({ |
| this.clusterId, |
| this.name, |
| this.projectId, |
| this.rotateCredentials, |
| this.zone, |
| }); |
| |
| StartIPRotationRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| rotateCredentials: json_.containsKey('rotateCredentials') |
| ? json_['rotateCredentials'] as core.bool |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (rotateCredentials != null) 'rotateCredentials': rotateCredentials!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// The `Status` type defines a logical error model that is suitable for |
| /// different programming environments, including REST APIs and RPC APIs. |
| /// |
| /// It is used by [gRPC](https://github.com/grpc). Each `Status` message |
| /// contains three pieces of data: error code, error message, and error details. |
| /// You can find out more about this error model and how to work with it in the |
| /// [API Design Guide](https://cloud.google.com/apis/design/errors). |
| typedef Status = $Status; |
| |
| /// StatusCondition describes why a cluster or a node pool has a certain status |
| /// (e.g., ERROR or DEGRADED). |
| class StatusCondition { |
| /// Canonical code of the condition. |
| /// Possible string values are: |
| /// - "OK" : Not an error; returned on success. HTTP Mapping: 200 OK |
| /// - "CANCELLED" : The operation was cancelled, typically by the caller. HTTP |
| /// Mapping: 499 Client Closed Request |
| /// - "UNKNOWN" : Unknown error. For example, this error may be returned when |
| /// a `Status` value received from another address space belongs to an error |
| /// space that is not known in this address space. Also errors raised by APIs |
| /// that do not return enough error information may be converted to this |
| /// error. HTTP Mapping: 500 Internal Server Error |
| /// - "INVALID_ARGUMENT" : The client specified an invalid argument. Note that |
| /// this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates |
| /// arguments that are problematic regardless of the state of the system |
| /// (e.g., a malformed file name). HTTP Mapping: 400 Bad Request |
| /// - "DEADLINE_EXCEEDED" : The deadline expired before the operation could |
| /// complete. For operations that change the state of the system, this error |
| /// may be returned even if the operation has completed successfully. For |
| /// example, a successful response from a server could have been delayed long |
| /// enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout |
| /// - "NOT_FOUND" : Some requested entity (e.g., file or directory) was not |
| /// found. Note to server developers: if a request is denied for an entire |
| /// class of users, such as gradual feature rollout or undocumented allowlist, |
| /// `NOT_FOUND` may be used. If a request is denied for some users within a |
| /// class of users, such as user-based access control, `PERMISSION_DENIED` |
| /// must be used. HTTP Mapping: 404 Not Found |
| /// - "ALREADY_EXISTS" : The entity that a client attempted to create (e.g., |
| /// file or directory) already exists. HTTP Mapping: 409 Conflict |
| /// - "PERMISSION_DENIED" : The caller does not have permission to execute the |
| /// specified operation. `PERMISSION_DENIED` must not be used for rejections |
| /// caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for |
| /// those errors). `PERMISSION_DENIED` must not be used if the caller can not |
| /// be identified (use `UNAUTHENTICATED` instead for those errors). This error |
| /// code does not imply the request is valid or the requested entity exists or |
| /// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden |
| /// - "UNAUTHENTICATED" : The request does not have valid authentication |
| /// credentials for the operation. HTTP Mapping: 401 Unauthorized |
| /// - "RESOURCE_EXHAUSTED" : Some resource has been exhausted, perhaps a |
| /// per-user quota, or perhaps the entire file system is out of space. HTTP |
| /// Mapping: 429 Too Many Requests |
| /// - "FAILED_PRECONDITION" : The operation was rejected because the system is |
| /// not in a state required for the operation's execution. For example, the |
| /// directory to be deleted is non-empty, an rmdir operation is applied to a |
| /// non-directory, etc. Service implementors can use the following guidelines |
| /// to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) |
| /// Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use |
| /// `ABORTED` if the client should retry at a higher level. For example, when |
| /// a client-specified test-and-set fails, indicating the client should |
| /// restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the |
| /// client should not retry until the system state has been explicitly fixed. |
| /// For example, if an "rmdir" fails because the directory is non-empty, |
| /// `FAILED_PRECONDITION` should be returned since the client should not retry |
| /// unless the files are deleted from the directory. HTTP Mapping: 400 Bad |
| /// Request |
| /// - "ABORTED" : The operation was aborted, typically due to a concurrency |
| /// issue such as a sequencer check failure or transaction abort. See the |
| /// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, |
| /// and `UNAVAILABLE`. HTTP Mapping: 409 Conflict |
| /// - "OUT_OF_RANGE" : The operation was attempted past the valid range. E.g., |
| /// seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error |
| /// indicates a problem that may be fixed if the system state changes. For |
| /// example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to |
| /// read at an offset that is not in the range \[0,2^32-1\], but it will |
| /// generate `OUT_OF_RANGE` if asked to read from an offset past the current |
| /// file size. There is a fair bit of overlap between `FAILED_PRECONDITION` |
| /// and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific |
| /// error) when it applies so that callers who are iterating through a space |
| /// can easily look for an `OUT_OF_RANGE` error to detect when they are done. |
| /// HTTP Mapping: 400 Bad Request |
| /// - "UNIMPLEMENTED" : The operation is not implemented or is not |
| /// supported/enabled in this service. HTTP Mapping: 501 Not Implemented |
| /// - "INTERNAL" : Internal errors. This means that some invariants expected |
| /// by the underlying system have been broken. This error code is reserved for |
| /// serious errors. HTTP Mapping: 500 Internal Server Error |
| /// - "UNAVAILABLE" : The service is currently unavailable. This is most |
| /// likely a transient condition, which can be corrected by retrying with a |
| /// backoff. Note that it is not always safe to retry non-idempotent |
| /// operations. See the guidelines above for deciding between |
| /// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 |
| /// Service Unavailable |
| /// - "DATA_LOSS" : Unrecoverable data loss or corruption. HTTP Mapping: 500 |
| /// Internal Server Error |
| core.String? canonicalCode; |
| |
| /// Machine-friendly representation of the condition Deprecated. |
| /// |
| /// Use canonical_code instead. |
| /// Possible string values are: |
| /// - "UNKNOWN" : UNKNOWN indicates a generic condition. |
| /// - "GCE_STOCKOUT" : GCE_STOCKOUT indicates that Google Compute Engine |
| /// resources are temporarily unavailable. |
| /// - "GKE_SERVICE_ACCOUNT_DELETED" : GKE_SERVICE_ACCOUNT_DELETED indicates |
| /// that the user deleted their robot service account. |
| /// - "GCE_QUOTA_EXCEEDED" : Google Compute Engine quota was exceeded. |
| /// - "SET_BY_OPERATOR" : Cluster state was manually changed by an SRE due to |
| /// a system logic error. |
| /// - "CLOUD_KMS_KEY_ERROR" : Unable to perform an encrypt operation against |
| /// the CloudKMS key used for etcd level encryption. |
| /// - "CA_EXPIRING" : Cluster CA is expiring soon. |
| core.String? code; |
| |
| /// Human-friendly representation of the condition |
| core.String? message; |
| |
| StatusCondition({ |
| this.canonicalCode, |
| this.code, |
| this.message, |
| }); |
| |
| StatusCondition.fromJson(core.Map json_) |
| : this( |
| canonicalCode: json_.containsKey('canonicalCode') |
| ? json_['canonicalCode'] as core.String |
| : null, |
| code: json_.containsKey('code') ? json_['code'] as core.String : null, |
| message: json_.containsKey('message') |
| ? json_['message'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (canonicalCode != null) 'canonicalCode': canonicalCode!, |
| if (code != null) 'code': code!, |
| if (message != null) 'message': message!, |
| }; |
| } |
| |
| /// Represents an arbitrary window of time. |
| class TimeWindow { |
| /// The time that the window ends. |
| /// |
| /// The end time should take place after the start time. |
| core.String? endTime; |
| |
| /// MaintenanceExclusionOptions provides maintenance exclusion related |
| /// options. |
| MaintenanceExclusionOptions? maintenanceExclusionOptions; |
| |
| /// The time that the window first starts. |
| core.String? startTime; |
| |
| TimeWindow({ |
| this.endTime, |
| this.maintenanceExclusionOptions, |
| this.startTime, |
| }); |
| |
| TimeWindow.fromJson(core.Map json_) |
| : this( |
| endTime: json_.containsKey('endTime') |
| ? json_['endTime'] as core.String |
| : null, |
| maintenanceExclusionOptions: |
| json_.containsKey('maintenanceExclusionOptions') |
| ? MaintenanceExclusionOptions.fromJson( |
| json_['maintenanceExclusionOptions'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| startTime: json_.containsKey('startTime') |
| ? json_['startTime'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (endTime != null) 'endTime': endTime!, |
| if (maintenanceExclusionOptions != null) |
| 'maintenanceExclusionOptions': maintenanceExclusionOptions!, |
| if (startTime != null) 'startTime': startTime!, |
| }; |
| } |
| |
| /// UpdateClusterRequest updates the settings of a cluster. |
| class UpdateClusterRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The name (project, location, cluster) of the cluster to update. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// A description of the update. |
| /// |
| /// Required. |
| ClusterUpdate? update; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| UpdateClusterRequest({ |
| this.clusterId, |
| this.name, |
| this.projectId, |
| this.update, |
| this.zone, |
| }); |
| |
| UpdateClusterRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| update: json_.containsKey('update') |
| ? ClusterUpdate.fromJson( |
| json_['update'] as core.Map<core.String, core.dynamic>) |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (update != null) 'update': update!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// UpdateInfo contains resource (instance groups, etc), status and other |
| /// intermediate information relevant to a node pool upgrade. |
| class UpdateInfo { |
| /// Information of a blue-green upgrade. |
| BlueGreenInfo? blueGreenInfo; |
| |
| UpdateInfo({ |
| this.blueGreenInfo, |
| }); |
| |
| UpdateInfo.fromJson(core.Map json_) |
| : this( |
| blueGreenInfo: json_.containsKey('blueGreenInfo') |
| ? BlueGreenInfo.fromJson( |
| json_['blueGreenInfo'] as core.Map<core.String, core.dynamic>) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (blueGreenInfo != null) 'blueGreenInfo': blueGreenInfo!, |
| }; |
| } |
| |
| /// UpdateMasterRequest updates the master of the cluster. |
| class UpdateMasterRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// The Kubernetes version to change the master to. |
| /// |
| /// Users may specify either explicit versions offered by Kubernetes Engine or |
| /// version aliases, which have the following behavior: - "latest": picks the |
| /// highest valid Kubernetes version - "1.X": picks the highest valid |
| /// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid |
| /// gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit |
| /// Kubernetes version - "-": picks the default Kubernetes version |
| /// |
| /// Required. |
| core.String? masterVersion; |
| |
| /// The name (project, location, cluster) of the cluster to update. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * `. |
| core.String? name; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| UpdateMasterRequest({ |
| this.clusterId, |
| this.masterVersion, |
| this.name, |
| this.projectId, |
| this.zone, |
| }); |
| |
| UpdateMasterRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| masterVersion: json_.containsKey('masterVersion') |
| ? json_['masterVersion'] as core.String |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (masterVersion != null) 'masterVersion': masterVersion!, |
| if (name != null) 'name': name!, |
| if (projectId != null) 'projectId': projectId!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// UpdateNodePoolRequests update a node pool's image and/or version. |
| class UpdateNodePoolRequest { |
| /// The name of the cluster to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? clusterId; |
| |
| /// Confidential nodes config. |
| /// |
| /// All the nodes in the node pool will be Confidential VM once enabled. |
| ConfidentialNodes? confidentialNodes; |
| |
| /// The current etag of the node pool. |
| /// |
| /// If an etag is provided and does not match the current etag of the node |
| /// pool, update will be blocked and an ABORTED error will be returned. |
| core.String? etag; |
| |
| /// Enable or disable NCCL fast socket for the node pool. |
| FastSocket? fastSocket; |
| |
| /// GCFS config. |
| GcfsConfig? gcfsConfig; |
| |
| /// Enable or disable gvnic on the node pool. |
| VirtualNIC? gvnic; |
| |
| /// The desired image type for the node pool. |
| /// |
| /// Please see |
| /// https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for |
| /// available image types. |
| /// |
| /// Required. |
| core.String? imageType; |
| |
| /// Node kubelet configs. |
| NodeKubeletConfig? kubeletConfig; |
| |
| /// The desired node labels to be applied to all nodes in the node pool. |
| /// |
| /// If this field is not present, the labels will not be changed. Otherwise, |
| /// the existing node labels will be *replaced* with the provided labels. |
| NodeLabels? labels; |
| |
| /// Parameters that can be configured on Linux nodes. |
| LinuxNodeConfig? linuxNodeConfig; |
| |
| /// The desired list of Google Compute Engine |
| /// [zones](https://cloud.google.com/compute/docs/zones#available) in which |
| /// the node pool's nodes should be located. |
| /// |
| /// Changing the locations for a node pool will result in nodes being either |
| /// created or removed from the node pool, depending on whether locations are |
| /// being added or removed. |
| core.List<core.String>? locations; |
| |
| /// Logging configuration. |
| NodePoolLoggingConfig? loggingConfig; |
| |
| /// The name (project, location, cluster, node pool) of the node pool to |
| /// update. |
| /// |
| /// Specified in the format `projects / * /locations / * /clusters / * |
| /// /nodePools / * `. |
| core.String? name; |
| |
| /// Node network config. |
| NodeNetworkConfig? nodeNetworkConfig; |
| |
| /// The name of the node pool to upgrade. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? nodePoolId; |
| |
| /// The Kubernetes version to change the nodes to (typically an upgrade). |
| /// |
| /// Users may specify either explicit versions offered by Kubernetes Engine or |
| /// version aliases, which have the following behavior: - "latest": picks the |
| /// highest valid Kubernetes version - "1.X": picks the highest valid |
| /// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid |
| /// gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit |
| /// Kubernetes version - "-": picks the Kubernetes master version |
| /// |
| /// Required. |
| core.String? nodeVersion; |
| |
| /// The Google Developers Console |
| /// [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? projectId; |
| |
| /// The resource labels for the node pool to use to annotate any related |
| /// Google Compute Engine resources. |
| ResourceLabels? resourceLabels; |
| |
| /// The desired network tags to be applied to all nodes in the node pool. |
| /// |
| /// If this field is not present, the tags will not be changed. Otherwise, the |
| /// existing network tags will be *replaced* with the provided tags. |
| NetworkTags? tags; |
| |
| /// The desired node taints to be applied to all nodes in the node pool. |
| /// |
| /// If this field is not present, the taints will not be changed. Otherwise, |
| /// the existing node taints will be *replaced* with the provided taints. |
| NodeTaints? taints; |
| |
| /// Upgrade settings control disruption and speed of the upgrade. |
| UpgradeSettings? upgradeSettings; |
| |
| /// Parameters that can be configured on Windows nodes. |
| WindowsNodeConfig? windowsNodeConfig; |
| |
| /// The desired workload metadata config for the node pool. |
| WorkloadMetadataConfig? workloadMetadataConfig; |
| |
| /// The name of the Google Compute Engine |
| /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the |
| /// cluster resides. |
| /// |
| /// This field has been deprecated and replaced by the name field. |
| /// |
| /// Deprecated. |
| core.String? zone; |
| |
| UpdateNodePoolRequest({ |
| this.clusterId, |
| this.confidentialNodes, |
| this.etag, |
| this.fastSocket, |
| this.gcfsConfig, |
| this.gvnic, |
| this.imageType, |
| this.kubeletConfig, |
| this.labels, |
| this.linuxNodeConfig, |
| this.locations, |
| this.loggingConfig, |
| this.name, |
| this.nodeNetworkConfig, |
| this.nodePoolId, |
| this.nodeVersion, |
| this.projectId, |
| this.resourceLabels, |
| this.tags, |
| this.taints, |
| this.upgradeSettings, |
| this.windowsNodeConfig, |
| this.workloadMetadataConfig, |
| this.zone, |
| }); |
| |
| UpdateNodePoolRequest.fromJson(core.Map json_) |
| : this( |
| clusterId: json_.containsKey('clusterId') |
| ? json_['clusterId'] as core.String |
| : null, |
| confidentialNodes: json_.containsKey('confidentialNodes') |
| ? ConfidentialNodes.fromJson(json_['confidentialNodes'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| etag: json_.containsKey('etag') ? json_['etag'] as core.String : null, |
| fastSocket: json_.containsKey('fastSocket') |
| ? FastSocket.fromJson( |
| json_['fastSocket'] as core.Map<core.String, core.dynamic>) |
| : null, |
| gcfsConfig: json_.containsKey('gcfsConfig') |
| ? GcfsConfig.fromJson( |
| json_['gcfsConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| gvnic: json_.containsKey('gvnic') |
| ? VirtualNIC.fromJson( |
| json_['gvnic'] as core.Map<core.String, core.dynamic>) |
| : null, |
| imageType: json_.containsKey('imageType') |
| ? json_['imageType'] as core.String |
| : null, |
| kubeletConfig: json_.containsKey('kubeletConfig') |
| ? NodeKubeletConfig.fromJson( |
| json_['kubeletConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| labels: json_.containsKey('labels') |
| ? NodeLabels.fromJson( |
| json_['labels'] as core.Map<core.String, core.dynamic>) |
| : null, |
| linuxNodeConfig: json_.containsKey('linuxNodeConfig') |
| ? LinuxNodeConfig.fromJson(json_['linuxNodeConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| locations: json_.containsKey('locations') |
| ? (json_['locations'] as core.List) |
| .map((value) => value as core.String) |
| .toList() |
| : null, |
| loggingConfig: json_.containsKey('loggingConfig') |
| ? NodePoolLoggingConfig.fromJson( |
| json_['loggingConfig'] as core.Map<core.String, core.dynamic>) |
| : null, |
| name: json_.containsKey('name') ? json_['name'] as core.String : null, |
| nodeNetworkConfig: json_.containsKey('nodeNetworkConfig') |
| ? NodeNetworkConfig.fromJson(json_['nodeNetworkConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| nodePoolId: json_.containsKey('nodePoolId') |
| ? json_['nodePoolId'] as core.String |
| : null, |
| nodeVersion: json_.containsKey('nodeVersion') |
| ? json_['nodeVersion'] as core.String |
| : null, |
| projectId: json_.containsKey('projectId') |
| ? json_['projectId'] as core.String |
| : null, |
| resourceLabels: json_.containsKey('resourceLabels') |
| ? ResourceLabels.fromJson(json_['resourceLabels'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| tags: json_.containsKey('tags') |
| ? NetworkTags.fromJson( |
| json_['tags'] as core.Map<core.String, core.dynamic>) |
| : null, |
| taints: json_.containsKey('taints') |
| ? NodeTaints.fromJson( |
| json_['taints'] as core.Map<core.String, core.dynamic>) |
| : null, |
| upgradeSettings: json_.containsKey('upgradeSettings') |
| ? UpgradeSettings.fromJson(json_['upgradeSettings'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| windowsNodeConfig: json_.containsKey('windowsNodeConfig') |
| ? WindowsNodeConfig.fromJson(json_['windowsNodeConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| workloadMetadataConfig: json_.containsKey('workloadMetadataConfig') |
| ? WorkloadMetadataConfig.fromJson(json_['workloadMetadataConfig'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| zone: json_.containsKey('zone') ? json_['zone'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (clusterId != null) 'clusterId': clusterId!, |
| if (confidentialNodes != null) 'confidentialNodes': confidentialNodes!, |
| if (etag != null) 'etag': etag!, |
| if (fastSocket != null) 'fastSocket': fastSocket!, |
| if (gcfsConfig != null) 'gcfsConfig': gcfsConfig!, |
| if (gvnic != null) 'gvnic': gvnic!, |
| if (imageType != null) 'imageType': imageType!, |
| if (kubeletConfig != null) 'kubeletConfig': kubeletConfig!, |
| if (labels != null) 'labels': labels!, |
| if (linuxNodeConfig != null) 'linuxNodeConfig': linuxNodeConfig!, |
| if (locations != null) 'locations': locations!, |
| if (loggingConfig != null) 'loggingConfig': loggingConfig!, |
| if (name != null) 'name': name!, |
| if (nodeNetworkConfig != null) 'nodeNetworkConfig': nodeNetworkConfig!, |
| if (nodePoolId != null) 'nodePoolId': nodePoolId!, |
| if (nodeVersion != null) 'nodeVersion': nodeVersion!, |
| if (projectId != null) 'projectId': projectId!, |
| if (resourceLabels != null) 'resourceLabels': resourceLabels!, |
| if (tags != null) 'tags': tags!, |
| if (taints != null) 'taints': taints!, |
| if (upgradeSettings != null) 'upgradeSettings': upgradeSettings!, |
| if (windowsNodeConfig != null) 'windowsNodeConfig': windowsNodeConfig!, |
| if (workloadMetadataConfig != null) |
| 'workloadMetadataConfig': workloadMetadataConfig!, |
| if (zone != null) 'zone': zone!, |
| }; |
| } |
| |
| /// These upgrade settings control the level of parallelism and the level of |
| /// disruption caused by an upgrade. |
| /// |
| /// maxUnavailable controls the number of nodes that can be simultaneously |
| /// unavailable. maxSurge controls the number of additional nodes that can be |
| /// added to the node pool temporarily for the time of the upgrade to increase |
| /// the number of available nodes. (maxUnavailable + maxSurge) determines the |
| /// level of parallelism (how many nodes are being upgraded at the same time). |
| /// Note: upgrades inevitably introduce some disruption since workloads need to |
| /// be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, |
| /// this holds true. (Disruption stays within the limits of PodDisruptionBudget, |
| /// if it is configured.) Consider a hypothetical node pool with 5 nodes having |
| /// maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 |
| /// nodes simultaneously. It creates 2 additional (upgraded) nodes, then it |
| /// brings down 3 old (not yet upgraded) nodes at the same time. This ensures |
| /// that there are always at least 4 nodes available. These upgrade settings |
| /// configure the upgrade strategy for the node pool. Use strategy to switch |
| /// between the strategies applied to the node pool. If the strategy is ROLLING, |
| /// use max_surge and max_unavailable to control the level of parallelism and |
| /// the level of disruption caused by upgrade. 1. maxSurge controls the number |
| /// of additional nodes that can be added to the node pool temporarily for the |
| /// time of the upgrade to increase the number of available nodes. 2. |
| /// maxUnavailable controls the number of nodes that can be simultaneously |
| /// unavailable. 3. (maxUnavailable + maxSurge) determines the level of |
| /// parallelism (how many nodes are being upgraded at the same time). If the |
| /// strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green |
| /// upgrade related settings. 1. standard_rollout_policy is the default policy. |
| /// The policy is used to control the way blue pool gets drained. The draining |
| /// is executed in the batch mode. The batch size could be specified as either |
| /// percentage of the node pool size or the number of nodes. batch_soak_duration |
| /// is the soak time after each batch gets drained. 2. node_pool_soak_duration |
| /// is the soak time after all blue nodes are drained. After this period, the |
| /// blue pool nodes will be deleted. |
| class UpgradeSettings { |
| /// Settings for blue-green upgrade strategy. |
| BlueGreenSettings? blueGreenSettings; |
| |
| /// The maximum number of nodes that can be created beyond the current size of |
| /// the node pool during the upgrade process. |
| core.int? maxSurge; |
| |
| /// The maximum number of nodes that can be simultaneously unavailable during |
| /// the upgrade process. |
| /// |
| /// A node is considered available if its status is Ready. |
| core.int? maxUnavailable; |
| |
| /// Update strategy of the node pool. |
| /// Possible string values are: |
| /// - "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED" : Default value if unset. GKE |
| /// internally defaults the update strategy to SURGE for unspecified |
| /// strategies. |
| /// - "BLUE_GREEN" : blue-green upgrade. |
| /// - "SURGE" : SURGE is the traditional way of upgrade a node pool. max_surge |
| /// and max_unavailable determines the level of upgrade parallelism. |
| core.String? strategy; |
| |
| UpgradeSettings({ |
| this.blueGreenSettings, |
| this.maxSurge, |
| this.maxUnavailable, |
| this.strategy, |
| }); |
| |
| UpgradeSettings.fromJson(core.Map json_) |
| : this( |
| blueGreenSettings: json_.containsKey('blueGreenSettings') |
| ? BlueGreenSettings.fromJson(json_['blueGreenSettings'] |
| as core.Map<core.String, core.dynamic>) |
| : null, |
| maxSurge: json_.containsKey('maxSurge') |
| ? json_['maxSurge'] as core.int |
| : null, |
| maxUnavailable: json_.containsKey('maxUnavailable') |
| ? json_['maxUnavailable'] as core.int |
| : null, |
| strategy: json_.containsKey('strategy') |
| ? json_['strategy'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (blueGreenSettings != null) 'blueGreenSettings': blueGreenSettings!, |
| if (maxSurge != null) 'maxSurge': maxSurge!, |
| if (maxUnavailable != null) 'maxUnavailable': maxUnavailable!, |
| if (strategy != null) 'strategy': strategy!, |
| }; |
| } |
| |
| /// UsableSubnetwork resource returns the subnetwork name, its associated |
| /// network and the primary CIDR range. |
| class UsableSubnetwork { |
| /// The range of internal addresses that are owned by this subnetwork. |
| core.String? ipCidrRange; |
| |
| /// Network Name. |
| /// |
| /// Example: projects/my-project/global/networks/my-network |
| core.String? network; |
| |
| /// Secondary IP ranges. |
| core.List<UsableSubnetworkSecondaryRange>? secondaryIpRanges; |
| |
| /// A human readable status message representing the reasons for cases where |
| /// the caller cannot use the secondary ranges under the subnet. |
| /// |
| /// For example if the secondary_ip_ranges is empty due to a permission issue, |
| /// an insufficient permission message will be given by status_message. |
| core.String? statusMessage; |
| |
| /// Subnetwork Name. |
| /// |
| /// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet |
| core.String? subnetwork; |
| |
| UsableSubnetwork({ |
| this.ipCidrRange, |
| this.network, |
| this.secondaryIpRanges, |
| this.statusMessage, |
| this.subnetwork, |
| }); |
| |
| UsableSubnetwork.fromJson(core.Map json_) |
| : this( |
| ipCidrRange: json_.containsKey('ipCidrRange') |
| ? json_['ipCidrRange'] as core.String |
| : null, |
| network: json_.containsKey('network') |
| ? json_['network'] as core.String |
| : null, |
| secondaryIpRanges: json_.containsKey('secondaryIpRanges') |
| ? (json_['secondaryIpRanges'] as core.List) |
| .map((value) => UsableSubnetworkSecondaryRange.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList() |
| : null, |
| statusMessage: json_.containsKey('statusMessage') |
| ? json_['statusMessage'] as core.String |
| : null, |
| subnetwork: json_.containsKey('subnetwork') |
| ? json_['subnetwork'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (ipCidrRange != null) 'ipCidrRange': ipCidrRange!, |
| if (network != null) 'network': network!, |
| if (secondaryIpRanges != null) 'secondaryIpRanges': secondaryIpRanges!, |
| if (statusMessage != null) 'statusMessage': statusMessage!, |
| if (subnetwork != null) 'subnetwork': subnetwork!, |
| }; |
| } |
| |
| /// Secondary IP range of a usable subnetwork. |
| class UsableSubnetworkSecondaryRange { |
| /// The range of IP addresses belonging to this subnetwork secondary range. |
| core.String? ipCidrRange; |
| |
| /// The name associated with this subnetwork secondary range, used when adding |
| /// an alias IP range to a VM instance. |
| core.String? rangeName; |
| |
| /// This field is to determine the status of the secondary range programmably. |
| /// Possible string values are: |
| /// - "UNKNOWN" : UNKNOWN is the zero value of the Status enum. It's not a |
| /// valid status. |
| /// - "UNUSED" : UNUSED denotes that this range is unclaimed by any cluster. |
| /// - "IN_USE_SERVICE" : IN_USE_SERVICE denotes that this range is claimed by |
| /// cluster(s) for services. User-managed services range can be shared between |
| /// clusters within the same subnetwork. |
| /// - "IN_USE_SHAREABLE_POD" : IN_USE_SHAREABLE_POD denotes this range was |
| /// created by the network admin and is currently claimed by a cluster for |
| /// pods. It can only be used by other clusters as a pod range. |
| /// - "IN_USE_MANAGED_POD" : IN_USE_MANAGED_POD denotes this range was created |
| /// by GKE and is claimed for pods. It cannot be used for other clusters. |
| core.String? status; |
| |
| UsableSubnetworkSecondaryRange({ |
| this.ipCidrRange, |
| this.rangeName, |
| this.status, |
| }); |
| |
| UsableSubnetworkSecondaryRange.fromJson(core.Map json_) |
| : this( |
| ipCidrRange: json_.containsKey('ipCidrRange') |
| ? json_['ipCidrRange'] as core.String |
| : null, |
| rangeName: json_.containsKey('rangeName') |
| ? json_['rangeName'] as core.String |
| : null, |
| status: json_.containsKey('status') |
| ? json_['status'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (ipCidrRange != null) 'ipCidrRange': ipCidrRange!, |
| if (rangeName != null) 'rangeName': rangeName!, |
| if (status != null) 'status': status!, |
| }; |
| } |
| |
| /// VerticalPodAutoscaling contains global, per-cluster information required by |
| /// Vertical Pod Autoscaler to automatically adjust the resources of pods |
| /// controlled by it. |
| class VerticalPodAutoscaling { |
| /// Enables vertical pod autoscaling. |
| core.bool? enabled; |
| |
| VerticalPodAutoscaling({ |
| this.enabled, |
| }); |
| |
| VerticalPodAutoscaling.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Configuration of gVNIC feature. |
| class VirtualNIC { |
| /// Whether gVNIC features are enabled in the node pool. |
| core.bool? enabled; |
| |
| VirtualNIC({ |
| this.enabled, |
| }); |
| |
| VirtualNIC.fromJson(core.Map json_) |
| : this( |
| enabled: json_.containsKey('enabled') |
| ? json_['enabled'] as core.bool |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (enabled != null) 'enabled': enabled!, |
| }; |
| } |
| |
| /// Parameters that can be configured on Windows nodes. |
| /// |
| /// Windows Node Config that define the parameters that will be used to |
| /// configure the Windows node pool settings |
| class WindowsNodeConfig { |
| /// OSVersion specifies the Windows node config to be used on the node |
| /// Possible string values are: |
| /// - "OS_VERSION_UNSPECIFIED" : When OSVersion is not specified |
| /// - "OS_VERSION_LTSC2019" : LTSC2019 specifies to use LTSC2019 as the |
| /// Windows Servercore Base Image |
| /// - "OS_VERSION_LTSC2022" : LTSC2022 specifies to use LTSC2022 as the |
| /// Windows Servercore Base Image |
| core.String? osVersion; |
| |
| WindowsNodeConfig({ |
| this.osVersion, |
| }); |
| |
| WindowsNodeConfig.fromJson(core.Map json_) |
| : this( |
| osVersion: json_.containsKey('osVersion') |
| ? json_['osVersion'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (osVersion != null) 'osVersion': osVersion!, |
| }; |
| } |
| |
| /// Configuration for the use of Kubernetes Service Accounts in GCP IAM |
| /// policies. |
| class WorkloadIdentityConfig { |
| /// The workload pool to attach all Kubernetes service accounts to. |
| core.String? workloadPool; |
| |
| WorkloadIdentityConfig({ |
| this.workloadPool, |
| }); |
| |
| WorkloadIdentityConfig.fromJson(core.Map json_) |
| : this( |
| workloadPool: json_.containsKey('workloadPool') |
| ? json_['workloadPool'] as core.String |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (workloadPool != null) 'workloadPool': workloadPool!, |
| }; |
| } |
| |
| /// WorkloadMetadataConfig defines the metadata configuration to expose to |
| /// workloads on the node pool. |
| class WorkloadMetadataConfig { |
| /// Mode is the configuration for how to expose metadata to workloads running |
| /// on the node pool. |
| /// Possible string values are: |
| /// - "MODE_UNSPECIFIED" : Not set. |
| /// - "GCE_METADATA" : Expose all Compute Engine metadata to pods. |
| /// - "GKE_METADATA" : Run the GKE Metadata Server on this node. The GKE |
| /// Metadata Server exposes a metadata API to workloads that is compatible |
| /// with the V1 Compute Metadata APIs exposed by the Compute Engine and App |
| /// Engine Metadata Servers. This feature can only be enabled if Workload |
| /// Identity is enabled at the cluster level. |
| core.String? mode; |
| |
| WorkloadMetadataConfig({ |
| this.mode, |
| }); |
| |
| WorkloadMetadataConfig.fromJson(core.Map json_) |
| : this( |
| mode: json_.containsKey('mode') ? json_['mode'] as core.String : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (mode != null) 'mode': mode!, |
| }; |
| } |