Skip to content

Commit 5987aa8

Browse files
feat: [configdelivery] new module for configdelivery (googleapis#11640)
Generated by @lqiu96 via [generate_new_client_hermetic_build.yaml](https://github.com/googleapis/google-cloud-java/actions/workflows/generate_new_client_hermetic_build.yaml) Command used: ``` python generation/new_client_hermetic_build/add-new-client-config.py add-new-library --api-shortname "configdelivery" --name-pretty "Config Delivery API" --api-description "ConfigDelivery service manages the deployment of kubernetes configuration to a fleet of kubernetes clusters." --proto-path "google/cloud/configdelivery/v1beta" --product-docs "https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages" --rest-docs "https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/reference/rest" ``` --------- Co-authored-by: Lawrence Qiu <[email protected]>
1 parent a19f457 commit 5987aa8

File tree

267 files changed

+116978
-0
lines changed

Some content is hidden

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

267 files changed

+116978
-0
lines changed

gapic-libraries-bom/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,13 @@
364364
<type>pom</type>
365365
<scope>import</scope>
366366
</dependency>
367+
<dependency>
368+
<groupId>com.google.cloud</groupId>
369+
<artifactId>google-cloud-configdelivery-bom</artifactId>
370+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-configdelivery:current} -->
371+
<type>pom</type>
372+
<scope>import</scope>
373+
</dependency>
367374
<dependency>
368375
<groupId>com.google.cloud</groupId>
369376
<artifactId>google-cloud-connectgateway-bom</artifactId>

generation_config.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,25 @@ libraries:
592592
- proto_path: google/cloud/confidentialcomputing/v1
593593
- proto_path: google/cloud/confidentialcomputing/v1alpha1
594594

595+
- api_shortname: configdelivery
596+
name_pretty: Config Delivery API
597+
product_documentation:
598+
https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages
599+
api_description: ConfigDelivery service manages the deployment of kubernetes configuration
600+
to a fleet of kubernetes clusters.
601+
client_documentation:
602+
https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview
603+
release_level: preview
604+
distribution_name: com.google.cloud:google-cloud-configdelivery
605+
api_id: configdelivery.googleapis.com
606+
library_type: GAPIC_AUTO
607+
group_id: com.google.cloud
608+
cloud_api: true
609+
GAPICs:
610+
- proto_path: google/cloud/configdelivery/v1beta
611+
requires_billing: true
612+
rest_documentation:
613+
https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/reference/rest
595614
- api_shortname: connectgateway
596615
name_pretty: Connect Gateway API
597616
product_documentation:
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
16+
deep-remove-regex:
17+
- "/java-configdelivery/grpc-google-.*/src"
18+
- "/java-configdelivery/proto-google-.*/src"
19+
- "/java-configdelivery/google-.*/src"
20+
- "/java-configdelivery/samples/snippets/generated"
21+
22+
deep-preserve-regex:
23+
- "/java-configdelivery/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"
24+
25+
deep-copy-regex:
26+
- source: "/google/cloud/configdelivery/(v.*)/.*-java/proto-google-.*/src"
27+
dest: "/owl-bot-staging/java-configdelivery/$1/proto-google-cloud-configdelivery-$1/src"
28+
- source: "/google/cloud/configdelivery/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/java-configdelivery/$1/grpc-google-cloud-configdelivery-$1/src"
30+
- source: "/google/cloud/configdelivery/(v.*)/.*-java/gapic-google-.*/src"
31+
dest: "/owl-bot-staging/java-configdelivery/$1/google-cloud-configdelivery/src"
32+
- source: "/google/cloud/configdelivery/(v.*)/.*-java/samples/snippets/generated"
33+
dest: "/owl-bot-staging/java-configdelivery/$1/samples/snippets/generated"
34+
35+
api-name: configdelivery
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"api_shortname": "configdelivery",
3+
"name_pretty": "Config Delivery API",
4+
"product_documentation": "https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages",
5+
"api_description": "ConfigDelivery service manages the deployment of kubernetes configuration to a fleet of kubernetes clusters.",
6+
"client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview",
7+
"release_level": "preview",
8+
"transport": "both",
9+
"language": "java",
10+
"repo": "googleapis/google-cloud-java",
11+
"repo_short": "java-configdelivery",
12+
"distribution_name": "com.google.cloud:google-cloud-configdelivery",
13+
"api_id": "configdelivery.googleapis.com",
14+
"library_type": "GAPIC_AUTO",
15+
"requires_billing": true,
16+
"rest_documentation": "https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/reference/rest"
17+
}

