v3. GroupServiceClient
Source: v3/
The Group API lets you inspect and manage your groups.
A group is a named filter that is used to identify a collection of monitored resources. Groups are typically used to mirror the physical and/or logical topology of the environment. Because group membership is computed dynamically, monitored resources that are started in the future are automatically placed in matching groups. By using a group to name monitored resources in, for example, an alert policy, the target of that alert policy is updated automatically as monitored resources are added and removed from the infrastructure.
Properties
Methods
new GroupServiceClient([options])
Construct an instance of GroupServiceClient.
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
options |
|
Yes |
The configuration object. See the subsequent parameters for more details. Values in
|
Properties
apiEndpoint
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
port
The port for this API service.
scopes
The scopes needed to make gRPC calls for every method defined in this service.
servicePath
The DNS address for this API service.
Methods
createGroup(request[, options][, callback]) → Promise
Creates a new group.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const formattedName = client.projectPath('[PROJECT]');
const group = {};
const request = {
name: formattedName,
group: group,
};
client.createGroup(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Group. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Group. The promise has a method named "cancel" which cancels the ongoing API call.
deleteGroup(request[, options][, callback]) → Promise
Deletes an existing group.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const formattedName = client.groupPath('[PROJECT]', '[GROUP]');
client.deleteGroup({name: formattedName}).catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||
|
callback |
function(nullable Error) |
Yes |
The function which will be called with the result of the API call. |
- Returns
-
Promise- The promise which resolves when API call finishes. The promise has a method named "cancel" which cancels the ongoing API call.
getGroup(request[, options][, callback]) → Promise
Gets a single group.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const formattedName = client.groupPath('[PROJECT]', '[GROUP]');
client.getGroup({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Group. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Group. The promise has a method named "cancel" which cancels the ongoing API call.
getProjectId(callback)
Return the project ID used by this class.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
callback |
function(Error, string) |
|
the callback to be called with the current project Id. |
groupPath(project, group) → String
Return a fully-qualified group resource name string.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
|
|
group |
String |
|
- Returns
-
String
listGroupMembers(request[, options][, callback]) → Promise
Lists the monitored resources that are members of a group.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedName = client.groupPath('[PROJECT]', '[GROUP]');
client.listGroupMembers({name: formattedName})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedName = client.groupPath('[PROJECT]', '[GROUP]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listGroupMembers(nextRequest, options).then(callback);
}
}
client.listGroupMembers({name: formattedName}, options)
.then(callback)
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||||||
|
callback |
function(nullable Error, nullable Array, nullable Object, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is Array of MonitoredResource. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListGroupMembersResponse. |
- Returns
-
Promise-
The promise which resolves to an array. The first element of the array is Array of MonitoredResource.
When autoPaginate: false is specified through options, the array has three elements. The first element is Array of MonitoredResource in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListGroupMembersResponse.
The promise has a method named "cancel" which cancels the ongoing API call.
-
listGroupMembersStream(request[, options]) → Stream
Equivalent to listGroupMembers, but returns a NodeJS Stream object.
This fetches the paged responses for listGroupMembers continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const formattedName = client.groupPath('[PROJECT]', '[GROUP]');
client.listGroupMembersStream({name: formattedName})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- See also
- https://nodejs.org/api/stream.html
- Returns
-
StreamAn object stream which emits an object representing MonitoredResource on 'data' event.
listGroups(request[, options][, callback]) → Promise
Lists the existing groups.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedName = client.projectPath('[PROJECT]');
client.listGroups({name: formattedName})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedName = client.projectPath('[PROJECT]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listGroups(nextRequest, options).then(callback);
}
}
client.listGroups({name: formattedName}, options)
.then(callback)
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||||||||||
|
callback |
function(nullable Error, nullable Array, nullable Object, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is Array of Group. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListGroupsResponse. |
- Returns
-
Promise-
The promise which resolves to an array. The first element of the array is Array of Group.
When autoPaginate: false is specified through options, the array has three elements. The first element is Array of Group in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListGroupsResponse.
The promise has a method named "cancel" which cancels the ongoing API call.
-
listGroupsStream(request[, options]) → Stream
Equivalent to listGroups, but returns a NodeJS Stream object.
This fetches the paged responses for listGroups continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const formattedName = client.projectPath('[PROJECT]');
client.listGroupsStream({name: formattedName})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- See also
- https://nodejs.org/api/stream.html
- Returns
-
StreamAn object stream which emits an object representing Group on 'data' event.
matchGroupFromGroupName(groupName) → String
Parse the groupName from a group resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
groupName |
String |
|
A fully-qualified path representing a group resources. |
- Returns
-
String- A string representing the group.
matchProjectFromGroupName(groupName) → String
Parse the groupName from a group resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
groupName |
String |
|
A fully-qualified path representing a group resources. |
- Returns
-
String- A string representing the project.
matchProjectFromProjectName(projectName) → String
Parse the projectName from a project resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
projectName |
String |
|
A fully-qualified path representing a project resources. |
- Returns
-
String- A string representing the project.
projectPath(project) → String
Return a fully-qualified project resource name string.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
- Returns
-
String
updateGroup(request[, options][, callback]) → Promise
Updates an existing group.
You can change any group attributes except name.
Example
const monitoring = require('@google-cloud/monitoring');
const client = new monitoring.v3.GroupServiceClient({
// optional auth parameters.
});
const group = {};
client.updateGroup({group: group})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Group. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Group. The promise has a method named "cancel" which cancels the ongoing API call.