Skip to content

Commit 70242d5

Browse files
Praful Makanichingor13
andauthored
feat: fix resourceNames (#24)
* feat: fix resourceNames * feat: update changes Co-authored-by: Jeff Ching <[email protected]>
1 parent 2db8bf0 commit 70242d5

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

google-cloud-logging/src/main/java/com/google/cloud/logging/Logging.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,10 @@ final class EntryListOption extends Option {
138138

139139
enum OptionType implements Option.OptionType {
140140
ORDER_BY,
141-
FILTER;
141+
FILTER,
142+
ORGANIZATION,
143+
BILLINGACCOUNT,
144+
FOLDER;
142145

143146
@SuppressWarnings("unchecked")
144147
<T> T get(Map<Option.OptionType, ?> options) {
@@ -177,6 +180,21 @@ public static EntryListOption sortOrder(SortingField field, SortingOrder order)
177180
public static EntryListOption filter(String filter) {
178181
return new EntryListOption(OptionType.FILTER, filter);
179182
}
183+
184+
/** Returns an option to specify an organization for the log entries to be listed. */
185+
public static EntryListOption organization(String organization) {
186+
return new EntryListOption(OptionType.ORGANIZATION, organization);
187+
}
188+
189+
/** Returns an option to specify a billingAccount for the log entries to be listed. */
190+
public static EntryListOption billingAccount(String billingAccount) {
191+
return new EntryListOption(OptionType.BILLINGACCOUNT, billingAccount);
192+
}
193+
194+
/** Returns an option to specify a folder for the log entries to be listed. */
195+
public static EntryListOption folder(String folder) {
196+
return new EntryListOption(OptionType.FOLDER, folder);
197+
}
180198
}
181199

182200
/* Sets synchronicity {@link Synchronicity} of logging writes, defaults to asynchronous. */

google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingImpl.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@
1717
package com.google.cloud.logging;
1818

1919
import static com.google.api.client.util.Preconditions.checkArgument;
20+
import static com.google.cloud.logging.Logging.EntryListOption.OptionType.BILLINGACCOUNT;
2021
import static com.google.cloud.logging.Logging.EntryListOption.OptionType.FILTER;
22+
import static com.google.cloud.logging.Logging.EntryListOption.OptionType.FOLDER;
2123
import static com.google.cloud.logging.Logging.EntryListOption.OptionType.ORDER_BY;
24+
import static com.google.cloud.logging.Logging.EntryListOption.OptionType.ORGANIZATION;
2225
import static com.google.cloud.logging.Logging.ListOption.OptionType.PAGE_SIZE;
2326
import static com.google.cloud.logging.Logging.ListOption.OptionType.PAGE_TOKEN;
2427
import static com.google.cloud.logging.Logging.WriteOption.OptionType.LABELS;
@@ -766,6 +769,18 @@ static ListLogEntriesRequest listLogEntriesRequest(
766769
String projectId, Map<Option.OptionType, ?> options) {
767770
ListLogEntriesRequest.Builder builder = ListLogEntriesRequest.newBuilder();
768771
builder.addResourceNames("projects/" + projectId);
772+
String organization = ORGANIZATION.get(options);
773+
if (organization != null) {
774+
builder.addResourceNames("organizations/" + organization);
775+
}
776+
String billingAccount = BILLINGACCOUNT.get(options);
777+
if (billingAccount != null) {
778+
builder.addResourceNames("billingAccounts/" + billingAccount);
779+
}
780+
String folder = FOLDER.get(options);
781+
if (folder != null) {
782+
builder.addResourceNames("folders/" + folder);
783+
}
769784
Integer pageSize = PAGE_SIZE.get(options);
770785
if (pageSize != null) {
771786
builder.setPageSize(pageSize);

google-cloud-logging/src/test/java/com/google/cloud/logging/LoggingTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,19 @@ public void testEntryListOption() {
7777
LoggingImpl.listLogEntriesRequest(
7878
"some-project-id",
7979
LoggingImpl.optionMap(
80-
EntryListOption.pageToken(PAGE_TOKEN), EntryListOption.pageSize(PAGE_SIZE)));
80+
EntryListOption.pageToken(PAGE_TOKEN),
81+
EntryListOption.pageSize(PAGE_SIZE),
82+
EntryListOption.organization("test-org"),
83+
EntryListOption.billingAccount("test-account"),
84+
EntryListOption.folder("test-folder")));
8185
assertThat(request.getPageToken()).isEqualTo(PAGE_TOKEN);
8286
assertThat(request.getPageSize()).isEqualTo(PAGE_SIZE);
87+
assertThat(request.getResourceNamesList())
88+
.containsExactly(
89+
"projects/some-project-id",
90+
"organizations/test-org",
91+
"billingAccounts/test-account",
92+
"folders/test-folder");
8393
}
8494

8595
@Test

0 commit comments

Comments
 (0)