@Generated(value="by gapic-generator") public class GroupServiceClient extends Object implements BackgroundResource
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.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
Group response = groupServiceClient.getGroup(name);
}
Note: close() needs to be called on the groupServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of GroupServiceSettings to create(). For example:
To customize credentials:
GroupServiceSettings groupServiceSettings =
GroupServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
GroupServiceClient groupServiceClient =
GroupServiceClient.create(groupServiceSettings);
To customize the endpoint:
GroupServiceSettings groupServiceSettings =
GroupServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
GroupServiceClient groupServiceClient =
GroupServiceClient.create(groupServiceSettings);
Modifier and Type | Class and Description |
---|---|
static class |
GroupServiceClient.ListGroupMembersFixedSizeCollection |
static class |
GroupServiceClient.ListGroupMembersPage |
static class |
GroupServiceClient.ListGroupMembersPagedResponse |
static class |
GroupServiceClient.ListGroupsFixedSizeCollection |
static class |
GroupServiceClient.ListGroupsPage |
static class |
GroupServiceClient.ListGroupsPagedResponse |
Modifier | Constructor and Description |
---|---|
protected |
GroupServiceClient(GroupServiceSettings settings)
Constructs an instance of GroupServiceClient, using the given settings.
|
protected |
GroupServiceClient(GroupServiceStub stub) |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static GroupServiceClient |
create()
Constructs an instance of GroupServiceClient with default settings.
|
static GroupServiceClient |
create(GroupServiceSettings settings)
Constructs an instance of GroupServiceClient, using the given settings.
|
static GroupServiceClient |
create(GroupServiceStub stub)
Constructs an instance of GroupServiceClient, using the given stub for making calls.
|
com.google.monitoring.v3.Group |
createGroup(com.google.monitoring.v3.CreateGroupRequest request)
Creates a new group.
|
com.google.monitoring.v3.Group |
createGroup(com.google.monitoring.v3.ProjectName name,
com.google.monitoring.v3.Group group)
Creates a new group.
|
com.google.monitoring.v3.Group |
createGroup(String name,
com.google.monitoring.v3.Group group)
Creates a new group.
|
UnaryCallable<com.google.monitoring.v3.CreateGroupRequest,com.google.monitoring.v3.Group> |
createGroupCallable()
Creates a new group.
|
void |
deleteGroup(com.google.monitoring.v3.DeleteGroupRequest request)
Deletes an existing group.
|
void |
deleteGroup(com.google.monitoring.v3.GroupName name)
Deletes an existing group.
|
void |
deleteGroup(String name)
Deletes an existing group.
|
UnaryCallable<com.google.monitoring.v3.DeleteGroupRequest,Empty> |
deleteGroupCallable()
Deletes an existing group.
|
com.google.monitoring.v3.Group |
getGroup(com.google.monitoring.v3.GetGroupRequest request)
Gets a single group.
|
com.google.monitoring.v3.Group |
getGroup(com.google.monitoring.v3.GroupName name)
Gets a single group.
|
com.google.monitoring.v3.Group |
getGroup(String name)
Gets a single group.
|
UnaryCallable<com.google.monitoring.v3.GetGroupRequest,com.google.monitoring.v3.Group> |
getGroupCallable()
Gets a single group.
|
GroupServiceSettings |
getSettings() |
GroupServiceStub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembers(com.google.monitoring.v3.GroupName name)
Lists the monitored resources that are members of a group.
|
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembers(com.google.monitoring.v3.ListGroupMembersRequest request)
Lists the monitored resources that are members of a group.
|
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembers(String name)
Lists the monitored resources that are members of a group.
|
UnaryCallable<com.google.monitoring.v3.ListGroupMembersRequest,com.google.monitoring.v3.ListGroupMembersResponse> |
listGroupMembersCallable()
Lists the monitored resources that are members of a group.
|
UnaryCallable<com.google.monitoring.v3.ListGroupMembersRequest,GroupServiceClient.ListGroupMembersPagedResponse> |
listGroupMembersPagedCallable()
Lists the monitored resources that are members of a group.
|
GroupServiceClient.ListGroupsPagedResponse |
listGroups(com.google.monitoring.v3.ListGroupsRequest request)
Lists the existing groups.
|
UnaryCallable<com.google.monitoring.v3.ListGroupsRequest,com.google.monitoring.v3.ListGroupsResponse> |
listGroupsCallable()
Lists the existing groups.
|
UnaryCallable<com.google.monitoring.v3.ListGroupsRequest,GroupServiceClient.ListGroupsPagedResponse> |
listGroupsPagedCallable()
Lists the existing groups.
|
void |
shutdown() |
void |
shutdownNow() |
com.google.monitoring.v3.Group |
updateGroup(com.google.monitoring.v3.Group group)
Updates an existing group.
|
com.google.monitoring.v3.Group |
updateGroup(com.google.monitoring.v3.UpdateGroupRequest request)
Updates an existing group.
|
UnaryCallable<com.google.monitoring.v3.UpdateGroupRequest,com.google.monitoring.v3.Group> |
updateGroupCallable()
Updates an existing group.
|
protected GroupServiceClient(GroupServiceSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") protected GroupServiceClient(GroupServiceStub stub)
public static final GroupServiceClient create() throws IOException
IOException
public static final GroupServiceClient create(GroupServiceSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public static final GroupServiceClient create(GroupServiceStub stub)
public final GroupServiceSettings getSettings()
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public GroupServiceStub getStub()
public final GroupServiceClient.ListGroupsPagedResponse listGroups(com.google.monitoring.v3.ListGroupsRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
ListGroupsRequest request = ListGroupsRequest.newBuilder()
.setName(name.toString())
.build();
for (Group element : groupServiceClient.listGroups(request).iterateAll()) {
// doThingsWith(element);
}
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.ListGroupsRequest,GroupServiceClient.ListGroupsPagedResponse> listGroupsPagedCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
ListGroupsRequest request = ListGroupsRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<ListGroupsPagedResponse> future = groupServiceClient.listGroupsPagedCallable().futureCall(request);
// Do something
for (Group element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final UnaryCallable<com.google.monitoring.v3.ListGroupsRequest,com.google.monitoring.v3.ListGroupsResponse> listGroupsCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
ListGroupsRequest request = ListGroupsRequest.newBuilder()
.setName(name.toString())
.build();
while (true) {
ListGroupsResponse response = groupServiceClient.listGroupsCallable().call(request);
for (Group element : response.getGroupList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final com.google.monitoring.v3.Group getGroup(com.google.monitoring.v3.GroupName name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
Group response = groupServiceClient.getGroup(name);
}
name
- The group to retrieve. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final com.google.monitoring.v3.Group getGroup(String name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
Group response = groupServiceClient.getGroup(name.toString());
}
name
- The group to retrieve. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final com.google.monitoring.v3.Group getGroup(com.google.monitoring.v3.GetGroupRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
GetGroupRequest request = GetGroupRequest.newBuilder()
.setName(name.toString())
.build();
Group response = groupServiceClient.getGroup(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.GetGroupRequest,com.google.monitoring.v3.Group> getGroupCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
GetGroupRequest request = GetGroupRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<Group> future = groupServiceClient.getGroupCallable().futureCall(request);
// Do something
Group response = future.get();
}
public final com.google.monitoring.v3.Group createGroup(com.google.monitoring.v3.ProjectName name, com.google.monitoring.v3.Group group)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
Group group = Group.newBuilder().build();
Group response = groupServiceClient.createGroup(name, group);
}
name
- The project in which to create the group. The format is
`"projects/{project_id_or_number}"`.group
- A group definition. It is an error to define the `name` field because the system
assigns the name.ApiException
- if the remote call failspublic final com.google.monitoring.v3.Group createGroup(String name, com.google.monitoring.v3.Group group)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
Group group = Group.newBuilder().build();
Group response = groupServiceClient.createGroup(name.toString(), group);
}
name
- The project in which to create the group. The format is
`"projects/{project_id_or_number}"`.group
- A group definition. It is an error to define the `name` field because the system
assigns the name.ApiException
- if the remote call failspublic final com.google.monitoring.v3.Group createGroup(com.google.monitoring.v3.CreateGroupRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
Group group = Group.newBuilder().build();
CreateGroupRequest request = CreateGroupRequest.newBuilder()
.setName(name.toString())
.setGroup(group)
.build();
Group response = groupServiceClient.createGroup(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.CreateGroupRequest,com.google.monitoring.v3.Group> createGroupCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
Group group = Group.newBuilder().build();
CreateGroupRequest request = CreateGroupRequest.newBuilder()
.setName(name.toString())
.setGroup(group)
.build();
ApiFuture<Group> future = groupServiceClient.createGroupCallable().futureCall(request);
// Do something
Group response = future.get();
}
public final com.google.monitoring.v3.Group updateGroup(com.google.monitoring.v3.Group group)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
Group group = Group.newBuilder().build();
Group response = groupServiceClient.updateGroup(group);
}
group
- The new definition of the group. All fields of the existing group, excepting
`name`, are replaced with the corresponding fields of this group.ApiException
- if the remote call failspublic final com.google.monitoring.v3.Group updateGroup(com.google.monitoring.v3.UpdateGroupRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
Group group = Group.newBuilder().build();
UpdateGroupRequest request = UpdateGroupRequest.newBuilder()
.setGroup(group)
.build();
Group response = groupServiceClient.updateGroup(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.UpdateGroupRequest,com.google.monitoring.v3.Group> updateGroupCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
Group group = Group.newBuilder().build();
UpdateGroupRequest request = UpdateGroupRequest.newBuilder()
.setGroup(group)
.build();
ApiFuture<Group> future = groupServiceClient.updateGroupCallable().futureCall(request);
// Do something
Group response = future.get();
}
public final void deleteGroup(com.google.monitoring.v3.GroupName name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
groupServiceClient.deleteGroup(name);
}
name
- The group to delete. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final void deleteGroup(String name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
groupServiceClient.deleteGroup(name.toString());
}
name
- The group to delete. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final void deleteGroup(com.google.monitoring.v3.DeleteGroupRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
DeleteGroupRequest request = DeleteGroupRequest.newBuilder()
.setName(name.toString())
.build();
groupServiceClient.deleteGroup(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.DeleteGroupRequest,Empty> deleteGroupCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
DeleteGroupRequest request = DeleteGroupRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<Void> future = groupServiceClient.deleteGroupCallable().futureCall(request);
// Do something
future.get();
}
public final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(com.google.monitoring.v3.GroupName name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
for (MonitoredResource element : groupServiceClient.listGroupMembers(name).iterateAll()) {
// doThingsWith(element);
}
}
name
- The group whose members are listed. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(String name)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
for (MonitoredResource element : groupServiceClient.listGroupMembers(name.toString()).iterateAll()) {
// doThingsWith(element);
}
}
name
- The group whose members are listed. The format is
`"projects/{project_id_or_number}/groups/{group_id}"`.ApiException
- if the remote call failspublic final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(com.google.monitoring.v3.ListGroupMembersRequest request)
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
ListGroupMembersRequest request = ListGroupMembersRequest.newBuilder()
.setName(name.toString())
.build();
for (MonitoredResource element : groupServiceClient.listGroupMembers(request).iterateAll()) {
// doThingsWith(element);
}
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<com.google.monitoring.v3.ListGroupMembersRequest,GroupServiceClient.ListGroupMembersPagedResponse> listGroupMembersPagedCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
ListGroupMembersRequest request = ListGroupMembersRequest.newBuilder()
.setName(name.toString())
.build();
ApiFuture<ListGroupMembersPagedResponse> future = groupServiceClient.listGroupMembersPagedCallable().futureCall(request);
// Do something
for (MonitoredResource element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final UnaryCallable<com.google.monitoring.v3.ListGroupMembersRequest,com.google.monitoring.v3.ListGroupMembersResponse> listGroupMembersCallable()
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.of("[PROJECT]", "[GROUP]");
ListGroupMembersRequest request = ListGroupMembersRequest.newBuilder()
.setName(name.toString())
.build();
while (true) {
ListGroupMembersResponse response = groupServiceClient.listGroupMembersCallable().call(request);
for (MonitoredResource element : response.getMembersList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final void close()
close
in interface AutoCloseable
public void shutdown()
shutdown
in interface BackgroundResource
public boolean isShutdown()
isShutdown
in interface BackgroundResource
public boolean isTerminated()
isTerminated
in interface BackgroundResource
public void shutdownNow()
shutdownNow
in interface BackgroundResource
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
awaitTermination
in interface BackgroundResource
InterruptedException
Copyright © 2019 Google LLC. All rights reserved.