- 3.54.0 (latest)
- 3.53.0
- 3.52.0
- 3.50.0
- 3.49.0
- 3.48.0
- 3.47.0
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.0
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.0
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.0
- 3.14.0
- 3.13.0
- 3.12.0
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.6
- 3.3.6
- 3.2.10
public class GroupServiceClient implements BackgroundResource
Service Description: 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.
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.ofProjectGroupName("[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:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
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);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final GroupServiceClient create()
Constructs an instance of GroupServiceClient with default settings.
Type | Description |
GroupServiceClient |
Type | Description |
IOException |
create(GroupServiceSettings settings)
public static final GroupServiceClient create(GroupServiceSettings settings)
Constructs an instance of GroupServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | GroupServiceSettings |
Type | Description |
GroupServiceClient |
Type | Description |
IOException |
create(GroupServiceStub stub)
public static final GroupServiceClient create(GroupServiceStub stub)
Constructs an instance of GroupServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(GroupServiceSettings).
Name | Description |
stub | GroupServiceStub |
Type | Description |
GroupServiceClient |
Constructors
GroupServiceClient(GroupServiceSettings settings)
protected GroupServiceClient(GroupServiceSettings settings)
Constructs an instance of GroupServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | GroupServiceSettings |
GroupServiceClient(GroupServiceStub stub)
protected GroupServiceClient(GroupServiceStub stub)
Name | Description |
stub | GroupServiceStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
createGroup(ResourceName name, Group group)
public final Group createGroup(ResourceName name, Group group)
Creates a new group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ResourceName name = ResourceName.of("[FOLDER]");
Group group = Group.newBuilder().build();
Group response = groupServiceClient.createGroup(name, group);
}
Name | Description |
name | com.google.api.resourcenames.ResourceName Required. The project in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] |
group | Group Required. A group definition. It is an error to define the |
Type | Description |
Group |
createGroup(CreateGroupRequest request)
public final Group createGroup(CreateGroupRequest request)
Creates a new group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
CreateGroupRequest request =
CreateGroupRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setGroup(Group.newBuilder().build())
.setValidateOnly(true)
.build();
Group response = groupServiceClient.createGroup(request);
}
Name | Description |
request | CreateGroupRequest The request object containing all of the parameters for the API call. |
Type | Description |
Group |
createGroup(OrganizationName name, Group group)
public final Group createGroup(OrganizationName name, Group group)
Creates a new group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
OrganizationName name = OrganizationName.of("[ORGANIZATION]");
Group group = Group.newBuilder().build();
Group response = groupServiceClient.createGroup(name, group);
}
Name | Description |
name | OrganizationName Required. The project in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] |
group | Group Required. A group definition. It is an error to define the |
Type | Description |
Group |
createGroup(ProjectName name, Group group)
public final Group createGroup(ProjectName name, Group group)
Creates a new 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 | Description |
name | ProjectName Required. The project in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] |
group | Group Required. A group definition. It is an error to define the |
Type | Description |
Group |
createGroup(String name, Group group)
public final Group createGroup(String name, Group group)
Creates a new group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
String name = ProjectName.of("[PROJECT]").toString();
Group group = Group.newBuilder().build();
Group response = groupServiceClient.createGroup(name, group);
}
Name | Description |
name | String Required. The project in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] |
group | Group Required. A group definition. It is an error to define the |
Type | Description |
Group |
createGroupCallable()
public final UnaryCallable<CreateGroupRequest,Group> createGroupCallable()
Creates a new group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
CreateGroupRequest request =
CreateGroupRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setGroup(Group.newBuilder().build())
.setValidateOnly(true)
.build();
ApiFuture<Group> future = groupServiceClient.createGroupCallable().futureCall(request);
// Do something.
Group response = future.get();
}
Type | Description |
UnaryCallable<CreateGroupRequest,Group> |
deleteGroup(DeleteGroupRequest request)
public final void deleteGroup(DeleteGroupRequest request)
Deletes an existing group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
DeleteGroupRequest request =
DeleteGroupRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.setRecursive(true)
.build();
groupServiceClient.deleteGroup(request);
}
Name | Description |
request | DeleteGroupRequest The request object containing all of the parameters for the API call. |
deleteGroup(GroupName name)
public final void deleteGroup(GroupName name)
Deletes an existing group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]");
groupServiceClient.deleteGroup(name);
}
Name | Description |
name | GroupName Required. The group to delete. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
deleteGroup(String name)
public final void deleteGroup(String name)
Deletes an existing group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
String name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString();
groupServiceClient.deleteGroup(name);
}
Name | Description |
name | String Required. The group to delete. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
deleteGroupCallable()
public final UnaryCallable<DeleteGroupRequest,Empty> deleteGroupCallable()
Deletes an existing group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
DeleteGroupRequest request =
DeleteGroupRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.setRecursive(true)
.build();
ApiFuture<Empty> future = groupServiceClient.deleteGroupCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteGroupRequest,Empty> |
getGroup(GetGroupRequest request)
public final Group getGroup(GetGroupRequest request)
Gets a single group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GetGroupRequest request =
GetGroupRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.build();
Group response = groupServiceClient.getGroup(request);
}
Name | Description |
request | GetGroupRequest The request object containing all of the parameters for the API call. |
Type | Description |
Group |
getGroup(GroupName name)
public final Group getGroup(GroupName name)
Gets a single group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]");
Group response = groupServiceClient.getGroup(name);
}
Name | Description |
name | GroupName Required. The group to retrieve. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
Type | Description |
Group |
getGroup(String name)
public final Group getGroup(String name)
Gets a single group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
String name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString();
Group response = groupServiceClient.getGroup(name);
}
Name | Description |
name | String Required. The group to retrieve. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
Type | Description |
Group |
getGroupCallable()
public final UnaryCallable<GetGroupRequest,Group> getGroupCallable()
Gets a single group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GetGroupRequest request =
GetGroupRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.build();
ApiFuture<Group> future = groupServiceClient.getGroupCallable().futureCall(request);
// Do something.
Group response = future.get();
}
Type | Description |
UnaryCallable<GetGroupRequest,Group> |
getSettings()
public final GroupServiceSettings getSettings()
Type | Description |
GroupServiceSettings |
getStub()
public GroupServiceStub getStub()
Type | Description |
GroupServiceStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listGroupMembers(GroupName name)
public final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(GroupName name)
Lists the monitored resources that are members of a group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
GroupName name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]");
for (MonitoredResource element : groupServiceClient.listGroupMembers(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | GroupName Required. The group whose members are listed. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
Type | Description |
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembers(ListGroupMembersRequest request)
public final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(ListGroupMembersRequest request)
Lists the monitored resources that are members of a group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupMembersRequest request =
ListGroupMembersRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setInterval(TimeInterval.newBuilder().build())
.build();
for (MonitoredResource element : groupServiceClient.listGroupMembers(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListGroupMembersRequest The request object containing all of the parameters for the API call. |
Type | Description |
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembers(String name)
public final GroupServiceClient.ListGroupMembersPagedResponse listGroupMembers(String name)
Lists the monitored resources that are members of a group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
String name = GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString();
for (MonitoredResource element : groupServiceClient.listGroupMembers(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | String Required. The group whose members are listed. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] |
Type | Description |
GroupServiceClient.ListGroupMembersPagedResponse |
listGroupMembersCallable()
public final UnaryCallable<ListGroupMembersRequest,ListGroupMembersResponse> listGroupMembersCallable()
Lists the monitored resources that are members of a group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupMembersRequest request =
ListGroupMembersRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setInterval(TimeInterval.newBuilder().build())
.build();
while (true) {
ListGroupMembersResponse response =
groupServiceClient.listGroupMembersCallable().call(request);
for (MonitoredResource element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListGroupMembersRequest,ListGroupMembersResponse> |
listGroupMembersPagedCallable()
public final UnaryCallable<ListGroupMembersRequest,GroupServiceClient.ListGroupMembersPagedResponse> listGroupMembersPagedCallable()
Lists the monitored resources that are members of a group.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupMembersRequest request =
ListGroupMembersRequest.newBuilder()
.setName(GroupName.ofProjectGroupName("[PROJECT]", "[GROUP]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.setInterval(TimeInterval.newBuilder().build())
.build();
ApiFuture<MonitoredResource> future =
groupServiceClient.listGroupMembersPagedCallable().futureCall(request);
// Do something.
for (MonitoredResource element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListGroupMembersRequest,ListGroupMembersPagedResponse> |
listGroups(ResourceName name)
public final GroupServiceClient.ListGroupsPagedResponse listGroups(ResourceName name)
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ResourceName name = ResourceName.of("[FOLDER]");
for (Group element : groupServiceClient.listGroups(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | com.google.api.resourcenames.ResourceName Required. The project whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] |
Type | Description |
GroupServiceClient.ListGroupsPagedResponse |
listGroups(ListGroupsRequest request)
public final GroupServiceClient.ListGroupsPagedResponse listGroups(ListGroupsRequest request)
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupsRequest request =
ListGroupsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Group element : groupServiceClient.listGroups(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListGroupsRequest The request object containing all of the parameters for the API call. |
Type | Description |
GroupServiceClient.ListGroupsPagedResponse |
listGroups(OrganizationName name)
public final GroupServiceClient.ListGroupsPagedResponse listGroups(OrganizationName name)
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
OrganizationName name = OrganizationName.of("[ORGANIZATION]");
for (Group element : groupServiceClient.listGroups(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | OrganizationName Required. The project whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] |
Type | Description |
GroupServiceClient.ListGroupsPagedResponse |
listGroups(ProjectName name)
public final GroupServiceClient.ListGroupsPagedResponse listGroups(ProjectName name)
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
for (Group element : groupServiceClient.listGroups(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | ProjectName Required. The project whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] |
Type | Description |
GroupServiceClient.ListGroupsPagedResponse |
listGroups(String name)
public final GroupServiceClient.ListGroupsPagedResponse listGroups(String name)
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
String name = ProjectName.of("[PROJECT]").toString();
for (Group element : groupServiceClient.listGroups(name).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
name | String Required. The project whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] |
Type | Description |
GroupServiceClient.ListGroupsPagedResponse |
listGroupsCallable()
public final UnaryCallable<ListGroupsRequest,ListGroupsResponse> listGroupsCallable()
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupsRequest request =
ListGroupsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListGroupsResponse response = groupServiceClient.listGroupsCallable().call(request);
for (Group element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListGroupsRequest,ListGroupsResponse> |
listGroupsPagedCallable()
public final UnaryCallable<ListGroupsRequest,GroupServiceClient.ListGroupsPagedResponse> listGroupsPagedCallable()
Lists the existing groups.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
ListGroupsRequest request =
ListGroupsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Group> future = groupServiceClient.listGroupsPagedCallable().futureCall(request);
// Do something.
for (Group element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListGroupsRequest,ListGroupsPagedResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
updateGroup(Group group)
public final Group updateGroup(Group group)
Updates an existing group. You can change any group attributes except name
.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
Group group = Group.newBuilder().build();
Group response = groupServiceClient.updateGroup(group);
}
Name | Description |
group | Group Required. The new definition of the group. All fields of the existing group,
excepting |
Type | Description |
Group |
updateGroup(UpdateGroupRequest request)
public final Group updateGroup(UpdateGroupRequest request)
Updates an existing group. You can change any group attributes except name
.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
UpdateGroupRequest request =
UpdateGroupRequest.newBuilder()
.setGroup(Group.newBuilder().build())
.setValidateOnly(true)
.build();
Group response = groupServiceClient.updateGroup(request);
}
Name | Description |
request | UpdateGroupRequest The request object containing all of the parameters for the API call. |
Type | Description |
Group |
updateGroupCallable()
public final UnaryCallable<UpdateGroupRequest,Group> updateGroupCallable()
Updates an existing group. You can change any group attributes except name
.
Sample code:
try (GroupServiceClient groupServiceClient = GroupServiceClient.create()) {
UpdateGroupRequest request =
UpdateGroupRequest.newBuilder()
.setGroup(Group.newBuilder().build())
.setValidateOnly(true)
.build();
ApiFuture<Group> future = groupServiceClient.updateGroupCallable().futureCall(request);
// Do something.
Group response = future.get();
}
Type | Description |
UnaryCallable<UpdateGroupRequest,Group> |