@google-cloud/service-management
Version:
Service management client for Node.js
737 lines (736 loc) • 71 kB
TypeScript
import type * as gax from 'google-gax';
import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback, IamClient, IamProtos } from 'google-gax';
import { Transform } from 'stream';
import * as protos from '../../protos/protos';
/**
* [Google Service Management
* API](https://cloud.google.com/service-infrastructure/docs/overview)
* @class
* @memberof v1
*/
export declare class ServiceManagerClient {
private _terminated;
private _opts;
private _providedCustomServicePath;
private _gaxModule;
private _gaxGrpc;
private _protos;
private _defaults;
private _universeDomain;
private _servicePath;
private _log;
auth: gax.GoogleAuth;
descriptors: Descriptors;
warn: (code: string, message: string, warnType?: string) => void;
innerApiCalls: {
[name: string]: Function;
};
iamClient: IamClient;
operationsClient: gax.OperationsClient;
serviceManagerStub?: Promise<{
[name: string]: Function;
}>;
/**
* Construct an instance of ServiceManagerClient.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new ServiceManagerClient({fallback: true}, gax);
* ```
*/
constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize(): Promise<{
[name: string]: Function;
}>;
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath(): string;
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint(): string;
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint(): string;
get universeDomain(): string;
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port(): number;
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes(): string[];
getProjectId(): Promise<string>;
getProjectId(callback: Callback<string, undefined, undefined>): void;
/**
* Gets a managed service. Authentication is required unless the service is
* public.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the `ServiceManager` overview for
* naming requirements. For example: `example.googleapis.com`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.api.servicemanagement.v1.ManagedService|ManagedService}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.get_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_GetService_async
*/
getService(request?: protos.google.api.servicemanagement.v1.IGetServiceRequest, options?: CallOptions): Promise<[
protos.google.api.servicemanagement.v1.IManagedService,
protos.google.api.servicemanagement.v1.IGetServiceRequest | undefined,
{} | undefined
]>;
getService(request: protos.google.api.servicemanagement.v1.IGetServiceRequest, options: CallOptions, callback: Callback<protos.google.api.servicemanagement.v1.IManagedService, protos.google.api.servicemanagement.v1.IGetServiceRequest | null | undefined, {} | null | undefined>): void;
getService(request: protos.google.api.servicemanagement.v1.IGetServiceRequest, callback: Callback<protos.google.api.servicemanagement.v1.IManagedService, protos.google.api.servicemanagement.v1.IGetServiceRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets a service configuration (version) for a managed service.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.configId
* Required. The id of the service configuration resource.
*
* This field must be specified for the server to return all fields, including
* `SourceInfo`.
* @param {google.api.servicemanagement.v1.GetServiceConfigRequest.ConfigView} request.view
* Specifies which parts of the Service Config should be returned in the
* response.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.api.Service|Service}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.get_service_config.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_GetServiceConfig_async
*/
getServiceConfig(request?: protos.google.api.servicemanagement.v1.IGetServiceConfigRequest, options?: CallOptions): Promise<[
protos.google.api.IService,
(protos.google.api.servicemanagement.v1.IGetServiceConfigRequest | undefined),
{} | undefined
]>;
getServiceConfig(request: protos.google.api.servicemanagement.v1.IGetServiceConfigRequest, options: CallOptions, callback: Callback<protos.google.api.IService, protos.google.api.servicemanagement.v1.IGetServiceConfigRequest | null | undefined, {} | null | undefined>): void;
getServiceConfig(request: protos.google.api.servicemanagement.v1.IGetServiceConfigRequest, callback: Callback<protos.google.api.IService, protos.google.api.servicemanagement.v1.IGetServiceConfigRequest | null | undefined, {} | null | undefined>): void;
/**
* Creates a new service configuration (version) for a managed service.
* This method only stores the service configuration. To roll out the service
* configuration to backend systems please call
* {@link protos.google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout|CreateServiceRollout}.
*
* Only the 100 most recent service configurations and ones referenced by
* existing rollouts are kept for each service. The rest will be deleted
* eventually.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {google.api.Service} request.serviceConfig
* Required. The service configuration resource.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.api.Service|Service}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.create_service_config.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_CreateServiceConfig_async
*/
createServiceConfig(request?: protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest, options?: CallOptions): Promise<[
protos.google.api.IService,
(protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest | undefined),
{} | undefined
]>;
createServiceConfig(request: protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest, options: CallOptions, callback: Callback<protos.google.api.IService, protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest | null | undefined, {} | null | undefined>): void;
createServiceConfig(request: protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest, callback: Callback<protos.google.api.IService, protos.google.api.servicemanagement.v1.ICreateServiceConfigRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets a service configuration
* {@link protos.google.api.servicemanagement.v1.Rollout|rollout}.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.rolloutId
* Required. The id of the rollout resource.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.api.servicemanagement.v1.Rollout|Rollout}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.get_service_rollout.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_GetServiceRollout_async
*/
getServiceRollout(request?: protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest, options?: CallOptions): Promise<[
protos.google.api.servicemanagement.v1.IRollout,
(protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest | undefined),
{} | undefined
]>;
getServiceRollout(request: protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest, options: CallOptions, callback: Callback<protos.google.api.servicemanagement.v1.IRollout, protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest | null | undefined, {} | null | undefined>): void;
getServiceRollout(request: protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest, callback: Callback<protos.google.api.servicemanagement.v1.IRollout, protos.google.api.servicemanagement.v1.IGetServiceRolloutRequest | null | undefined, {} | null | undefined>): void;
/**
* Generates and returns a report (errors, warnings and changes from
* existing configurations) associated with
* GenerateConfigReportRequest.new_value
*
* If GenerateConfigReportRequest.old_value is specified,
* GenerateConfigReportRequest will contain a single ChangeReport based on the
* comparison between GenerateConfigReportRequest.new_value and
* GenerateConfigReportRequest.old_value.
* If GenerateConfigReportRequest.old_value is not specified, this method
* will compare GenerateConfigReportRequest.new_value with the last pushed
* service configuration.
*
* @param {Object} request
* The request object that will be sent.
* @param {google.protobuf.Any} request.newConfig
* Required. Service configuration for which we want to generate the report.
* For this version of API, the supported types are
* {@link protos.google.api.servicemanagement.v1.ConfigRef|google.api.servicemanagement.v1.ConfigRef},
* {@link protos.google.api.servicemanagement.v1.ConfigSource|google.api.servicemanagement.v1.ConfigSource},
* and {@link protos.google.api.Service|google.api.Service}
* @param {google.protobuf.Any} [request.oldConfig]
* Optional. Service configuration against which the comparison will be done.
* For this version of API, the supported types are
* {@link protos.google.api.servicemanagement.v1.ConfigRef|google.api.servicemanagement.v1.ConfigRef},
* {@link protos.google.api.servicemanagement.v1.ConfigSource|google.api.servicemanagement.v1.ConfigSource},
* and {@link protos.google.api.Service|google.api.Service}
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.api.servicemanagement.v1.GenerateConfigReportResponse|GenerateConfigReportResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.generate_config_report.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_GenerateConfigReport_async
*/
generateConfigReport(request?: protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest, options?: CallOptions): Promise<[
protos.google.api.servicemanagement.v1.IGenerateConfigReportResponse,
(protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest | undefined),
{} | undefined
]>;
generateConfigReport(request: protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest, options: CallOptions, callback: Callback<protos.google.api.servicemanagement.v1.IGenerateConfigReportResponse, protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest | null | undefined, {} | null | undefined>): void;
generateConfigReport(request: protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest, callback: Callback<protos.google.api.servicemanagement.v1.IGenerateConfigReportResponse, protos.google.api.servicemanagement.v1.IGenerateConfigReportRequest | null | undefined, {} | null | undefined>): void;
/**
* Creates a new managed service.
*
* A managed service is immutable, and is subject to mandatory 30-day
* data retention. You cannot move a service or recreate it within 30 days
* after deletion.
*
* One producer project can own no more than 500 services. For security and
* reliability purposes, a production service should be hosted in a
* dedicated producer project.
*
* Operation<response: ManagedService>
*
* @param {Object} request
* The request object that will be sent.
* @param {google.api.servicemanagement.v1.ManagedService} request.service
* Required. Initial values for the service resource.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* a long running operation. Its `promise()` method returns a promise
* you can `await` for.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.create_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_CreateService_async
*/
createService(request?: protos.google.api.servicemanagement.v1.ICreateServiceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.api.servicemanagement.v1.IManagedService, protos.google.api.servicemanagement.v1.IOperationMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
createService(request: protos.google.api.servicemanagement.v1.ICreateServiceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IManagedService, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
createService(request: protos.google.api.servicemanagement.v1.ICreateServiceRequest, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IManagedService, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `createService()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.create_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_CreateService_async
*/
checkCreateServiceProgress(name: string): Promise<LROperation<protos.google.api.servicemanagement.v1.ManagedService, protos.google.api.servicemanagement.v1.OperationMetadata>>;
/**
* Deletes a managed service. This method will change the service to the
* `Soft-Delete` state for 30 days. Within this period, service producers may
* call
* {@link protos.google.api.servicemanagement.v1.ServiceManager.UndeleteService|UndeleteService}
* to restore the service. After 30 days, the service will be permanently
* deleted.
*
* Operation<response: google.protobuf.Empty>
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* a long running operation. Its `promise()` method returns a promise
* you can `await` for.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.delete_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_DeleteService_async
*/
deleteService(request?: protos.google.api.servicemanagement.v1.IDeleteServiceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.protobuf.IEmpty, protos.google.api.servicemanagement.v1.IOperationMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
deleteService(request: protos.google.api.servicemanagement.v1.IDeleteServiceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
deleteService(request: protos.google.api.servicemanagement.v1.IDeleteServiceRequest, callback: Callback<LROperation<protos.google.protobuf.IEmpty, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `deleteService()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.delete_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_DeleteService_async
*/
checkDeleteServiceProgress(name: string): Promise<LROperation<protos.google.protobuf.Empty, protos.google.api.servicemanagement.v1.OperationMetadata>>;
/**
* Revives a previously deleted managed service. The method restores the
* service using the configuration at the time the service was deleted.
* The target service must exist and must have been deleted within the
* last 30 days.
*
* Operation<response: UndeleteServiceResponse>
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* a long running operation. Its `promise()` method returns a promise
* you can `await` for.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.undelete_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_UndeleteService_async
*/
undeleteService(request?: protos.google.api.servicemanagement.v1.IUndeleteServiceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.api.servicemanagement.v1.IUndeleteServiceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
undeleteService(request: protos.google.api.servicemanagement.v1.IUndeleteServiceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IUndeleteServiceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
undeleteService(request: protos.google.api.servicemanagement.v1.IUndeleteServiceRequest, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IUndeleteServiceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `undeleteService()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.undelete_service.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_UndeleteService_async
*/
checkUndeleteServiceProgress(name: string): Promise<LROperation<protos.google.api.servicemanagement.v1.UndeleteServiceResponse, protos.google.api.servicemanagement.v1.OperationMetadata>>;
/**
* Creates a new service configuration (version) for a managed service based
* on
* user-supplied configuration source files (for example: OpenAPI
* Specification). This method stores the source configurations as well as the
* generated service configuration. To rollout the service configuration to
* other services,
* please call
* {@link protos.google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout|CreateServiceRollout}.
*
* Only the 100 most recent configuration sources and ones referenced by
* existing service configurtions are kept for each service. The rest will be
* deleted eventually.
*
* Operation<response: SubmitConfigSourceResponse>
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {google.api.servicemanagement.v1.ConfigSource} request.configSource
* Required. The source configuration for the service.
* @param {boolean} [request.validateOnly]
* Optional. If set, this will result in the generation of a
* `google.api.Service` configuration based on the `ConfigSource` provided,
* but the generated config and the sources will NOT be persisted.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* a long running operation. Its `promise()` method returns a promise
* you can `await` for.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.submit_config_source.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_SubmitConfigSource_async
*/
submitConfigSource(request?: protos.google.api.servicemanagement.v1.ISubmitConfigSourceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.api.servicemanagement.v1.ISubmitConfigSourceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
submitConfigSource(request: protos.google.api.servicemanagement.v1.ISubmitConfigSourceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.ISubmitConfigSourceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
submitConfigSource(request: protos.google.api.servicemanagement.v1.ISubmitConfigSourceRequest, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.ISubmitConfigSourceResponse, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `submitConfigSource()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.submit_config_source.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_SubmitConfigSource_async
*/
checkSubmitConfigSourceProgress(name: string): Promise<LROperation<protos.google.api.servicemanagement.v1.SubmitConfigSourceResponse, protos.google.api.servicemanagement.v1.OperationMetadata>>;
/**
* Creates a new service configuration rollout. Based on rollout, the
* Google Service Management will roll out the service configurations to
* different backend services. For example, the logging configuration will be
* pushed to Google Cloud Logging.
*
* Please note that any previous pending and running Rollouts and associated
* Operations will be automatically cancelled so that the latest Rollout will
* not be blocked by previous Rollouts.
*
* Only the 100 most recent (in any state) and the last 10 successful (if not
* already part of the set of 100 most recent) rollouts are kept for each
* service. The rest will be deleted eventually.
*
* Operation<response: Rollout>
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {google.api.servicemanagement.v1.Rollout} request.rollout
* Required. The rollout resource. The `service_name` field is output only.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* a long running operation. Its `promise()` method returns a promise
* you can `await` for.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.create_service_rollout.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_CreateServiceRollout_async
*/
createServiceRollout(request?: protos.google.api.servicemanagement.v1.ICreateServiceRolloutRequest, options?: CallOptions): Promise<[
LROperation<protos.google.api.servicemanagement.v1.IRollout, protos.google.api.servicemanagement.v1.IOperationMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
createServiceRollout(request: protos.google.api.servicemanagement.v1.ICreateServiceRolloutRequest, options: CallOptions, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IRollout, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
createServiceRollout(request: protos.google.api.servicemanagement.v1.ICreateServiceRolloutRequest, callback: Callback<LROperation<protos.google.api.servicemanagement.v1.IRollout, protos.google.api.servicemanagement.v1.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `createServiceRollout()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.create_service_rollout.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_CreateServiceRollout_async
*/
checkCreateServiceRolloutProgress(name: string): Promise<LROperation<protos.google.api.servicemanagement.v1.Rollout, protos.google.api.servicemanagement.v1.OperationMetadata>>;
/**
* Lists managed services.
*
* Returns all public services. For authenticated users, also returns all
* services the calling user has "servicemanagement.services.get" permission
* for.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.producerProjectId
* Include services produced by the specified project.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 500.
* @param {string} request.pageToken
* Token identifying which result to start with; returned by a previous list
* call.
* @param {string} request.consumerId
* Include services consumed by the specified consumer.
*
* The Google Service Management implementation accepts the following
* forms:
* - project:<project_id>
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is Array of {@link protos.google.api.servicemanagement.v1.ManagedService|ManagedService}.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed and will merge results from all the pages into this array.
* Note that it can affect your quota.
* We recommend using `listServicesAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listServices(request?: protos.google.api.servicemanagement.v1.IListServicesRequest, options?: CallOptions): Promise<[
protos.google.api.servicemanagement.v1.IManagedService[],
protos.google.api.servicemanagement.v1.IListServicesRequest | null,
protos.google.api.servicemanagement.v1.IListServicesResponse
]>;
listServices(request: protos.google.api.servicemanagement.v1.IListServicesRequest, options: CallOptions, callback: PaginationCallback<protos.google.api.servicemanagement.v1.IListServicesRequest, protos.google.api.servicemanagement.v1.IListServicesResponse | null | undefined, protos.google.api.servicemanagement.v1.IManagedService>): void;
listServices(request: protos.google.api.servicemanagement.v1.IListServicesRequest, callback: PaginationCallback<protos.google.api.servicemanagement.v1.IListServicesRequest, protos.google.api.servicemanagement.v1.IListServicesResponse | null | undefined, protos.google.api.servicemanagement.v1.IManagedService>): void;
/**
* Equivalent to `listServices`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.producerProjectId
* Include services produced by the specified project.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 500.
* @param {string} request.pageToken
* Token identifying which result to start with; returned by a previous list
* call.
* @param {string} request.consumerId
* Include services consumed by the specified consumer.
*
* The Google Service Management implementation accepts the following
* forms:
* - project:<project_id>
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.api.servicemanagement.v1.ManagedService|ManagedService} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listServicesAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listServicesStream(request?: protos.google.api.servicemanagement.v1.IListServicesRequest, options?: CallOptions): Transform;
/**
* Equivalent to `listServices`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.producerProjectId
* Include services produced by the specified project.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 500.
* @param {string} request.pageToken
* Token identifying which result to start with; returned by a previous list
* call.
* @param {string} request.consumerId
* Include services consumed by the specified consumer.
*
* The Google Service Management implementation accepts the following
* forms:
* - project:<project_id>
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.api.servicemanagement.v1.ManagedService|ManagedService}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.list_services.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_ListServices_async
*/
listServicesAsync(request?: protos.google.api.servicemanagement.v1.IListServicesRequest, options?: CallOptions): AsyncIterable<protos.google.api.servicemanagement.v1.IManagedService>;
/**
* Lists the history of the service configuration for a managed service,
* from the newest to the oldest.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.pageToken
* The token of the page to retrieve.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 100.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is Array of {@link protos.google.api.Service|Service}.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed and will merge results from all the pages into this array.
* Note that it can affect your quota.
* We recommend using `listServiceConfigsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listServiceConfigs(request?: protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, options?: CallOptions): Promise<[
protos.google.api.IService[],
protos.google.api.servicemanagement.v1.IListServiceConfigsRequest | null,
protos.google.api.servicemanagement.v1.IListServiceConfigsResponse
]>;
listServiceConfigs(request: protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, options: CallOptions, callback: PaginationCallback<protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, protos.google.api.servicemanagement.v1.IListServiceConfigsResponse | null | undefined, protos.google.api.IService>): void;
listServiceConfigs(request: protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, callback: PaginationCallback<protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, protos.google.api.servicemanagement.v1.IListServiceConfigsResponse | null | undefined, protos.google.api.IService>): void;
/**
* Equivalent to `listServiceConfigs`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.pageToken
* The token of the page to retrieve.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 100.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.api.Service|Service} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listServiceConfigsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listServiceConfigsStream(request?: protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, options?: CallOptions): Transform;
/**
* Equivalent to `listServiceConfigs`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.pageToken
* The token of the page to retrieve.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 100.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.api.Service|Service}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/service_manager.list_service_configs.js</caption>
* region_tag:servicemanagement_v1_generated_ServiceManager_ListServiceConfigs_async
*/
listServiceConfigsAsync(request?: protos.google.api.servicemanagement.v1.IListServiceConfigsRequest, options?: CallOptions): AsyncIterable<protos.google.api.IService>;
/**
* Lists the history of the service configuration rollouts for a managed
* service, from the newest to the oldest.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.serviceName
* Required. The name of the service. See the
* [overview](https://cloud.google.com/service-management/overview) for naming
* requirements. For example: `example.googleapis.com`.
* @param {string} request.pageToken
* The token of the page to retrieve.
* @param {number} request.pageSize
* The max number of items to include in the response list. Page size is 50
* if not specified. Maximum value is 100.