Skip to content

Commit bb4271e

Browse files
authored
feat: [alloydb connectors] new module for alloydb connectors (#9737)
* feat: [alloydb connectors] new module for alloydb connectors * add pom changes
1 parent d05cb98 commit bb4271e

File tree

17 files changed

+3009
-0
lines changed

17 files changed

+3009
-0
lines changed

gapic-libraries-bom/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@
4949
<type>pom</type>
5050
<scope>import</scope>
5151
</dependency>
52+
<dependency>
53+
<groupId>com.google.cloud</groupId>
54+
<artifactId>google-cloud-alloydb-connectors-bom</artifactId>
55+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-alloydb-connectors:current} -->
56+
<type>pom</type>
57+
<scope>import</scope>
58+
</dependency>
5259
<dependency>
5360
<groupId>com.google.cloud</groupId>
5461
<artifactId>google-cloud-alloydb-bom</artifactId>

java-alloydb-connectors/.OwlBot.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright 2022 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-alloydb-connectors/grpc-google-.*/src"
18+
- "/java-alloydb-connectors/proto-google-.*/src"
19+
- "/java-alloydb-connectors/google-.*/src"
20+
- "/java-alloydb-connectors/samples/snippets/generated"
21+
22+
deep-preserve-regex:
23+
- "/java-alloydb-connectors/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"
24+
25+
deep-copy-regex:
26+
- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/proto-google-.*/src"
27+
dest: "/owl-bot-staging/java-alloydb-connectors/$1/proto-google-cloud-alloydb-connectors-$1/src"
28+
- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/java-alloydb-connectors/$1/grpc-google-cloud-alloydb-connectors-$1/src"
30+
- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/gapic-google-.*/src"
31+
dest: "/owl-bot-staging/java-alloydb-connectors/$1/google-cloud-alloydb-connectors/src"
32+
- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/samples/snippets/generated"
33+
dest: "/owl-bot-staging/java-alloydb-connectors/$1/samples/snippets/generated"
34+
35+
36+
api-name: alloydb
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"api_shortname": "alloydb",
3+
"name_pretty": "AlloyDB connectors",
4+
"product_documentation": "https://cloud.google.com/alloydb/docs",
5+
"api_description": "AlloyDB is a fully-managed, PostgreSQL-compatible database for demanding transactional workloads. It provides enterprise-grade performance and availability while maintaining 100% compatibility with open-source PostgreSQL.",
6+
"client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-alloydb-connectors/latest/overview",
7+
"release_level": "preview",
8+
"transport": "grpc",
9+
"language": "java",
10+
"repo": "googleapis/java-alloydb-connectors",
11+
"repo_short": "java-alloydb-connectors",
12+
"distribution_name": "com.google.cloud:google-cloud-alloydb-connectors",
13+
"api_id": "alloydb.googleapis.com",
14+
"library_type": "GAPIC_AUTO",
15+
"requires_billing": true
16+
}

java-alloydb-connectors/README.md

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

0 commit comments

Comments
 (0)