Skip to content

Commit 792f8c0

Browse files
feat: Add a new version for biglake (#11742)
See 443143339#comment12. Generate client libraries for `google/cloud/biglake/v1` and add it to the existing libraries that is generated from `google/cloud/bigquery/biglake/v1`. --------- Co-authored-by: cloud-java-bot <[email protected]>
1 parent 230fed0 commit 792f8c0

File tree

106 files changed

+48699
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+48699
-1
lines changed

generation_config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ libraries:
366366
used for querying Apache Iceberg tables in BigQuery.
367367
GAPICs:
368368
- proto_path: google/cloud/bigquery/biglake/v1
369+
- proto_path: google/cloud/biglake/v1
369370
- proto_path: google/cloud/bigquery/biglake/v1alpha1
370371

371372
- api_shortname: analyticshub

java-biglake/.OwlBot-hermetic.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ deep-copy-regex:
3131
dest: "/owl-bot-staging/java-biglake/$1/google-cloud-biglake/src"
3232
- source: "/google/cloud/bigquery/biglake/(v.*)/.*-java/samples/snippets/generated"
3333
dest: "/owl-bot-staging/java-biglake/$1/samples/snippets/generated"
34+
- source: "/google/cloud/biglake/(v.*)/.*-java/proto-google-.*/src"
35+
dest: "/owl-bot-staging/java-biglake/$1/proto-google-cloud-biglake-$1/src"
36+
- source: "/google/cloud/biglake/(v.*)/.*-java/grpc-google-.*/src"
37+
dest: "/owl-bot-staging/java-biglake/$1/grpc-google-cloud-biglake-$1/src"
38+
- source: "/google/cloud/biglake/(v.*)/.*-java/gapic-google-.*/src"
39+
dest: "/owl-bot-staging/java-biglake/$1/google-cloud-biglake/src"
40+
- source: "/google/cloud/biglake/(v.*)/.*-java/samples/snippets/generated"
41+
dest: "/owl-bot-staging/java-biglake/$1/samples/snippets/generated"
3442

3543

36-
api-name: biglake
44+
api-name: biglake

java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/IcebergCatalogServiceClient.java

Lines changed: 1058 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
1+
/*
2+
* Copyright 2025 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.cloud.biglake.v1;
18+
19+
import static com.google.cloud.biglake.v1.IcebergCatalogServiceClient.ListIcebergCatalogsPagedResponse;
20+
21+
import com.google.api.core.ApiFunction;
22+
import com.google.api.core.BetaApi;
23+
import com.google.api.gax.core.GoogleCredentialsProvider;
24+
import com.google.api.gax.core.InstantiatingExecutorProvider;
25+
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
26+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
27+
import com.google.api.gax.rpc.ApiClientHeaderProvider;
28+
import com.google.api.gax.rpc.ClientContext;
29+
import com.google.api.gax.rpc.ClientSettings;
30+
import com.google.api.gax.rpc.PagedCallSettings;
31+
import com.google.api.gax.rpc.TransportChannelProvider;
32+
import com.google.api.gax.rpc.UnaryCallSettings;
33+
import com.google.cloud.biglake.v1.stub.IcebergCatalogServiceStubSettings;
34+
import java.io.IOException;
35+
import java.util.List;
36+
import javax.annotation.Generated;
37+
38+
// AUTO-GENERATED DOCUMENTATION AND CLASS.
39+
/**
40+
* Settings class to configure an instance of {@link IcebergCatalogServiceClient}.
41+
*
42+
* <p>The default instance has everything set to sensible defaults:
43+
*
44+
* <ul>
45+
* <li>The default service address (biglake.googleapis.com) and default port (443) are used.
46+
* <li>Credentials are acquired automatically through Application Default Credentials.
47+
* <li>Retries are configured for idempotent methods but not for non-idempotent methods.
48+
* </ul>
49+
*
50+
* <p>The builder of this class is recursive, so contained classes are themselves builders. When
51+
* build() is called, the tree of builders is called to create the complete settings object.
52+
*
53+
* <p>For example, to set the
54+
* [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings)
55+
* of getIcebergCatalog:
56+
*
57+
* <pre>{@code
58+
* // This snippet has been automatically generated and should be regarded as a code template only.
59+
* // It will require modifications to work:
60+
* // - It may require correct/in-range values for request initialization.
61+
* // - It may require specifying regional endpoints when creating the service client as shown in
62+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
63+
* IcebergCatalogServiceSettings.Builder icebergCatalogServiceSettingsBuilder =
64+
* IcebergCatalogServiceSettings.newBuilder();
65+
* icebergCatalogServiceSettingsBuilder
66+
* .getIcebergCatalogSettings()
67+
* .setRetrySettings(
68+
* icebergCatalogServiceSettingsBuilder
69+
* .getIcebergCatalogSettings()
70+
* .getRetrySettings()
71+
* .toBuilder()
72+
* .setInitialRetryDelayDuration(Duration.ofSeconds(1))
73+
* .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
74+
* .setMaxAttempts(5)
75+
* .setMaxRetryDelayDuration(Duration.ofSeconds(30))
76+
* .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
77+
* .setRetryDelayMultiplier(1.3)
78+
* .setRpcTimeoutMultiplier(1.5)
79+
* .setTotalTimeoutDuration(Duration.ofSeconds(300))
80+
* .build());
81+
* IcebergCatalogServiceSettings icebergCatalogServiceSettings =
82+
* icebergCatalogServiceSettingsBuilder.build();
83+
* }</pre>
84+
*
85+
* Please refer to the [Client Side Retry
86+
* Guide](https://github.com/googleapis/google-cloud-java/blob/main/docs/client_retries.md) for
87+
* additional support in setting retries.
88+
*/
89+
@Generated("by gapic-generator-java")
90+
public class IcebergCatalogServiceSettings extends ClientSettings<IcebergCatalogServiceSettings> {
91+
92+
/** Returns the object with the settings used for calls to getIcebergCatalog. */
93+
public UnaryCallSettings<GetIcebergCatalogRequest, IcebergCatalog> getIcebergCatalogSettings() {
94+
return ((IcebergCatalogServiceStubSettings) getStubSettings()).getIcebergCatalogSettings();
95+
}
96+
97+
/** Returns the object with the settings used for calls to listIcebergCatalogs. */
98+
public PagedCallSettings<
99+
ListIcebergCatalogsRequest, ListIcebergCatalogsResponse, ListIcebergCatalogsPagedResponse>
100+
listIcebergCatalogsSettings() {
101+
return ((IcebergCatalogServiceStubSettings) getStubSettings()).listIcebergCatalogsSettings();
102+
}
103+
104+
/** Returns the object with the settings used for calls to updateIcebergCatalog. */
105+
public UnaryCallSettings<UpdateIcebergCatalogRequest, IcebergCatalog>
106+
updateIcebergCatalogSettings() {
107+
return ((IcebergCatalogServiceStubSettings) getStubSettings()).updateIcebergCatalogSettings();
108+
}
109+
110+
/** Returns the object with the settings used for calls to createIcebergCatalog. */
111+
public UnaryCallSettings<CreateIcebergCatalogRequest, IcebergCatalog>
112+
createIcebergCatalogSettings() {
113+
return ((IcebergCatalogServiceStubSettings) getStubSettings()).createIcebergCatalogSettings();
114+
}
115+
116+
/** Returns the object with the settings used for calls to failoverIcebergCatalog. */
117+
public UnaryCallSettings<FailoverIcebergCatalogRequest, FailoverIcebergCatalogResponse>
118+
failoverIcebergCatalogSettings() {
119+
return ((IcebergCatalogServiceStubSettings) getStubSettings()).failoverIcebergCatalogSettings();
120+
}
121+
122+
public static final IcebergCatalogServiceSettings create(IcebergCatalogServiceStubSettings stub)
123+
throws IOException {
124+
return new IcebergCatalogServiceSettings.Builder(stub.toBuilder()).build();
125+
}
126+
127+
/** Returns a builder for the default ExecutorProvider for this service. */
128+
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
129+
return IcebergCatalogServiceStubSettings.defaultExecutorProviderBuilder();
130+
}
131+
132+
/** Returns the default service endpoint. */
133+
public static String getDefaultEndpoint() {
134+
return IcebergCatalogServiceStubSettings.getDefaultEndpoint();
135+
}
136+
137+
/** Returns the default service scopes. */
138+
public static List<String> getDefaultServiceScopes() {
139+
return IcebergCatalogServiceStubSettings.getDefaultServiceScopes();
140+
}
141+
142+
/** Returns a builder for the default credentials for this service. */
143+
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
144+
return IcebergCatalogServiceStubSettings.defaultCredentialsProviderBuilder();
145+
}
146+
147+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
148+
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
149+
return IcebergCatalogServiceStubSettings.defaultGrpcTransportProviderBuilder();
150+
}
151+
152+
/** Returns a builder for the default REST ChannelProvider for this service. */
153+
@BetaApi
154+
public static InstantiatingHttpJsonChannelProvider.Builder
155+
defaultHttpJsonTransportProviderBuilder() {
156+
return IcebergCatalogServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
157+
}
158+
159+
public static TransportChannelProvider defaultTransportChannelProvider() {
160+
return IcebergCatalogServiceStubSettings.defaultTransportChannelProvider();
161+
}
162+
163+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
164+
return IcebergCatalogServiceStubSettings.defaultApiClientHeaderProviderBuilder();
165+
}
166+
167+
/** Returns a new gRPC builder for this class. */
168+
public static Builder newBuilder() {
169+
return Builder.createDefault();
170+
}
171+
172+
/** Returns a new REST builder for this class. */
173+
public static Builder newHttpJsonBuilder() {
174+
return Builder.createHttpJsonDefault();
175+
}
176+
177+
/** Returns a new builder for this class. */
178+
public static Builder newBuilder(ClientContext clientContext) {
179+
return new Builder(clientContext);
180+
}
181+
182+
/** Returns a builder containing all the values of this settings class. */
183+
public Builder toBuilder() {
184+
return new Builder(this);
185+
}
186+
187+
protected IcebergCatalogServiceSettings(Builder settingsBuilder) throws IOException {
188+
super(settingsBuilder);
189+
}
190+
191+
/** Builder for IcebergCatalogServiceSettings. */
192+
public static class Builder
193+
extends ClientSettings.Builder<IcebergCatalogServiceSettings, Builder> {
194+
195+
protected Builder() throws IOException {
196+
this(((ClientContext) null));
197+
}
198+
199+
protected Builder(ClientContext clientContext) {
200+
super(IcebergCatalogServiceStubSettings.newBuilder(clientContext));
201+
}
202+
203+
protected Builder(IcebergCatalogServiceSettings settings) {
204+
super(settings.getStubSettings().toBuilder());
205+
}
206+
207+
protected Builder(IcebergCatalogServiceStubSettings.Builder stubSettings) {
208+
super(stubSettings);
209+
}
210+
211+
private static Builder createDefault() {
212+
return new Builder(IcebergCatalogServiceStubSettings.newBuilder());
213+
}
214+
215+
private static Builder createHttpJsonDefault() {
216+
return new Builder(IcebergCatalogServiceStubSettings.newHttpJsonBuilder());
217+
}
218+
219+
public IcebergCatalogServiceStubSettings.Builder getStubSettingsBuilder() {
220+
return ((IcebergCatalogServiceStubSettings.Builder) getStubSettings());
221+
}
222+
223+
/**
224+
* Applies the given settings updater function to all of the unary API methods in this service.
225+
*
226+
* <p>Note: This method does not support applying settings to streaming methods.
227+
*/
228+
public Builder applyToAllUnaryMethods(
229+
ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
230+
super.applyToAllUnaryMethods(
231+
getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
232+
return this;
233+
}
234+
235+
/** Returns the builder for the settings used for calls to getIcebergCatalog. */
236+
public UnaryCallSettings.Builder<GetIcebergCatalogRequest, IcebergCatalog>
237+
getIcebergCatalogSettings() {
238+
return getStubSettingsBuilder().getIcebergCatalogSettings();
239+
}
240+
241+
/** Returns the builder for the settings used for calls to listIcebergCatalogs. */
242+
public PagedCallSettings.Builder<
243+
ListIcebergCatalogsRequest,
244+
ListIcebergCatalogsResponse,
245+
ListIcebergCatalogsPagedResponse>
246+
listIcebergCatalogsSettings() {
247+
return getStubSettingsBuilder().listIcebergCatalogsSettings();
248+
}
249+
250+
/** Returns the builder for the settings used for calls to updateIcebergCatalog. */
251+
public UnaryCallSettings.Builder<UpdateIcebergCatalogRequest, IcebergCatalog>
252+
updateIcebergCatalogSettings() {
253+
return getStubSettingsBuilder().updateIcebergCatalogSettings();
254+
}
255+
256+
/** Returns the builder for the settings used for calls to createIcebergCatalog. */
257+
public UnaryCallSettings.Builder<CreateIcebergCatalogRequest, IcebergCatalog>
258+
createIcebergCatalogSettings() {
259+
return getStubSettingsBuilder().createIcebergCatalogSettings();
260+
}
261+
262+
/** Returns the builder for the settings used for calls to failoverIcebergCatalog. */
263+
public UnaryCallSettings.Builder<FailoverIcebergCatalogRequest, FailoverIcebergCatalogResponse>
264+
failoverIcebergCatalogSettings() {
265+
return getStubSettingsBuilder().failoverIcebergCatalogSettings();
266+
}
267+
268+
@Override
269+
public IcebergCatalogServiceSettings build() throws IOException {
270+
return new IcebergCatalogServiceSettings(this);
271+
}
272+
}
273+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"schema": "1.0",
3+
"comment": "This file maps proto services/RPCs to the corresponding library clients/methods",
4+
"language": "java",
5+
"protoPackage": "google.cloud.biglake.v1",
6+
"libraryPackage": "com.google.cloud.biglake.v1",
7+
"services": {
8+
"IcebergCatalogService": {
9+
"clients": {
10+
"grpc": {
11+
"libraryClient": "IcebergCatalogServiceClient",
12+
"rpcs": {
13+
"CreateIcebergCatalog": {
14+
"methods": ["createIcebergCatalog", "createIcebergCatalog", "createIcebergCatalog", "createIcebergCatalogCallable"]
15+
},
16+
"FailoverIcebergCatalog": {
17+
"methods": ["failoverIcebergCatalog", "failoverIcebergCatalog", "failoverIcebergCatalogCallable"]
18+
},
19+
"GetIcebergCatalog": {
20+
"methods": ["getIcebergCatalog", "getIcebergCatalog", "getIcebergCatalog", "getIcebergCatalogCallable"]
21+
},
22+
"ListIcebergCatalogs": {
23+
"methods": ["listIcebergCatalogs", "listIcebergCatalogs", "listIcebergCatalogs", "listIcebergCatalogsPagedCallable", "listIcebergCatalogsCallable"]
24+
},
25+
"UpdateIcebergCatalog": {
26+
"methods": ["updateIcebergCatalog", "updateIcebergCatalog", "updateIcebergCatalogCallable"]
27+
}
28+
}
29+
}
30+
}
31+
}
32+
}
33+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* Copyright 2025 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* A client to BigLake API
19+
*
20+
* <p>The interfaces provided are listed below, along with usage samples.
21+
*
22+
* <p>======================= IcebergCatalogServiceClient =======================
23+
*
24+
* <p>Service Description: Iceberg Catalog Service API: this implements the open-source Iceberg REST
25+
* Catalog API. See the API definition here:
26+
* https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml
27+
*
28+
* <p>The API is defined as OpenAPI 3.1.1 spec.
29+
*
30+
* <p>Currently we only support the following methods: - GetConfig/GetIcebergCatalogConfig -
31+
* ListIcebergNamespaces - CheckIcebergNamespaceExists - GetIcebergNamespace -
32+
* CreateIcebergNamespace (only supports single level) - DeleteIcebergNamespace -
33+
* UpdateIcebergNamespace properties - ListTableIdentifiers - CreateIcebergTable -
34+
* DeleteIcebergTable - GetIcebergTable - UpdateIcebergTable (CommitTable) -
35+
* LoadIcebergTableCredentials - RegisterTable
36+
*
37+
* <p>Users are required to provided the `X-Goog-User-Project` header with the project id or number
38+
* which can be different from the bucket project id. That project will be charged for the API calls
39+
* and the calling user must have access to that project. The caller must have
40+
* `serviceusage.services.use` permission on the project.
41+
*
42+
* <p>Sample for IcebergCatalogServiceClient:
43+
*
44+
* <pre>{@code
45+
* // This snippet has been automatically generated and should be regarded as a code template only.
46+
* // It will require modifications to work:
47+
* // - It may require correct/in-range values for request initialization.
48+
* // - It may require specifying regional endpoints when creating the service client as shown in
49+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
50+
* try (IcebergCatalogServiceClient icebergCatalogServiceClient =
51+
* IcebergCatalogServiceClient.create()) {
52+
* CatalogName name = CatalogName.of("[PROJECT]", "[CATALOG]");
53+
* IcebergCatalog response = icebergCatalogServiceClient.getIcebergCatalog(name);
54+
* }
55+
* }</pre>
56+
*/
57+
@Generated("by gapic-generator-java")
58+
package com.google.cloud.biglake.v1;
59+
60+
import javax.annotation.Generated;

0 commit comments

Comments
 (0)