java-configdelivery/README.md

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# Google Config Delivery API Client for Java
2+
3+
Java idiomatic client for [Config Delivery API][product-docs].
4+
5+
[![Maven][maven-version-image]][maven-version-link]
6+
![Stability][stability-image]
7+
8+
- [Product Documentation][product-docs]
9+
- [Client Library Documentation][javadocs]
10+
11+
> Note: This client is a work-in-progress, and may occasionally
12+
> make backwards-incompatible changes.
13+
14+
15+
## Quickstart
16+
17+
18+
If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
19+
20+
```xml
21+
<dependencyManagement>
22+
<dependencies>
23+
<dependency>
24+
<groupId>com.google.cloud</groupId>
25+
<artifactId>libraries-bom</artifactId>
26+
<version>26.61.0</version>
27+
<type>pom</type>
28+
<scope>import</scope>
29+
</dependency>
30+
</dependencies>
31+
</dependencyManagement>
32+
33+
<dependencies>
34+
<dependency>
35+
<groupId>com.google.cloud</groupId>
36+
<artifactId>google-cloud-configdelivery</artifactId>
37+
</dependency>
38+
</dependencies>
39+
```
40+
41+
If you are using Maven without the BOM, add this to your dependencies:
42+
43+
44+
```xml
45+
<dependency>
46+
<groupId>com.google.cloud</groupId>
47+
<artifactId>google-cloud-configdelivery</artifactId>
48+
<version>0.0.0</version>
49+
</dependency>
50+
```
51+
52+
If you are using Gradle without BOM, add this to your dependencies:
53+
54+
```Groovy
55+
implementation 'com.google.cloud:google-cloud-configdelivery:0.0.0'
56+
```
57+
58+
If you are using SBT, add this to your dependencies:
59+
60+
```Scala
61+
libraryDependencies += "com.google.cloud" % "google-cloud-configdelivery" % "0.0.0"
62+
```
63+
64+
## Authentication
65+
66+
See the [Authentication][authentication] section in the base directory's README.
67+
68+
## Authorization
69+
70+
The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Config Delivery API APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Config Delivery API API calls.
71+
72+
## Getting Started
73+
74+
### Prerequisites
75+
76+
You will need a [Google Cloud Platform Console][developer-console] project with the Config Delivery API [API enabled][enable-api].
77+
You will need to [enable billing][enable-billing] to use Google Config Delivery API.
78+
[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by
79+
[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line:
80+
`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`.
81+
82+
### Installation and setup
83+
84+
You'll need to obtain the `google-cloud-configdelivery` library. See the [Quickstart](#quickstart) section
85+
to add `google-cloud-configdelivery` as a dependency in your code.
86+
87+
## About Config Delivery API
88+
89+
90+
[Config Delivery API][product-docs] ConfigDelivery service manages the deployment of kubernetes configuration to a fleet of kubernetes clusters.
91+
92+
See the [Config Delivery API client library docs][javadocs] to learn how to
93+
use this Config Delivery API Client Library.
94+
95+
96+
97+
98+
99+
100+
## Troubleshooting
101+
102+
To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting].
103+
104+
## Transport
105+
106+
Config Delivery API uses both gRPC and HTTP/JSON for the transport layer.
107+
108+
## Supported Java Versions
109+
110+
Java 8 or above is required for using this client.
111+
112+
Google's Java client libraries,
113+
[Google Cloud Client Libraries][cloudlibs]
114+
and
115+
[Google Cloud API Libraries][apilibs],
116+
follow the
117+
[Oracle Java SE support roadmap][oracle]
118+
(see the Oracle Java SE Product Releases section).
119+
120+
### For new development
121+
122+
In general, new feature development occurs with support for the lowest Java
123+
LTS version covered by Oracle's Premier Support (which typically lasts 5 years
124+
from initial General Availability). If the minimum required JVM for a given
125+
library is changed, it is accompanied by a [semver][semver] major release.
126+
127+
Java 11 and (in September 2021) Java 17 are the best choices for new
128+
development.
129+
130+
### Keeping production systems current
131+
132+
Google tests its client libraries with all current LTS versions covered by
133+
Oracle's Extended Support (which typically lasts 8 years from initial
134+
General Availability).
135+
136+
#### Legacy support
137+
138+
Google's client libraries support legacy versions of Java runtimes with long
139+
term stable libraries that don't receive feature updates on a best efforts basis
140+
as it may not be possible to backport all patches.
141+
142+
Google provides updates on a best efforts basis to apps that continue to use
143+
Java 7, though apps might need to upgrade to current versions of the library
144+
that supports their JVM.
145+
146+
#### Where to find specific information
147+
148+
The latest versions and the supported Java versions are identified on
149+
the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME`
150+
and on [google-cloud-java][g-c-j].
151+
152+
## Versioning
153+
154+
155+
This library follows [Semantic Versioning](http://semver.org/).
156+
157+
158+
It is currently in major version zero (``0.y.z``), which means that anything may change at any time
159+
and the public API should not be considered stable.
160+
161+
162+
## Contributing
163+
164+
165+
Contributions to this library are always welcome and highly encouraged.
166+
167+
See [CONTRIBUTING][contributing] for more information how to get started.
168+
169+
Please note that this project is released with a Contributor Code of Conduct. By participating in
170+
this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more
171+
information.
172+
173+
174+
## License
175+
176+
Apache 2.0 - See [LICENSE][license] for more information.
177+
178+
## CI Status
179+
180+
Java Version | Status
181+
------------ | ------
182+
Java 8 | [![Kokoro CI][kokoro-badge-image-2]][kokoro-badge-link-2]
183+
Java 8 OSX | [![Kokoro CI][kokoro-badge-image-3]][kokoro-badge-link-3]
184+
Java 8 Windows | [![Kokoro CI][kokoro-badge-image-4]][kokoro-badge-link-4]
185+
Java 11 | [![Kokoro CI][kokoro-badge-image-5]][kokoro-badge-link-5]
186+
187+
Java is a registered trademark of Oracle and/or its affiliates.
188+
189+
[product-docs]: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages
190+
[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview
191+
[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.svg
192+
[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.html
193+
[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.svg
194+
[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.html
195+
[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.svg
196+
[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.html
197+
[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.svg
198+
[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.html
199+
[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.svg
200+
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html
201+
[stability-image]: https://img.shields.io/badge/stability-preview-yellow
202+
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-configdelivery.svg
203+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-configdelivery/0.0.0
204+
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
205+
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
206+
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
207+
[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy
208+
[developer-console]: https://console.developers.google.com/
209+
[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects
210+
[cloud-cli]: https://cloud.google.com/cli
211+
[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md
212+
[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md
213+
[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct
214+
[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE
215+
[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing
216+
[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=configdelivery.googleapis.com
217+
[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM
218+
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
219+
220+
[semver]: https://semver.org/
221+
[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained
222+
[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries
223+
[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html
224+
[g-c-j]: http://github.com/googleapis/google-cloud-java
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>com.google.cloud</groupId>
5+
<artifactId>google-cloud-configdelivery-bom</artifactId>
6+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-configdelivery:current} -->
7+
<packaging>pom</packaging>
8+
<parent>
9+
<groupId>com.google.cloud</groupId>
10+
<artifactId>google-cloud-pom-parent</artifactId>
11+
<version>1.61.0-SNAPSHOT</version><!-- {x-version-update:google-cloud-java:current} -->
12+
<relativePath>../../google-cloud-pom-parent/pom.xml</relativePath>
13+
</parent>
14+
15+
<name>Google Config Delivery API BOM</name>
16+
<description>
17+
BOM for Config Delivery API
18+
</description>
19+
20+
<properties>
21+
<maven.antrun.skip>true</maven.antrun.skip>
22+
</properties>
23+
24+
<dependencyManagement>
25+
<dependencies>
26+
<dependency>
27+
<groupId>com.google.cloud</groupId>
28+
<artifactId>google-cloud-configdelivery</artifactId>
29+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-configdelivery:current} -->
30+
</dependency>
31+
<dependency>
32+
<groupId>com.google.api.grpc</groupId>
33+
<artifactId>grpc-google-cloud-configdelivery-v1beta</artifactId>
34+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-configdelivery-v1beta:current} -->
35+
</dependency>
36+
<dependency>
37+
<groupId>com.google.api.grpc</groupId>
38+
<artifactId>proto-google-cloud-configdelivery-v1beta</artifactId>
39+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-configdelivery-v1beta:current} -->
40+
</dependency>
41+
</dependencies>
42+
</dependencyManagement>
43+
</project>

0 commit comments

Comments
 (0)