diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index 68f3e04b048..07579a2fea2 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -778,6 +778,15 @@ export namespace compute_alpha { * images are encrypted with your own keys. */ sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * The source snapshot to create this disk. When creating a new instance, + * one of initializeParams.sourceSnapshot or disks.source is required except + * for local SSD. To create a disk with a snapshot that you created, + * specify the snapshot name in the following format: + * global/snapshots/my-backup If the source snapshot is deleted later, + * this field will not be set. + */ + sourceSnapshot?: string; } /** * Specifies the audit configuration for a service. The configuration @@ -1677,12 +1686,32 @@ export namespace compute_alpha { export interface Schema$BackendServiceIAP { enabled?: boolean; oauth2ClientId?: string; + /** + * [Input Only] OAuth client info required to generate client id to be used + * for IAP. + */ + oauth2ClientInfo?: Schema$BackendServiceIAPOAuth2ClientInfo; oauth2ClientSecret?: string; /** * [Output Only] SHA256 hash value for the field oauth2_client_secret above. */ oauth2ClientSecretSha256?: string; } + export interface Schema$BackendServiceIAPOAuth2ClientInfo { + /** + * Application name to be used in OAuth consent screen. + */ + applicationName?: string; + /** + * Name of the client to be generated. Optional - If not provided, the name + * will be autogenerated by the backend. + */ + clientName?: string; + /** + * Developer's information to be used in OAuth consent screen. + */ + developerEmailAddress?: string; + } /** * Contains a list of BackendService resources. */ @@ -1887,9 +1916,8 @@ export namespace compute_alpha { statusMessage?: string; /** * The type of commitment, which affects the discount rate and the eligible - * resources. Type MEMORY_OPTIMIZED_VM specifies a commitment that will only - * apply to memory optimized VMs. Type NORMAL specifies a commitment that - * applies to all other resources. + * resources. Type MEMORY_OPTIMIZED specifies a commitment that will only + * apply to memory optimized machines. */ type?: string; } @@ -2649,9 +2677,7 @@ export namespace compute_alpha { disabled?: boolean; /** * This field denotes whether to enable logging for a particular firewall - * rule. If logging is enabled, logs will be exported to the configured - * export destination for all firewall logs in the network. Logs may be - * exported to BigQuery or Pub/Sub. + * rule. If logging is enabled, logs will be exported to Stackdriver. */ enableLogging?: boolean; /** @@ -3865,6 +3891,51 @@ export namespace compute_alpha { */ warning?: any; } + export interface Schema$HTTPSHealthCheck { + /** + * The value of the host header in the HTTPS health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value is + * 443. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies how port is selected for health checking, can be one of + * following values: USE_FIXED_PORT: The port number in port is used for + * health checking. USE_NAMED_PORT: The portName is used for health + * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified + * for each network endpoint is used for health checking. For other + * backends, the port or named port specified in the Backend Service is used + * for health checking. If not specified, HTTPS health check follows + * behavior specified in port and portName fields. + */ + portSpecification?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTPS health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } /** * An HttpsHealthCheck resource. This resource defines a template for how * individual instances should be checked for health, via HTTPS. @@ -3940,51 +4011,6 @@ export namespace compute_alpha { */ unhealthyThreshold?: number; } - export interface Schema$HTTPSHealthCheck { - /** - * The value of the host header in the HTTPS health check request. If left - * empty (default value), the IP on behalf of which this health check is - * performed will be used. - */ - host?: string; - /** - * The TCP port number for the health check request. The default value is - * 443. Valid values are 1 through 65535. - */ - port?: number; - /** - * Port name as defined in InstanceGroup#NamedPort#name. If both port and - * port_name are defined, port takes precedence. - */ - portName?: string; - /** - * Specifies how port is selected for health checking, can be one of - * following values: USE_FIXED_PORT: The port number in port is used for - * health checking. USE_NAMED_PORT: The portName is used for health - * checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified - * for each network endpoint is used for health checking. For other - * backends, the port or named port specified in the Backend Service is used - * for health checking. If not specified, HTTPS health check follows - * behavior specified in port and portName fields. - */ - portSpecification?: string; - /** - * Specifies the type of proxy header to append before sending data to the - * backend, either NONE or PROXY_V1. The default is NONE. - */ - proxyHeader?: string; - /** - * The request path of the HTTPS health check request. The default value is - * /. - */ - requestPath?: string; - /** - * The string to match anywhere in the first 1024 bytes of the response - * body. If left empty (the default value), the status code determines - * health. The response data can only be ASCII. - */ - response?: string; - } /** * Contains a list of HttpsHealthCheck resources. */ @@ -4378,6 +4404,10 @@ export namespace compute_alpha { serviceAccounts?: Schema$ServiceAccount[]; shieldedVmConfig?: Schema$ShieldedVmConfig; shieldedVmIntegrityPolicy?: Schema$ShieldedVmIntegrityPolicy; + /** + * Source machine image + */ + sourceMachineImage?: string; /** * [Output Only] Whether a VM has been restricted for start because Compute * Engine has detected suspicious activity. @@ -4627,7 +4657,7 @@ export namespace compute_alpha { * Fingerprint of this resource. This field may be used in optimistic * locking. It will be ignored when inserting an InstanceGroupManager. An * up-to-date fingerprint must be provided in order to update the - * InstanceGroupManager or the field need to be unset. + * InstanceGroupManager. */ fingerprint?: string; /** @@ -7417,6 +7447,10 @@ export namespace compute_alpha { * Instances scheduled on this node. */ instances?: string[]; + /** + * The name of the node. + */ + name?: string; /** * The type of this node. */ @@ -7433,6 +7467,7 @@ export namespace compute_alpha { * Indexes of the nodes to be deleted from the node group. */ nodeIndexes?: number[]; + nodes?: string[]; } export interface Schema$NodeGroupsScopedList { /** @@ -9146,8 +9181,7 @@ export namespace compute_alpha { */ name?: string; /** - * A list of Nat services created in this router. The maximum number of Nat - * services within a Router is 3 for Alpha. + * A list of Nat services created in this router. */ nats?: Schema$RouterNat[]; /** @@ -9651,7 +9685,7 @@ export namespace compute_alpha { } /** * A security policy is comprised of one or more rules. It can also be - * associated with one or more 'targets'. + * associated with one or more 'targets'. Next available tag: 11 */ export interface Schema$SecurityPolicy { /** @@ -9682,6 +9716,21 @@ export namespace compute_alpha { * security policies */ kind?: string; + /** + * A fingerprint for the labels being applied to this security policy, which + * is essentially a hash of the labels set used for optimistic locking. The + * fingerprint is initially generated by Compute Engine and changes after + * every request to modify or update labels. You must always provide an + * up-to-date fingerprint hash in order to update or change labels. To see + * the latest fingerprint, make get() request to the security policy. + */ + labelFingerprint?: string; + /** + * Labels to apply to this security policy resource. These can be later + * modified by the setLabels method. Each label key/value must comply with + * RFC1035. Label values may be empty. + */ + labels?: any; /** * Name of the resource. Provided by the client when the resource is * created. The name must be 1-63 characters long, and comply with RFC1035. @@ -9950,8 +9999,8 @@ export namespace compute_alpha { */ labels?: any; /** - * Integer license codes indicating which licenses are attached to this - * snapshot. + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. */ licenseCodes?: string[]; /** @@ -41398,8 +41447,8 @@ export namespace compute_alpha { /** * compute.nodeGroups.get - * @desc Returns the specified NodeGroup. Gets a list of available - * NodeGroups by making a list() request. + * @desc Returns the specified NodeGroup. Get a list of available NodeGroups + * by making a list() request. * @alias compute.nodeGroups.get * @memberOf! () * @@ -57059,6 +57108,78 @@ export namespace compute_alpha { } + /** + * compute.securityPolicies.setLabels + * @desc Sets the labels on a security policy. To learn more about labels, + * read the Labeling Resources documentation. + * @alias compute.securityPolicies.setLabels + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().GlobalSetLabelsRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setLabels( + params?: Params$Resource$Securitypolicies$Setlabels, + options?: MethodOptions): AxiosPromise; + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, + callback: BodyResponseCallback): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: Params$Resource$Securitypolicies$Setlabels| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Securitypolicies$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Securitypolicies$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/alpha/projects/{project}/global/securityPolicies/{resource}/setLabels') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + /** * compute.securityPolicies.testIamPermissions * @desc Returns permissions that a caller has on the specified resource. @@ -57439,6 +57560,26 @@ export namespace compute_alpha { */ securityPolicy?: string; } + export interface Params$Resource$Securitypolicies$Setlabels { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } export interface Params$Resource$Securitypolicies$Testiampermissions { /** * Auth client or API Key for the request diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 2b1527ef0b0..4d459387f93 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -77,6 +77,9 @@ export namespace compute_beta { licenses: Resource$Licenses; machineTypes: Resource$Machinetypes; networks: Resource$Networks; + nodeGroups: Resource$Nodegroups; + nodeTemplates: Resource$Nodetemplates; + nodeTypes: Resource$Nodetypes; projects: Resource$Projects; regionAutoscalers: Resource$Regionautoscalers; regionBackendServices: Resource$Regionbackendservices; @@ -138,6 +141,9 @@ export namespace compute_beta { this.licenses = new Resource$Licenses(this); this.machineTypes = new Resource$Machinetypes(this); this.networks = new Resource$Networks(this); + this.nodeGroups = new Resource$Nodegroups(this); + this.nodeTemplates = new Resource$Nodetemplates(this); + this.nodeTypes = new Resource$Nodetypes(this); this.projects = new Resource$Projects(this); this.regionAutoscalers = new Resource$Regionautoscalers(this); this.regionBackendServices = new Resource$Regionbackendservices(this); @@ -2402,6 +2408,11 @@ export namespace compute_beta { * unspecified, the firewall rule will be enabled. */ disabled?: boolean; + /** + * This field denotes whether to enable logging for a particular firewall + * rule. If logging is enabled, logs will be exported to Stackdriver. + */ + enableLogging?: boolean; /** * [Output Only] The unique identifier for the resource. This identifier is * defined by the server. @@ -3044,6 +3055,40 @@ export namespace compute_beta { */ response?: string; } + export interface Schema$HTTPHealthCheck { + /** + * The value of the host header in the HTTP health check request. If left + * empty (default value), the IP on behalf of which this health check is + * performed will be used. + */ + host?: string; + /** + * The TCP port number for the health check request. The default value + * is 80. Valid values are 1 through 65535. + */ + port?: number; + /** + * Port name as defined in InstanceGroup#NamedPort#name. If both port and + * port_name are defined, port takes precedence. + */ + portName?: string; + /** + * Specifies the type of proxy header to append before sending data to the + * backend, either NONE or PROXY_V1. The default is NONE. + */ + proxyHeader?: string; + /** + * The request path of the HTTP health check request. The default value is + * /. + */ + requestPath?: string; + /** + * The string to match anywhere in the first 1024 bytes of the response + * body. If left empty (the default value), the status code determines + * health. The response data can only be ASCII. + */ + response?: string; + } /** * An HttpHealthCheck resource. This resource defines a template for how * individual instances should be checked for health, via HTTP. @@ -3120,40 +3165,6 @@ export namespace compute_beta { */ unhealthyThreshold?: number; } - export interface Schema$HTTPHealthCheck { - /** - * The value of the host header in the HTTP health check request. If left - * empty (default value), the IP on behalf of which this health check is - * performed will be used. - */ - host?: string; - /** - * The TCP port number for the health check request. The default value - * is 80. Valid values are 1 through 65535. - */ - port?: number; - /** - * Port name as defined in InstanceGroup#NamedPort#name. If both port and - * port_name are defined, port takes precedence. - */ - portName?: string; - /** - * Specifies the type of proxy header to append before sending data to the - * backend, either NONE or PROXY_V1. The default is NONE. - */ - proxyHeader?: string; - /** - * The request path of the HTTP health check request. The default value is - * /. - */ - requestPath?: string; - /** - * The string to match anywhere in the first 1024 bytes of the response - * body. If left empty (the default value), the status code determines - * health. The response data can only be ASCII. - */ - response?: string; - } /** * Contains a list of HttpHealthCheck resources. */ @@ -3654,6 +3665,8 @@ export namespace compute_beta { * See Service Accounts for more information. */ serviceAccounts?: Schema$ServiceAccount[]; + shieldedVmConfig?: Schema$ShieldedVmConfig; + shieldedVmIntegrityPolicy?: Schema$ShieldedVmIntegrityPolicy; /** * [Output Only] Whether a VM has been restricted for start because Compute * Engine has detected suspicious activity. @@ -3902,7 +3915,7 @@ export namespace compute_beta { * Fingerprint of this resource. This field may be used in optimistic * locking. It will be ignored when inserting an InstanceGroupManager. An * up-to-date fingerprint must be provided in order to update the - * InstanceGroupManager or the field need to be unset. + * InstanceGroupManager. */ fingerprint?: string; /** @@ -4546,6 +4559,11 @@ export namespace compute_beta { * instances. */ serviceAccounts?: Schema$ServiceAccount[]; + /** + * Specifies the Shielded VM options for the instances that are created from + * this template. + */ + shieldedVmConfig?: Schema$ShieldedVmConfig; /** * A list of tags to apply to the instances that are created from this * template. The tags identify valid sources or targets for network @@ -6069,6 +6087,447 @@ export namespace compute_beta { */ name?: string; } + /** + * A NodeGroup resource. + */ + export interface Schema$NodeGroup { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeGroup for node + * group. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last character, + * which cannot be a dash. + */ + name?: string; + /** + * [Output Only] A list of nodes in this node group. + */ + nodes?: Schema$NodeGroupNode[]; + /** + * The URL of the node template to which this node group belongs. + */ + nodeTemplate?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + status?: string; + /** + * [Output Only] The name of the zone where the node group resides, such as + * us-central1-a. + */ + zone?: string; + } + export interface Schema$NodeGroupAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroupsScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeGroupAggregatedList for + * aggregated lists of node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of nodeGroups. + */ + export interface Schema$NodeGroupList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeGroup resources. + */ + items?: Schema$NodeGroup[]; + /** + * [Output Only] Type of resource.Always compute#nodeGroupList for lists of + * node groups. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + export interface Schema$NodeGroupNode { + /** + * Instances scheduled on this node. + */ + instances?: string[]; + /** + * The name of the node. + */ + name?: string; + /** + * The type of this node. + */ + nodeType?: string; + } + export interface Schema$NodeGroupsAddNodesRequest { + /** + * Count of additional nodes to be added to the node group. + */ + additionalNodeCount?: number; + } + export interface Schema$NodeGroupsDeleteNodesRequest { + nodes?: string[]; + } + export interface Schema$NodeGroupsScopedList { + /** + * [Output Only] A list of node groups contained in this scope. + */ + nodeGroups?: Schema$NodeGroup[]; + /** + * [Output Only] An informational warning that appears when the nodeGroup + * list is empty. + */ + warning?: any; + } + export interface Schema$NodeGroupsSetNodeTemplateRequest { + /** + * Full or partial URL of the node template resource to be updated for this + * node group. + */ + nodeTemplate?: string; + } + /** + * A Node Template resource. + */ + export interface Schema$NodeTemplate { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeTemplate for + * node templates. + */ + kind?: string; + /** + * The name of the resource, provided by the client when initially creating + * the resource. The resource name must be 1-63 characters long, and comply + * with RFC1035. Specifically, the name must be 1-63 characters long and + * match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + * first character must be a lowercase letter, and all following characters + * must be a dash, lowercase letter, or digit, except the last charaicter, + * which cannot be a dash. + */ + name?: string; + /** + * Labels to use for node affinity, which will be used in instance + * scheduling. + */ + nodeAffinityLabels?: any; + /** + * The node type to use for nodes group that are created from this template. + */ + nodeType?: string; + /** + * The flexible properties of the desired node type. Node groups that use + * this node template will create nodes of a type that matches these + * properties. This field is mutually exclusive with the node_type + * property; you can only define one or the other, but not both. + */ + nodeTypeFlexibility?: Schema$NodeTemplateNodeTypeFlexibility; + /** + * [Output Only] The name of the region where the node template resides, + * such as us-central1. + */ + region?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The status of the node template. One of the following + * values: CREATING, READY, and DELETING. + */ + status?: string; + /** + * [Output Only] An optional, human-readable explanation of the status. + */ + statusMessage?: string; + } + export interface Schema$NodeTemplateAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplatesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateAggregatedList + * for aggregated lists of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node templates. + */ + export interface Schema$NodeTemplateList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTemplate resources. + */ + items?: Schema$NodeTemplate[]; + /** + * [Output Only] Type of resource.Always compute#nodeTemplateList for lists + * of node templates. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + export interface Schema$NodeTemplateNodeTypeFlexibility { + cpus?: string; + localSsd?: string; + memory?: string; + } + export interface Schema$NodeTemplatesScopedList { + /** + * [Output Only] A list of node templates contained in this scope. + */ + nodeTemplates?: Schema$NodeTemplate[]; + /** + * [Output Only] An informational warning that appears when the node + * templates list is empty. + */ + warning?: any; + } + /** + * A Node Type resource. + */ + export interface Schema$NodeType { + /** + * [Output Only] The CPU platform used by this node type. + */ + cpuPlatform?: string; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string; + /** + * [Output Only] The deprecation status associated with this node type. + */ + deprecated?: Schema$DeprecationStatus; + /** + * [Output Only] An optional textual description of the resource. + */ + description?: string; + /** + * [Output Only] The number of virtual CPUs that are available to the node + * type. + */ + guestCpus?: number; + /** + * [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string; + /** + * [Output Only] The type of the resource. Always compute#nodeType for node + * types. + */ + kind?: string; + /** + * [Output Only] Local SSD available to the node type, defined in GB. + */ + localSsdGb?: number; + /** + * [Output Only] The amount of physical memory available to the node type, + * defined in MB. + */ + memoryMb?: number; + /** + * [Output Only] Name of the resource. + */ + name?: string; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string; + /** + * [Output Only] The name of the zone where the node type resides, such as + * us-central1-a. + */ + zone?: string; + } + export interface Schema$NodeTypeAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeTypesScopedList resources. + */ + items?: any; + /** + * [Output Only] Type of resource.Always compute#nodeTypeAggregatedList for + * aggregated lists of node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + /** + * Contains a list of node types. + */ + export interface Schema$NodeTypeList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string; + /** + * A list of NodeType resources. + */ + items?: Schema$NodeType[]; + /** + * [Output Only] Type of resource.Always compute#nodeTypeList for lists of + * node types. + */ + kind?: string; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger than maxResults, use + * the nextPageToken as a value for the query parameter pageToken in the + * next list request. Subsequent list requests will have their own + * nextPageToken to continue paging through the results. + */ + nextPageToken?: string; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string; + /** + * [Output Only] Informational warning message. + */ + warning?: any; + } + export interface Schema$NodeTypesScopedList { + /** + * [Output Only] A list of node types contained in this scope. + */ + nodeTypes?: Schema$NodeType[]; + /** + * [Output Only] An informational warning that appears when the node types + * list is empty. + */ + warning?: any; + } /** * An Operation resource, used to manage asynchronous API requests. (== * resource_for v1.globalOperations ==) (== resource_for beta.globalOperations @@ -7472,6 +7931,10 @@ export namespace compute_beta { * Compute Engine. */ automaticRestart?: boolean; + /** + * A set of node affinity and anti-affinity. + */ + nodeAffinities?: Schema$SchedulingNodeAffinity[]; /** * Defines the maintenance behavior for this instance. For standard * instances, the default behavior is MIGRATE. For preemptible instances, @@ -7486,9 +7949,27 @@ export namespace compute_beta { */ preemptible?: boolean; } + /** + * Node Affinity: the configuration of desired nodes onto which this Instance + * could be scheduled. + */ + export interface Schema$SchedulingNodeAffinity { + /** + * Corresponds to the label key of Node resource. + */ + key?: string; + /** + * Defines the operation of node selection. + */ + operator?: string; + /** + * Corresponds to the label values of Node resource. + */ + values?: string[]; + } /** * A security policy is comprised of one or more rules. It can also be - * associated with one or more 'targets'. + * associated with one or more 'targets'. Next available tag: 11 */ export interface Schema$SecurityPolicy { /** @@ -7687,6 +8168,33 @@ export namespace compute_beta { */ scopes?: string[]; } + /** + * A set of Shielded VM options. + */ + export interface Schema$ShieldedVmConfig { + /** + * Defines whether the instance should have integrity monitoring enabled. + */ + enableIntegrityMonitoring?: boolean; + /** + * Defines whether the instance should have secure boot enabled. + */ + enableSecureBoot?: boolean; + /** + * Defines whether the instance should have the TPM enabled. + */ + enableVtpm?: boolean; + } + /** + * The policy describes how boot integrity measurements are evaluated. + */ + export interface Schema$ShieldedVmIntegrityPolicy { + /** + * Triggers an auto relearn event: the integrity monitoring module copies + * existing guest measurements to the baseline. + */ + updateAutoLearnPolicy?: boolean; + } /** * Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs */ @@ -7749,8 +8257,8 @@ export namespace compute_beta { */ labels?: any; /** - * Integer license codes indicating which licenses are attached to this - * snapshot. + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. */ licenseCodes?: string[]; /** @@ -9472,6 +9980,10 @@ export namespace compute_beta { * Network URL. */ network?: string; + /** + * Secondary IP ranges. + */ + secondaryIpRanges?: Schema$UsableSubnetworkSecondaryRange[]; /** * Subnetwork URL. */ @@ -9510,6 +10022,22 @@ export namespace compute_beta { */ warning?: any; } + /** + * Secondary IP range of a usable subnetwork. + */ + export interface Schema$UsableSubnetworkSecondaryRange { + /** + * The range of IP addresses belonging to this subnetwork secondary range. + */ + ipCidrRange?: string; + /** + * The name associated with this subnetwork secondary range, used when + * adding an alias IP range to a VM instance. The name must be 1-63 + * characters long, and comply with RFC1035. The name must be unique within + * the subnetwork. + */ + rangeName?: string; + } /** * The location in Cloud Storage and naming method of the daily usage report. * Contains bucket_name and report_name prefix. @@ -9855,6 +10383,25 @@ export namespace compute_beta { */ labels?: any; } + export interface Schema$ZoneSetPolicyRequest { + /** + * Flatten Policy to create a backwacd compatible wire-format. Deprecated. + * Use 'policy' to specify bindings. + */ + bindings?: Schema$Binding[]; + /** + * Flatten Policy to create a backward compatible wire-format. Deprecated. + * Use 'policy' to specify the etag. + */ + etag?: string; + /** + * REQUIRED: The complete policy to be applied to the 'resource'. + * The size of the policy is limited to a few 10s of KB. An empty policy is + * in general a valid policy but certain services (like Projects) might + * reject them. + */ + policy?: Schema$Policy; + } export class Resource$Acceleratortypes { @@ -36013,6 +36560,83 @@ export namespace compute_beta { } + /** + * compute.instances.setShieldedVmIntegrityPolicy + * @desc Sets the Shielded VM integrity policy for an instance. This method + * supports PATCH semantics and uses the JSON merge patch format and + * processing rules. + * @alias compute.instances.setShieldedVmIntegrityPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmIntegrityPolicy} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setShieldedVmIntegrityPolicy( + params?: Params$Resource$Instances$Setshieldedvmintegritypolicy, + options?: MethodOptions): AxiosPromise; + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, + callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy( + callback: BodyResponseCallback): void; + setShieldedVmIntegrityPolicy( + paramsOrCallback?: + Params$Resource$Instances$Setshieldedvmintegritypolicy| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Instances$Setshieldedvmintegritypolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Setshieldedvmintegritypolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, + options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + /** * compute.instances.setTags * @desc Sets tags for the specified instance to the data included in the @@ -37042,6 +37666,82 @@ export namespace compute_beta { return createAPIRequest(parameters); } } + + + /** + * compute.instances.updateShieldedVmConfig + * @desc Updates the Shielded VM config for an instance. This method + * supports PATCH semantics and uses the JSON merge patch format and + * processing rules. + * @alias compute.instances.updateShieldedVmConfig + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.instance Name of the instance scoping this request. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().ShieldedVmConfig} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + updateShieldedVmConfig( + params?: Params$Resource$Instances$Updateshieldedvmconfig, + options?: MethodOptions): AxiosPromise; + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, + callback: BodyResponseCallback): void; + updateShieldedVmConfig(callback: BodyResponseCallback): + void; + updateShieldedVmConfig( + paramsOrCallback?: Params$Resource$Instances$Updateshieldedvmconfig| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Instances$Updateshieldedvmconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Updateshieldedvmconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, + options), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Instances$Addaccessconfig { @@ -37869,7 +38569,7 @@ export namespace compute_beta { */ requestBody?: Schema$InstancesSetServiceAccountRequest; } - export interface Params$Resource$Instances$Settags { + export interface Params$Resource$Instances$Setshieldedvmintegritypolicy { /** * Auth client or API Key for the request */ @@ -37904,9 +38604,9 @@ export namespace compute_beta { /** * Request body metadata */ - requestBody?: Schema$Tags; + requestBody?: Schema$ShieldedVmIntegrityPolicy; } - export interface Params$Resource$Instances$Simulatemaintenanceevent { + export interface Params$Resource$Instances$Settags { /** * Auth client or API Key for the request */ @@ -37920,25 +38620,6 @@ export namespace compute_beta { * Project ID for this request. */ project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Start { - /** - * Auth client or API Key for the request - */ - auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; - - /** - * Name of the instance resource to start. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; /** * An optional request ID to identify requests. Specify a unique request ID * so that if you must retry your request, the server will know to ignore @@ -37956,52 +38637,39 @@ export namespace compute_beta { * The name of the zone for this request. */ zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tags; } - export interface Params$Resource$Instances$Startwithencryptionkey { + export interface Params$Resource$Instances$Simulatemaintenanceevent { /** * Auth client or API Key for the request */ auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; /** - * Name of the instance resource to start. + * Name of the instance scoping this request. */ instance?: string; /** * Project ID for this request. */ project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID - * so that if you must retry your request, the server will know to ignore - * the request if it has already been completed. For example, consider a - * situation where you make an initial request and the request times out. If - * you make the request again with the same request ID, the server can check - * if original operation with the same request ID was received, and if so, - * will ignore the second request. This prevents clients from accidentally - * creating duplicate commitments. The request ID must be a valid UUID with - * the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; /** * The name of the zone for this request. */ zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; } - export interface Params$Resource$Instances$Stop { + export interface Params$Resource$Instances$Start { /** * Auth client or API Key for the request */ auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; /** - * Name of the instance resource to stop. + * Name of the instance resource to start. */ instance?: string; /** @@ -38026,44 +38694,113 @@ export namespace compute_beta { */ zone?: string; } - export interface Params$Resource$Instances$Testiampermissions { - /** - * Auth client or API Key for the request - */ - auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; - - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - export interface Params$Resource$Instances$Updateaccessconfig { + export interface Params$Resource$Instances$Startwithencryptionkey { /** * Auth client or API Key for the request */ auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; /** - * The instance name for this request. + * Name of the instance resource to start. */ instance?: string; - /** - * The name of the network interface where the access config is attached. - */ - networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + export interface Params$Resource$Instances$Stop { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Instances$Updateaccessconfig { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; /** * Project ID for this request. */ @@ -38132,6 +38869,43 @@ export namespace compute_beta { */ requestBody?: Schema$NetworkInterface; } + export interface Params$Resource$Instances$Updateshieldedvmconfig { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmConfig; + } export class Resource$Instancetemplates { @@ -44233,6 +45007,2405 @@ export namespace compute_beta { } + export class Resource$Nodegroups { + root: Compute; + constructor(root: Compute) { + this.root = root; + this.getRoot.bind(this); + } + + getRoot() { + return this.root; + } + + + /** + * compute.nodeGroups.addNodes + * @desc Adds specified number of nodes to the node group. + * @alias compute.nodeGroups.addNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsAddNodesRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + addNodes( + params?: Params$Resource$Nodegroups$Addnodes, + options?: MethodOptions): AxiosPromise; + addNodes( + params: Params$Resource$Nodegroups$Addnodes, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + addNodes( + params: Params$Resource$Nodegroups$Addnodes, + callback: BodyResponseCallback): void; + addNodes(callback: BodyResponseCallback): void; + addNodes( + paramsOrCallback?: Params$Resource$Nodegroups$Addnodes| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Addnodes; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Addnodes; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.aggregatedList + * @desc Retrieves an aggregated list of node groups. + * @alias compute.nodeGroups.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + aggregatedList( + params?: Params$Resource$Nodegroups$Aggregatedlist, + options?: MethodOptions): AxiosPromise; + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, + options: MethodOptions| + BodyResponseCallback, + callback: BodyResponseCallback): void; + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, + callback: BodyResponseCallback): void; + aggregatedList( + callback: BodyResponseCallback): void; + aggregatedList( + paramsOrCallback?: Params$Resource$Nodegroups$Aggregatedlist| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.delete + * @desc Deletes the specified NodeGroup resource. + * @alias compute.nodeGroups.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + delete(params?: Params$Resource$Nodegroups$Delete, options?: MethodOptions): + AxiosPromise; + delete( + params: Params$Resource$Nodegroups$Delete, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + delete( + params: Params$Resource$Nodegroups$Delete, + callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: Params$Resource$Nodegroups$Delete| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.deleteNodes + * @desc Deletes specified nodes from the node group. + * @alias compute.nodeGroups.deleteNodes + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsDeleteNodesRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + deleteNodes( + params?: Params$Resource$Nodegroups$Deletenodes, + options?: MethodOptions): AxiosPromise; + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, + callback: BodyResponseCallback): void; + deleteNodes(callback: BodyResponseCallback): void; + deleteNodes( + paramsOrCallback?: Params$Resource$Nodegroups$Deletenodes| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Deletenodes; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Deletenodes; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.get + * @desc Returns the specified NodeGroup. Get a list of available NodeGroups + * by making a list() request. + * @alias compute.nodeGroups.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the node group to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + get(params?: Params$Resource$Nodegroups$Get, + options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodegroups$Get, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodegroups$Get, + callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + get(paramsOrCallback?: Params$Resource$Nodegroups$Get| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeGroups.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + getIamPolicy( + params?: Params$Resource$Nodegroups$Getiampolicy, + options?: MethodOptions): AxiosPromise; + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, + callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: Params$Resource$Nodegroups$Getiampolicy| + BodyResponseCallback, + optionsOrCallback?: MethodOptions|BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.insert + * @desc Creates a NodeGroup resource in the specified project using the + * data included in the request. + * @alias compute.nodeGroups.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {integer} params.initialNodeCount Initial count of nodes in the node group. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroup} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + insert(params?: Params$Resource$Nodegroups$Insert, options?: MethodOptions): + AxiosPromise; + insert( + params: Params$Resource$Nodegroups$Insert, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + insert( + params: Params$Resource$Nodegroups$Insert, + callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: Params$Resource$Nodegroups$Insert| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'initialNodeCount'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.list + * @desc Retrieves a list of node groups available to the specified project. + * @alias compute.nodeGroups.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + list(params?: Params$Resource$Nodegroups$List, options?: MethodOptions): + AxiosPromise; + list( + params: Params$Resource$Nodegroups$List, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + list( + params: Params$Resource$Nodegroups$List, + callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: Params$Resource$Nodegroups$List| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeGroups.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().ZoneSetPolicyRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setIamPolicy( + params?: Params$Resource$Nodegroups$Setiampolicy, + options?: MethodOptions): AxiosPromise; + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, + callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: Params$Resource$Nodegroups$Setiampolicy| + BodyResponseCallback, + optionsOrCallback?: MethodOptions|BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodegroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.setNodeTemplate + * @desc Updates the node template of the node group. + * @alias compute.nodeGroups.setNodeTemplate + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeGroup Name of the NodeGroup resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.zone The name of the zone for this request. + * @param {().NodeGroupsSetNodeTemplateRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setNodeTemplate( + params?: Params$Resource$Nodegroups$Setnodetemplate, + options?: MethodOptions): AxiosPromise; + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, + callback: BodyResponseCallback): void; + setNodeTemplate(callback: BodyResponseCallback): void; + setNodeTemplate( + paramsOrCallback?: Params$Resource$Nodegroups$Setnodetemplate| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodegroups$Setnodetemplate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Setnodetemplate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeGroups.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeGroups.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {().TestPermissionsRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + testIamPermissions( + params?: Params$Resource$Nodegroups$Testiampermissions, + options?: MethodOptions): AxiosPromise; + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, + options: MethodOptions| + BodyResponseCallback, + callback: BodyResponseCallback): void; + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, + callback: BodyResponseCallback): void; + testIamPermissions( + callback: BodyResponseCallback): void; + testIamPermissions( + paramsOrCallback?: Params$Resource$Nodegroups$Testiampermissions| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodegroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodegroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Nodegroups$Addnodes { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsAddNodesRequest; + } + export interface Params$Resource$Nodegroups$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Nodegroups$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Deletenodes { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsDeleteNodesRequest; + } + export interface Params$Resource$Nodegroups$Get { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the node group to return. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Initial count of nodes in the node group. + */ + initialNodeCount?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroup; + } + export interface Params$Resource$Nodegroups$List { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + export interface Params$Resource$Nodegroups$Setnodetemplate { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; + } + export interface Params$Resource$Nodegroups$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + + export class Resource$Nodetemplates { + root: Compute; + constructor(root: Compute) { + this.root = root; + this.getRoot.bind(this); + } + + getRoot() { + return this.root; + } + + + /** + * compute.nodeTemplates.aggregatedList + * @desc Retrieves an aggregated list of node templates. + * @alias compute.nodeTemplates.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + aggregatedList( + params?: Params$Resource$Nodetemplates$Aggregatedlist, + options?: MethodOptions): + AxiosPromise; + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + options: MethodOptions| + BodyResponseCallback, + callback: BodyResponseCallback): + void; + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + callback: BodyResponseCallback): + void; + aggregatedList(callback: + BodyResponseCallback): + void; + aggregatedList( + paramsOrCallback?: Params$Resource$Nodetemplates$Aggregatedlist| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodetemplates$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest( + parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.delete + * @desc Deletes the specified NodeTemplate resource. + * @alias compute.nodeTemplates.delete + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the NodeTemplate resource to delete. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + delete( + params?: Params$Resource$Nodetemplates$Delete, + options?: MethodOptions): AxiosPromise; + delete( + params: Params$Resource$Nodetemplates$Delete, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + delete( + params: Params$Resource$Nodetemplates$Delete, + callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: Params$Resource$Nodetemplates$Delete| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodetemplates$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE' + }, + options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.get + * @desc Returns the specified node template. Gets a list of available node + * templates by making a list() request. + * @alias compute.nodeTemplates.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeTemplate Name of the node template to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + get(params?: Params$Resource$Nodetemplates$Get, + options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetemplates$Get, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetemplates$Get, + callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + get(paramsOrCallback?: Params$Resource$Nodetemplates$Get| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodetemplates$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.getIamPolicy + * @desc Gets the access control policy for a resource. May be empty if no + * such policy or resource exists. + * @alias compute.nodeTemplates.getIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + getIamPolicy( + params?: Params$Resource$Nodetemplates$Getiampolicy, + options?: MethodOptions): AxiosPromise; + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, + callback: BodyResponseCallback): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: Params$Resource$Nodetemplates$Getiampolicy| + BodyResponseCallback, + optionsOrCallback?: MethodOptions|BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodetemplates$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.insert + * @desc Creates a NodeTemplate resource in the specified project using the + * data included in the request. + * @alias compute.nodeTemplates.insert + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().NodeTemplate} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + insert( + params?: Params$Resource$Nodetemplates$Insert, + options?: MethodOptions): AxiosPromise; + insert( + params: Params$Resource$Nodetemplates$Insert, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + insert( + params: Params$Resource$Nodetemplates$Insert, + callback: BodyResponseCallback): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: Params$Resource$Nodetemplates$Insert| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodetemplates$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.list + * @desc Retrieves a list of node templates available to the specified + * project. + * @alias compute.nodeTemplates.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + list(params?: Params$Resource$Nodetemplates$List, options?: MethodOptions): + AxiosPromise; + list( + params: Params$Resource$Nodetemplates$List, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + list( + params: Params$Resource$Nodetemplates$List, + callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: Params$Resource$Nodetemplates$List| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodetemplates$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.setIamPolicy + * @desc Sets the access control policy on the specified resource. Replaces + * any existing policy. + * @alias compute.nodeTemplates.setIamPolicy + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().RegionSetPolicyRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setIamPolicy( + params?: Params$Resource$Nodetemplates$Setiampolicy, + options?: MethodOptions): AxiosPromise; + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, + callback: BodyResponseCallback): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: Params$Resource$Nodetemplates$Setiampolicy| + BodyResponseCallback, + optionsOrCallback?: MethodOptions|BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodetemplates$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTemplates.testIamPermissions + * @desc Returns permissions that a caller has on the specified resource. + * @alias compute.nodeTemplates.testIamPermissions + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string} params.region The name of the region for this request. + * @param {string} params.resource_ Name of the resource for this request. + * @param {().TestPermissionsRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + testIamPermissions( + params?: Params$Resource$Nodetemplates$Testiampermissions, + options?: MethodOptions): AxiosPromise; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + options: MethodOptions| + BodyResponseCallback, + callback: BodyResponseCallback): void; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + callback: BodyResponseCallback): void; + testIamPermissions( + callback: BodyResponseCallback): void; + testIamPermissions( + paramsOrCallback?: Params$Resource$Nodetemplates$Testiampermissions| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Nodetemplates$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Nodetemplates$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Nodetemplates$Delete { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the NodeTemplate resource to delete. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Nodetemplates$Get { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the node template to return. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Nodetemplates$Getiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Nodetemplates$Insert { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeTemplate; + } + export interface Params$Resource$Nodetemplates$List { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Nodetemplates$Setiampolicy { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + export interface Params$Resource$Nodetemplates$Testiampermissions { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + + export class Resource$Nodetypes { + root: Compute; + constructor(root: Compute) { + this.root = root; + this.getRoot.bind(this); + } + + getRoot() { + return this.root; + } + + + /** + * compute.nodeTypes.aggregatedList + * @desc Retrieves an aggregated list of node types. + * @alias compute.nodeTypes.aggregatedList + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + aggregatedList( + params?: Params$Resource$Nodetypes$Aggregatedlist, + options?: MethodOptions): AxiosPromise; + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, + options: MethodOptions| + BodyResponseCallback, + callback: BodyResponseCallback): void; + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, + callback: BodyResponseCallback): void; + aggregatedList( + callback: BodyResponseCallback): void; + aggregatedList( + paramsOrCallback?: Params$Resource$Nodetypes$Aggregatedlist| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = + (paramsOrCallback || {}) as Params$Resource$Nodetypes$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetypes$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/aggregated/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTypes.get + * @desc Returns the specified node type. Gets a list of available node + * types by making a list() request. + * @alias compute.nodeTypes.get + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.nodeType Name of the node type to return. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + get(params?: Params$Resource$Nodetypes$Get, + options?: MethodOptions): AxiosPromise; + get(params: Params$Resource$Nodetypes$Get, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + get(params: Params$Resource$Nodetypes$Get, + callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; + get(paramsOrCallback?: Params$Resource$Nodetypes$Get| + BodyResponseCallback, + optionsOrCallback?: MethodOptions|BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetypes$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeTypes/{nodeType}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'zone', 'nodeType'], + pathParams: ['nodeType', 'project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + + /** + * compute.nodeTypes.list + * @desc Retrieves a list of node types available to the specified project. + * @alias compute.nodeTypes.list + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string=} params.filter A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <. For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance. You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true). + * @param {integer=} params.maxResults The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + * @param {string=} params.orderBy Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. + * @param {string=} params.pageToken Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + * @param {string} params.project Project ID for this request. + * @param {string} params.zone The name of the zone for this request. + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + list(params?: Params$Resource$Nodetypes$List, options?: MethodOptions): + AxiosPromise; + list( + params: Params$Resource$Nodetypes$List, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + list( + params: Params$Resource$Nodetypes$List, + callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: Params$Resource$Nodetypes$List| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetypes$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/nodeTypes') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'GET' + }, + options), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Nodetypes$Aggregatedlist { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Nodetypes$Get { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the node type to return. + */ + nodeType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodetypes$List { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * A filter expression that filters resources listed in the response. The + * expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, or a boolean. The comparison operator must be either =, !=, >, or + * <. For example, if you are filtering Compute Engine instances, you can + * exclude instances named example-instance by specifying name != + * example-instance. You can also filter nested fields. For example, you + * could specify scheduling.automaticRestart = false to include instances + * only if they are not scheduled for automatic restarts. You can use + * filtering on nested fields to filter based on resource labels. To filter + * on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake"). By default, each expression is an AND + * expression. However, you can include AND and OR expressions explicitly. + * For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel + * Broadwell") AND (scheduling.automaticRestart = true). + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the + * number of available results is larger than maxResults, Compute Engine + * returns a nextPageToken that can be used to get the next page of results + * in subsequent list requests. Acceptable values are 0 to 500, inclusive. + * (Default: 500) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned + * in alphanumerical order based on the resource name. You can also sort + * results in descending order based on the creation timestamp using + * orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result + * first). Use this to sort resources like operations so that the newest + * operation is returned first. Currently, only sorting by name or + * creationTimestamp desc is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set pageToken to the nextPageToken + * returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + + export class Resource$Projects { root: Compute; constructor(root: Compute) { diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index 8a6acf50471..44022952c55 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -3421,7 +3421,7 @@ export namespace compute_v1 { * Fingerprint of this resource. This field may be used in optimistic * locking. It will be ignored when inserting an InstanceGroupManager. An * up-to-date fingerprint must be provided in order to update the - * InstanceGroupManager or the field need to be unset. + * InstanceGroupManager. */ fingerprint?: string; /** @@ -4182,6 +4182,11 @@ export namespace compute_v1 { * [Output Only] Server-defined URL for the resource. */ selfLink?: string; + /** + * [Output Only] The current state of whether or not this Interconnect is + * functional. + */ + state?: string; } /** * Represents an InterconnectAttachment (VLAN attachment) resource. For more @@ -4190,6 +4195,28 @@ export namespace compute_v1 { * v1.interconnectAttachments ==) */ export interface Schema$InterconnectAttachment { + /** + * Determines whether this Attachment will carry packets. Not present for + * PARTNER_PROVIDER. + */ + adminEnabled?: boolean; + /** + * Provisioned bandwidth capacity for the interconnectAttachment. Can be set + * by the partner to update the customer's provisioned bandwidth. Output + * only for for PARTNER type, mutable for PARTNER_PROVIDER, not available + * for DEDICATED. + */ + bandwidth?: string; + /** + * Up to 16 candidate prefixes that can be used to restrict the allocation + * of cloudRouterIpAddress and customerRouterIpAddress for this attachment. + * All prefixes must be within link-local address space (169.254.0.0/16) and + * must be /29 or shorter (/28, /27, etc). Google will attempt to select an + * unused /29 from the supplied candidate prefix(es). The request will fail + * if all possible /29s are in use on Google?s edge. If not supplied, Google + * will randomly select an unused /29 from all of link-local space. + */ + candidateSubnets?: string[]; /** * [Output Only] IPv4 address + prefix length to be configured on Cloud * Router Interface for this interconnect attachment. @@ -4208,6 +4235,16 @@ export namespace compute_v1 { * An optional description of this resource. */ description?: string; + /** + * Desired availability domain for the attachment. Only available for type + * PARTNER, at creation time. For improved reliability, customers should + * configure a pair of attachments with one per availability domain. The + * selected availability domain will be provided to the Partner via the + * pairing key so that the provisioned circuit will lie in the specified + * domain. If not specified, the value will default to + * AVAILABILITY_DOMAIN_ANY. + */ + edgeAvailabilityDomain?: string; /** * [Output Only] Google reference ID, to be used when raising support * tickets with Google or otherwise to debug backend connectivity issues. @@ -4243,6 +4280,26 @@ export namespace compute_v1 { * attachment is functional. */ operationalStatus?: string; + /** + * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not + * present for DEDICATED]. The opaque identifier of an PARTNER attachment + * used to initiate provisioning with a selected partner. Of the form + * "XXXXX/region/domain" + */ + pairingKey?: string; + /** + * Optional BGP ASN for the router that should be supplied by a layer 3 + * Partner if they configured BGP on behalf of the customer. Output only for + * PARTNER type, input only for PARTNER_PROVIDER, not available for + * DEDICATED. + */ + partnerAsn?: string; + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. Output only for for PARTNER type, mutable for + * PARTNER_PROVIDER, not available for DEDICATED. + */ + partnerMetadata?: Schema$InterconnectAttachmentPartnerMetadata; /** * [Output Only] Information specific to an InterconnectAttachment. This * property is populated if the interconnect that this is attached to is of @@ -4266,6 +4323,17 @@ export namespace compute_v1 { * [Output Only] Server-defined URL for the resource. */ selfLink?: string; + /** + * [Output Only] The current state of this attachment's functionality. + */ + state?: string; + type?: string; + /** + * Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for + * this attachment, in the range 2-4094. This field refers to 802.1q VLAN + * tag, also known as IEEE 802.1Q Only specified at creation time. + */ + vlanTag8021q?: number; } export interface Schema$InterconnectAttachmentAggregatedList { /** @@ -4334,6 +4402,30 @@ export namespace compute_v1 { */ warning?: any; } + /** + * Informational metadata about Partner attachments from Partners to display + * to customers. These fields are propagated from PARTNER_PROVIDER attachments + * to their corresponding PARTNER attachments. + */ + export interface Schema$InterconnectAttachmentPartnerMetadata { + /** + * Plain text name of the Interconnect this attachment is connected to, as + * displayed in the Partner?s portal. For instance ?Chicago 1?. This value + * may be validated to match approved Partner values. + */ + interconnectName?: string; + /** + * Plain text name of the Partner providing this attachment. This value may + * be validated to match approved Partner values. + */ + partnerName?: string; + /** + * URL of the Partner?s portal for this Attachment. Partners may customise + * this to be a deep-link to the specific resource on the Partner portal. + * This value may be validated to match approved Partner values. + */ + portalUrl?: string; + } /** * Information for an interconnect attachment when this belongs to an * interconnect of type DEDICATED. @@ -6287,6 +6379,14 @@ export namespace compute_v1 { * supported. */ ipAddress?: string; + /** + * [Output Only] Type of how the resource/configuration of the BGP peer is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an BGP peer that is automatically created for PARTNER + * interconnectAttachment, Google will automatically create/delete this type + * of BGP peer when the PARTNER interconnectAttachment is created/deleted. + */ + managementType?: string; /** * Name of this BGP peer. The name must be 1-63 characters long and comply * with RFC1035. @@ -6323,6 +6423,15 @@ export namespace compute_v1 { * either be a VPN Tunnel or an interconnect attachment. */ linkedVpnTunnel?: string; + /** + * [Output Only] Type of how the resource/configuration of the interface is + * managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT + * represents an interface that is automatically created for PARTNER type + * interconnectAttachment, Google will automatically create/update/delete + * this type of interface when the PARTNER interconnectAttachment is + * created/provisioned/deleted. + */ + managementType?: string; /** * Name of this interface entry. The name must be 1-63 characters long and * comply with RFC1035. @@ -6558,8 +6667,8 @@ export namespace compute_v1 { */ labels?: any; /** - * Integer license codes indicating which licenses are attached to this - * snapshot. + * [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. */ licenseCodes?: string[]; /** @@ -7186,6 +7295,12 @@ export namespace compute_v1 { */ warning?: any; } + export interface Schema$TargetHttpsProxiesSetQuicOverrideRequest { + /** + * QUIC policy for the TargetHttpsProxy resource. + */ + quicOverride?: string; + } export interface Schema$TargetHttpsProxiesSetSslCertificatesRequest { /** * New set of SslCertificate resources to associate with this @@ -7229,6 +7344,16 @@ export namespace compute_v1 { * dash. */ name?: string; + /** + * Specifies the QUIC override policy for this TargetHttpsProxy resource. + * This determines whether the load balancer will attempt to negotiate QUIC + * with clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify + * ENABLE to always enable QUIC, Enables QUIC when set to ENABLE, and + * disables QUIC when set to DISABLE. If NONE is specified, uses the QUIC + * policy with no user overrides, which is equivalent to DISABLE. Not + * specifying this field is equivalent to specifying NONE. + */ + quicOverride?: string; /** * [Output Only] Server-defined URL for the resource. */ @@ -33542,6 +33667,81 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + + /** + * compute.interconnectAttachments.patch + * @desc Updates the specified interconnect attachment with the data + * included in the request. This method supports PATCH semantics and uses + * the JSON merge patch format and processing rules. + * @alias compute.interconnectAttachments.patch + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.interconnectAttachment Name of the interconnect attachment to patch. + * @param {string} params.project Project ID for this request. + * @param {string} params.region Name of the region scoping this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {().InterconnectAttachment} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + patch( + params?: Params$Resource$Interconnectattachments$Patch, + options?: MethodOptions): AxiosPromise; + patch( + params: Params$Resource$Interconnectattachments$Patch, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + patch( + params: Params$Resource$Interconnectattachments$Patch, + callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: Params$Resource$Interconnectattachments$Patch| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Interconnectattachments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH' + }, + options), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Interconnectattachments$Aggregatedlist { @@ -33740,6 +33940,43 @@ export namespace compute_v1 { */ region?: string; } + export interface Params$Resource$Interconnectattachments$Patch { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Name of the interconnect attachment to patch. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } export class Resource$Interconnectlocations { @@ -53879,6 +54116,78 @@ export namespace compute_v1 { } + /** + * compute.targetHttpsProxies.setQuicOverride + * @desc Sets the QUIC override policy for TargetHttpsProxy. + * @alias compute.targetHttpsProxies.setQuicOverride + * @memberOf! () + * + * @param {object} params Parameters for request + * @param {string} params.project Project ID for this request. + * @param {string=} params.requestId An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * @param {string} params.targetHttpsProxy Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035. + * @param {().TargetHttpsProxiesSetQuicOverrideRequest} params.resource Request body data + * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. + * @param {callback} callback The callback that handles the response. + * @return {object} Request object + */ + setQuicOverride( + params?: Params$Resource$Targethttpsproxies$Setquicoverride, + options?: MethodOptions): AxiosPromise; + setQuicOverride( + params: Params$Resource$Targethttpsproxies$Setquicoverride, + options: MethodOptions|BodyResponseCallback, + callback: BodyResponseCallback): void; + setQuicOverride( + params: Params$Resource$Targethttpsproxies$Setquicoverride, + callback: BodyResponseCallback): void; + setQuicOverride(callback: BodyResponseCallback): void; + setQuicOverride( + paramsOrCallback?: Params$Resource$Targethttpsproxies$Setquicoverride| + BodyResponseCallback, + optionsOrCallback?: MethodOptions| + BodyResponseCallback, + callback?: BodyResponseCallback): + void|AxiosPromise { + let params = (paramsOrCallback || {}) as + Params$Resource$Targethttpsproxies$Setquicoverride; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Targethttpsproxies$Setquicoverride; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: + (rootUrl + + '/compute/v1/projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride') + .replace(/([^:]\/)\/+/g, '$1'), + method: 'POST' + }, + options), + params, + requiredParams: ['project', 'targetHttpsProxy'], + pathParams: ['project', 'targetHttpsProxy'], + context: this.getRoot() + }; + if (callback) { + createAPIRequest(parameters, callback); + } else { + return createAPIRequest(parameters); + } + } + + /** * compute.targetHttpsProxies.setSslCertificates * @desc Replaces SslCertificates for TargetHttpsProxy. @@ -54345,6 +54654,40 @@ export namespace compute_v1 { */ project?: string; } + export interface Params$Resource$Targethttpsproxies$Setquicoverride { + /** + * Auth client or API Key for the request + */ + auth?: string|OAuth2Client|JWT|Compute|UserRefreshClient; + + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID + * so that if you must retry your request, the server will know to ignore + * the request if it has already been completed. For example, consider a + * situation where you make an initial request and the request times out. If + * you make the request again with the same request ID, the server can check + * if original operation with the same request ID was received, and if so, + * will ignore the second request. This prevents clients from accidentally + * creating duplicate commitments. The request ID must be a valid UUID with + * the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set the QUIC override policy + * for. The name should conform to RFC1035. + */ + targetHttpsProxy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxiesSetQuicOverrideRequest; + } export interface Params$Resource$Targethttpsproxies$Setsslcertificates { /** * Auth client or API Key for the request diff --git a/src/apis/index.ts b/src/apis/index.ts index 805d4b39cd3..d22fce0400b 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -289,141 +289,272 @@ export const APIS: APIList = { }; export class GeneratedAPIs { - abusiveexperiencereport = - abusiveexperiencereport.abusiveexperiencereport.bind(this); - acceleratedmobilepageurl = - acceleratedmobilepageurl.acceleratedmobilepageurl.bind(this); - adexchangebuyer = adexchangebuyer.adexchangebuyer.bind(this); - adexchangebuyer2 = adexchangebuyer2.adexchangebuyer2.bind(this); - adexchangeseller = adexchangeseller.adexchangeseller.bind(this); - adexperiencereport = adexperiencereport.adexperiencereport.bind(this); - admin = admin.admin.bind(this); - adsense = adsense.adsense.bind(this); - adsensehost = adsensehost.adsensehost.bind(this); - analytics = analytics.analytics.bind(this); - analyticsreporting = analyticsreporting.analyticsreporting.bind(this); + abusiveexperiencereport = abusiveexperiencereport.abusiveexperiencereport; + acceleratedmobilepageurl = acceleratedmobilepageurl.acceleratedmobilepageurl; + adexchangebuyer = adexchangebuyer.adexchangebuyer; + adexchangebuyer2 = adexchangebuyer2.adexchangebuyer2; + adexchangeseller = adexchangeseller.adexchangeseller; + adexperiencereport = adexperiencereport.adexperiencereport; + admin = admin.admin; + adsense = adsense.adsense; + adsensehost = adsensehost.adsensehost; + analytics = analytics.analytics; + analyticsreporting = analyticsreporting.analyticsreporting; androiddeviceprovisioning = - androiddeviceprovisioning.androiddeviceprovisioning.bind(this); - androidenterprise = androidenterprise.androidenterprise.bind(this); - androidmanagement = androidmanagement.androidmanagement.bind(this); - androidpublisher = androidpublisher.androidpublisher.bind(this); - appengine = appengine.appengine.bind(this); - appsactivity = appsactivity.appsactivity.bind(this); - appstate = appstate.appstate.bind(this); - bigquery = bigquery.bigquery.bind(this); - bigquerydatatransfer = bigquerydatatransfer.bigquerydatatransfer.bind(this); - blogger = blogger.blogger.bind(this); - books = books.books.bind(this); - calendar = calendar.calendar.bind(this); - chat = chat.chat.bind(this); - civicinfo = civicinfo.civicinfo.bind(this); - classroom = classroom.classroom.bind(this); - cloudbilling = cloudbilling.cloudbilling.bind(this); - cloudbuild = cloudbuild.cloudbuild.bind(this); - clouddebugger = clouddebugger.clouddebugger.bind(this); - clouderrorreporting = clouderrorreporting.clouderrorreporting.bind(this); - cloudfunctions = cloudfunctions.cloudfunctions.bind(this); - cloudiot = cloudiot.cloudiot.bind(this); - cloudkms = cloudkms.cloudkms.bind(this); - cloudresourcemanager = cloudresourcemanager.cloudresourcemanager.bind(this); - cloudshell = cloudshell.cloudshell.bind(this); - cloudtasks = cloudtasks.cloudtasks.bind(this); - cloudtrace = cloudtrace.cloudtrace.bind(this); - composer = composer.composer.bind(this); - compute = compute.compute.bind(this); - container = container.container.bind(this); - content = content.content.bind(this); - customsearch = customsearch.customsearch.bind(this); - dataflow = dataflow.dataflow.bind(this); - dataproc = dataproc.dataproc.bind(this); - datastore = datastore.datastore.bind(this); - deploymentmanager = deploymentmanager.deploymentmanager.bind(this); - dfareporting = dfareporting.dfareporting.bind(this); - dialogflow = dialogflow.dialogflow.bind(this); - digitalassetlinks = digitalassetlinks.digitalassetlinks.bind(this); - discovery = discovery.discovery.bind(this); - dlp = dlp.dlp.bind(this); - dns = dns.dns.bind(this); - doubleclickbidmanager = - doubleclickbidmanager.doubleclickbidmanager.bind(this); - doubleclicksearch = doubleclicksearch.doubleclicksearch.bind(this); - drive = drive.drive.bind(this); - firebasedynamiclinks = firebasedynamiclinks.firebasedynamiclinks.bind(this); - firebaserules = firebaserules.firebaserules.bind(this); - firestore = firestore.firestore.bind(this); - fitness = fitness.fitness.bind(this); - fusiontables = fusiontables.fusiontables.bind(this); - games = games.games.bind(this); - gamesConfiguration = gamesConfiguration.gamesConfiguration.bind(this); - gamesManagement = gamesManagement.gamesManagement.bind(this); - genomics = genomics.genomics.bind(this); - gmail = gmail.gmail.bind(this); - groupsmigration = groupsmigration.groupsmigration.bind(this); - groupssettings = groupssettings.groupssettings.bind(this); - iam = iam.iam.bind(this); - identitytoolkit = identitytoolkit.identitytoolkit.bind(this); - jobs = jobs.jobs.bind(this); - kgsearch = kgsearch.kgsearch.bind(this); - language = language.language.bind(this); - licensing = licensing.licensing.bind(this); - logging = logging.logging.bind(this); - manufacturers = manufacturers.manufacturers.bind(this); - mirror = mirror.mirror.bind(this); - ml = ml.ml.bind(this); - monitoring = monitoring.monitoring.bind(this); - oauth2 = oauth2.oauth2.bind(this); - oslogin = oslogin.oslogin.bind(this); - pagespeedonline = pagespeedonline.pagespeedonline.bind(this); - partners = partners.partners.bind(this); - people = people.people.bind(this); - playcustomapp = playcustomapp.playcustomapp.bind(this); - plus = plus.plus.bind(this); - plusDomains = plusDomains.plusDomains.bind(this); - poly = poly.poly.bind(this); - proximitybeacon = proximitybeacon.proximitybeacon.bind(this); - pubsub = pubsub.pubsub.bind(this); - redis = redis.redis.bind(this); - replicapool = replicapool.replicapool.bind(this); - replicapoolupdater = replicapoolupdater.replicapoolupdater.bind(this); - reseller = reseller.reseller.bind(this); - runtimeconfig = runtimeconfig.runtimeconfig.bind(this); - safebrowsing = safebrowsing.safebrowsing.bind(this); - script = script.script.bind(this); - searchconsole = searchconsole.searchconsole.bind(this); - servicebroker = servicebroker.servicebroker.bind(this); + androiddeviceprovisioning.androiddeviceprovisioning; + androidenterprise = androidenterprise.androidenterprise; + androidmanagement = androidmanagement.androidmanagement; + androidpublisher = androidpublisher.androidpublisher; + appengine = appengine.appengine; + appsactivity = appsactivity.appsactivity; + appstate = appstate.appstate; + bigquery = bigquery.bigquery; + bigquerydatatransfer = bigquerydatatransfer.bigquerydatatransfer; + blogger = blogger.blogger; + books = books.books; + calendar = calendar.calendar; + chat = chat.chat; + civicinfo = civicinfo.civicinfo; + classroom = classroom.classroom; + cloudbilling = cloudbilling.cloudbilling; + cloudbuild = cloudbuild.cloudbuild; + clouddebugger = clouddebugger.clouddebugger; + clouderrorreporting = clouderrorreporting.clouderrorreporting; + cloudfunctions = cloudfunctions.cloudfunctions; + cloudiot = cloudiot.cloudiot; + cloudkms = cloudkms.cloudkms; + cloudresourcemanager = cloudresourcemanager.cloudresourcemanager; + cloudshell = cloudshell.cloudshell; + cloudtasks = cloudtasks.cloudtasks; + cloudtrace = cloudtrace.cloudtrace; + composer = composer.composer; + compute = compute.compute; + container = container.container; + content = content.content; + customsearch = customsearch.customsearch; + dataflow = dataflow.dataflow; + dataproc = dataproc.dataproc; + datastore = datastore.datastore; + deploymentmanager = deploymentmanager.deploymentmanager; + dfareporting = dfareporting.dfareporting; + dialogflow = dialogflow.dialogflow; + digitalassetlinks = digitalassetlinks.digitalassetlinks; + discovery = discovery.discovery; + dlp = dlp.dlp; + dns = dns.dns; + doubleclickbidmanager = doubleclickbidmanager.doubleclickbidmanager; + doubleclicksearch = doubleclicksearch.doubleclicksearch; + drive = drive.drive; + firebasedynamiclinks = firebasedynamiclinks.firebasedynamiclinks; + firebaserules = firebaserules.firebaserules; + firestore = firestore.firestore; + fitness = fitness.fitness; + fusiontables = fusiontables.fusiontables; + games = games.games; + gamesConfiguration = gamesConfiguration.gamesConfiguration; + gamesManagement = gamesManagement.gamesManagement; + genomics = genomics.genomics; + gmail = gmail.gmail; + groupsmigration = groupsmigration.groupsmigration; + groupssettings = groupssettings.groupssettings; + iam = iam.iam; + identitytoolkit = identitytoolkit.identitytoolkit; + jobs = jobs.jobs; + kgsearch = kgsearch.kgsearch; + language = language.language; + licensing = licensing.licensing; + logging = logging.logging; + manufacturers = manufacturers.manufacturers; + mirror = mirror.mirror; + ml = ml.ml; + monitoring = monitoring.monitoring; + oauth2 = oauth2.oauth2; + oslogin = oslogin.oslogin; + pagespeedonline = pagespeedonline.pagespeedonline; + partners = partners.partners; + people = people.people; + playcustomapp = playcustomapp.playcustomapp; + plus = plus.plus; + plusDomains = plusDomains.plusDomains; + poly = poly.poly; + proximitybeacon = proximitybeacon.proximitybeacon; + pubsub = pubsub.pubsub; + redis = redis.redis; + replicapool = replicapool.replicapool; + replicapoolupdater = replicapoolupdater.replicapoolupdater; + reseller = reseller.reseller; + runtimeconfig = runtimeconfig.runtimeconfig; + safebrowsing = safebrowsing.safebrowsing; + script = script.script; + searchconsole = searchconsole.searchconsole; + servicebroker = servicebroker.servicebroker; serviceconsumermanagement = - serviceconsumermanagement.serviceconsumermanagement.bind(this); - servicecontrol = servicecontrol.servicecontrol.bind(this); - servicemanagement = servicemanagement.servicemanagement.bind(this); - serviceusage = serviceusage.serviceusage.bind(this); - serviceuser = serviceuser.serviceuser.bind(this); - sheets = sheets.sheets.bind(this); - siteVerification = siteVerification.siteVerification.bind(this); - slides = slides.slides.bind(this); - sourcerepo = sourcerepo.sourcerepo.bind(this); - spanner = spanner.spanner.bind(this); - spectrum = spectrum.spectrum.bind(this); - speech = speech.speech.bind(this); - sqladmin = sqladmin.sqladmin.bind(this); - storage = storage.storage.bind(this); - storagetransfer = storagetransfer.storagetransfer.bind(this); - streetviewpublish = streetviewpublish.streetviewpublish.bind(this); - surveys = surveys.surveys.bind(this); - tagmanager = tagmanager.tagmanager.bind(this); - tasks = tasks.tasks.bind(this); - testing = testing.testing.bind(this); - texttospeech = texttospeech.texttospeech.bind(this); - toolresults = toolresults.toolresults.bind(this); - tpu = tpu.tpu.bind(this); - translate = translate.translate.bind(this); - urlshortener = urlshortener.urlshortener.bind(this); - vault = vault.vault.bind(this); - videointelligence = videointelligence.videointelligence.bind(this); - vision = vision.vision.bind(this); - webfonts = webfonts.webfonts.bind(this); - webmasters = webmasters.webmasters.bind(this); - websecurityscanner = websecurityscanner.websecurityscanner.bind(this); - youtube = youtube.youtube.bind(this); - youtubeAnalytics = youtubeAnalytics.youtubeAnalytics.bind(this); - youtubereporting = youtubereporting.youtubereporting.bind(this); + serviceconsumermanagement.serviceconsumermanagement; + servicecontrol = servicecontrol.servicecontrol; + servicemanagement = servicemanagement.servicemanagement; + serviceusage = serviceusage.serviceusage; + serviceuser = serviceuser.serviceuser; + sheets = sheets.sheets; + siteVerification = siteVerification.siteVerification; + slides = slides.slides; + sourcerepo = sourcerepo.sourcerepo; + spanner = spanner.spanner; + spectrum = spectrum.spectrum; + speech = speech.speech; + sqladmin = sqladmin.sqladmin; + storage = storage.storage; + storagetransfer = storagetransfer.storagetransfer; + streetviewpublish = streetviewpublish.streetviewpublish; + surveys = surveys.surveys; + tagmanager = tagmanager.tagmanager; + tasks = tasks.tasks; + testing = testing.testing; + texttospeech = texttospeech.texttospeech; + toolresults = toolresults.toolresults; + tpu = tpu.tpu; + translate = translate.translate; + urlshortener = urlshortener.urlshortener; + vault = vault.vault; + videointelligence = videointelligence.videointelligence; + vision = vision.vision; + webfonts = webfonts.webfonts; + webmasters = webmasters.webmasters; + websecurityscanner = websecurityscanner.websecurityscanner; + youtube = youtube.youtube; + youtubeAnalytics = youtubeAnalytics.youtubeAnalytics; + youtubereporting = youtubereporting.youtubereporting; + constructor() { + this.abusiveexperiencereport = this.abusiveexperiencereport.bind(this); + this.acceleratedmobilepageurl = this.acceleratedmobilepageurl.bind(this); + this.adexchangebuyer = this.adexchangebuyer.bind(this); + this.adexchangebuyer2 = this.adexchangebuyer2.bind(this); + this.adexchangeseller = this.adexchangeseller.bind(this); + this.adexperiencereport = this.adexperiencereport.bind(this); + this.admin = this.admin.bind(this); + this.adsense = this.adsense.bind(this); + this.adsensehost = this.adsensehost.bind(this); + this.analytics = this.analytics.bind(this); + this.analyticsreporting = this.analyticsreporting.bind(this); + this.androiddeviceprovisioning = this.androiddeviceprovisioning.bind(this); + this.androidenterprise = this.androidenterprise.bind(this); + this.androidmanagement = this.androidmanagement.bind(this); + this.androidpublisher = this.androidpublisher.bind(this); + this.appengine = this.appengine.bind(this); + this.appsactivity = this.appsactivity.bind(this); + this.appstate = this.appstate.bind(this); + this.bigquery = this.bigquery.bind(this); + this.bigquerydatatransfer = this.bigquerydatatransfer.bind(this); + this.blogger = this.blogger.bind(this); + this.books = this.books.bind(this); + this.calendar = this.calendar.bind(this); + this.chat = this.chat.bind(this); + this.civicinfo = this.civicinfo.bind(this); + this.classroom = this.classroom.bind(this); + this.cloudbilling = this.cloudbilling.bind(this); + this.cloudbuild = this.cloudbuild.bind(this); + this.clouddebugger = this.clouddebugger.bind(this); + this.clouderrorreporting = this.clouderrorreporting.bind(this); + this.cloudfunctions = this.cloudfunctions.bind(this); + this.cloudiot = this.cloudiot.bind(this); + this.cloudkms = this.cloudkms.bind(this); + this.cloudresourcemanager = this.cloudresourcemanager.bind(this); + this.cloudshell = this.cloudshell.bind(this); + this.cloudtasks = this.cloudtasks.bind(this); + this.cloudtrace = this.cloudtrace.bind(this); + this.composer = this.composer.bind(this); + this.compute = this.compute.bind(this); + this.container = this.container.bind(this); + this.content = this.content.bind(this); + this.customsearch = this.customsearch.bind(this); + this.dataflow = this.dataflow.bind(this); + this.dataproc = this.dataproc.bind(this); + this.datastore = this.datastore.bind(this); + this.deploymentmanager = this.deploymentmanager.bind(this); + this.dfareporting = this.dfareporting.bind(this); + this.dialogflow = this.dialogflow.bind(this); + this.digitalassetlinks = this.digitalassetlinks.bind(this); + this.discovery = this.discovery.bind(this); + this.dlp = this.dlp.bind(this); + this.dns = this.dns.bind(this); + this.doubleclickbidmanager = this.doubleclickbidmanager.bind(this); + this.doubleclicksearch = this.doubleclicksearch.bind(this); + this.drive = this.drive.bind(this); + this.firebasedynamiclinks = this.firebasedynamiclinks.bind(this); + this.firebaserules = this.firebaserules.bind(this); + this.firestore = this.firestore.bind(this); + this.fitness = this.fitness.bind(this); + this.fusiontables = this.fusiontables.bind(this); + this.games = this.games.bind(this); + this.gamesConfiguration = this.gamesConfiguration.bind(this); + this.gamesManagement = this.gamesManagement.bind(this); + this.genomics = this.genomics.bind(this); + this.gmail = this.gmail.bind(this); + this.groupsmigration = this.groupsmigration.bind(this); + this.groupssettings = this.groupssettings.bind(this); + this.iam = this.iam.bind(this); + this.identitytoolkit = this.identitytoolkit.bind(this); + this.jobs = this.jobs.bind(this); + this.kgsearch = this.kgsearch.bind(this); + this.language = this.language.bind(this); + this.licensing = this.licensing.bind(this); + this.logging = this.logging.bind(this); + this.manufacturers = this.manufacturers.bind(this); + this.mirror = this.mirror.bind(this); + this.ml = this.ml.bind(this); + this.monitoring = this.monitoring.bind(this); + this.oauth2 = this.oauth2.bind(this); + this.oslogin = this.oslogin.bind(this); + this.pagespeedonline = this.pagespeedonline.bind(this); + this.partners = this.partners.bind(this); + this.people = this.people.bind(this); + this.playcustomapp = this.playcustomapp.bind(this); + this.plus = this.plus.bind(this); + this.plusDomains = this.plusDomains.bind(this); + this.poly = this.poly.bind(this); + this.proximitybeacon = this.proximitybeacon.bind(this); + this.pubsub = this.pubsub.bind(this); + this.redis = this.redis.bind(this); + this.replicapool = this.replicapool.bind(this); + this.replicapoolupdater = this.replicapoolupdater.bind(this); + this.reseller = this.reseller.bind(this); + this.runtimeconfig = this.runtimeconfig.bind(this); + this.safebrowsing = this.safebrowsing.bind(this); + this.script = this.script.bind(this); + this.searchconsole = this.searchconsole.bind(this); + this.servicebroker = this.servicebroker.bind(this); + this.serviceconsumermanagement = this.serviceconsumermanagement.bind(this); + this.servicecontrol = this.servicecontrol.bind(this); + this.servicemanagement = this.servicemanagement.bind(this); + this.serviceusage = this.serviceusage.bind(this); + this.serviceuser = this.serviceuser.bind(this); + this.sheets = this.sheets.bind(this); + this.siteVerification = this.siteVerification.bind(this); + this.slides = this.slides.bind(this); + this.sourcerepo = this.sourcerepo.bind(this); + this.spanner = this.spanner.bind(this); + this.spectrum = this.spectrum.bind(this); + this.speech = this.speech.bind(this); + this.sqladmin = this.sqladmin.bind(this); + this.storage = this.storage.bind(this); + this.storagetransfer = this.storagetransfer.bind(this); + this.streetviewpublish = this.streetviewpublish.bind(this); + this.surveys = this.surveys.bind(this); + this.tagmanager = this.tagmanager.bind(this); + this.tasks = this.tasks.bind(this); + this.testing = this.testing.bind(this); + this.texttospeech = this.texttospeech.bind(this); + this.toolresults = this.toolresults.bind(this); + this.tpu = this.tpu.bind(this); + this.translate = this.translate.bind(this); + this.urlshortener = this.urlshortener.bind(this); + this.vault = this.vault.bind(this); + this.videointelligence = this.videointelligence.bind(this); + this.vision = this.vision.bind(this); + this.webfonts = this.webfonts.bind(this); + this.webmasters = this.webmasters.bind(this); + this.websecurityscanner = this.websecurityscanner.bind(this); + this.youtube = this.youtube.bind(this); + this.youtubeAnalytics = this.youtubeAnalytics.bind(this); + this.youtubereporting = this.youtubereporting.bind(this); + } } diff --git a/src/apis/logging/v2.ts b/src/apis/logging/v2.ts index 0a83a29e58c..00960da9177 100644 --- a/src/apis/logging/v2.ts +++ b/src/apis/logging/v2.ts @@ -623,9 +623,9 @@ export namespace logging_v2 { * Required. An advanced logs filter that matches the log entries to be * excluded. By using the sample function, you can exclude less than 100% of * the matching log entries. For example, the following filter matches 99% - * of low-severity log entries from load balancers: - * "resource.type=http_load_balancer severity<ERROR sample(insertId, - * 0.99)" + * of low-severity log entries from load + * balancers:"resource.type=http_load_balancer severity<ERROR + * sample(insertId, 0.99)" */ filter?: string; /** diff --git a/src/generator/templates/index.njk b/src/generator/templates/index.njk index 487264ee902..4de07fcd9a5 100644 --- a/src/generator/templates/index.njk +++ b/src/generator/templates/index.njk @@ -31,7 +31,12 @@ export const APIS: APIList = { }; export class GeneratedAPIs { -{% for apiName, api in apis %} - {{ apiName }} = {{ apiName }}.{{ apiName }}.bind(this); -{% endfor %} + {% for apiName, api in apis %} + {{ apiName }} = {{ apiName }}.{{ apiName }}; + {% endfor %} + constructor() { + {% for apiName, api in apis %} + this.{{ apiName }} = this.{{ apiName }}.bind(this); + {% endfor %} + } }