Skip to content

Commit ff645e0

Browse files
feat: [modelarmor] new module for modelarmor (#11500)
* feat: [modelarmor] new module for modelarmor * chore: generate libraries at Tue Mar 18 02:44:28 UTC 2025 * chore: generate libraries at Tue Mar 18 02:47:55 UTC 2025 --------- Co-authored-by: cloud-java-bot <[email protected]>
1 parent 0a2602c commit ff645e0

File tree

158 files changed

+76220
-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.

158 files changed

+76220
-0
lines changed

gapic-libraries-bom/pom.xml

+7
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,13 @@
754754
<type>pom</type>
755755
<scope>import</scope>
756756
</dependency>
757+
<dependency>
758+
<groupId>com.google.cloud</groupId>
759+
<artifactId>google-cloud-modelarmor-bom</artifactId>
760+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-modelarmor:current} -->
761+
<type>pom</type>
762+
<scope>import</scope>
763+
</dependency>
757764
<dependency>
758765
<groupId>com.google.cloud</groupId>
759766
<artifactId>google-cloud-monitoring-bom</artifactId>

generation_config.yaml

+17
Original file line numberDiff line numberDiff line change
@@ -1443,6 +1443,23 @@ libraries:
14431443
GAPICs:
14441444
- proto_path: google/cloud/migrationcenter/v1
14451445

1446+
- api_shortname: modelarmor
1447+
name_pretty: Model Armor API
1448+
product_documentation: https://cloud.google.com/security-command-center/docs/model-armor-overview
1449+
api_description: Model Armor helps you protect against risks like prompt injection,
1450+
harmful content, and data leakage in generative AI applications by letting you
1451+
define policies that filter user prompts and model responses.
1452+
client_documentation:
1453+
https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview
1454+
release_level: preview
1455+
distribution_name: com.google.cloud:google-cloud-modelarmor
1456+
api_id: modelarmor.googleapis.com
1457+
library_type: GAPIC_AUTO
1458+
group_id: com.google.cloud
1459+
cloud_api: true
1460+
GAPICs:
1461+
- proto_path: google/cloud/modelarmor/v1
1462+
requires_billing: true
14461463
- api_shortname: monitoring
14471464
name_pretty: Stackdriver Monitoring
14481465
product_documentation: https://cloud.google.com/monitoring/docs

java-modelarmor/.OwlBot-hermetic.yaml

+35
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-modelarmor/grpc-google-.*/src"
18+
- "/java-modelarmor/proto-google-.*/src"
19+
- "/java-modelarmor/google-.*/src"
20+
- "/java-modelarmor/samples/snippets/generated"
21+
22+
deep-preserve-regex:
23+
- "/java-modelarmor/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"
24+
25+
deep-copy-regex:
26+
- source: "/google/cloud/modelarmor/(v.*)/.*-java/proto-google-.*/src"
27+
dest: "/owl-bot-staging/java-modelarmor/$1/proto-google-cloud-modelarmor-$1/src"
28+
- source: "/google/cloud/modelarmor/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/java-modelarmor/$1/grpc-google-cloud-modelarmor-$1/src"
30+
- source: "/google/cloud/modelarmor/(v.*)/.*-java/gapic-google-.*/src"
31+
dest: "/owl-bot-staging/java-modelarmor/$1/google-cloud-modelarmor/src"
32+
- source: "/google/cloud/modelarmor/(v.*)/.*-java/samples/snippets/generated"
33+
dest: "/owl-bot-staging/java-modelarmor/$1/samples/snippets/generated"
34+
35+
api-name: modelarmor

java-modelarmor/.repo-metadata.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"api_shortname": "modelarmor",
3+
"name_pretty": "Model Armor API",
4+
"product_documentation": "https://cloud.google.com/security-command-center/docs/model-armor-overview",
5+
"api_description": "Model Armor helps you protect against risks like prompt injection, harmful content, and data leakage in generative AI applications by letting you define policies that filter user prompts and model responses.",
6+
"client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview",
7+
"release_level": "preview",
8+
"transport": "both",
9+
"language": "java",
10+
"repo": "googleapis/google-cloud-java",
11+
"repo_short": "java-modelarmor",
12+
"distribution_name": "com.google.cloud:google-cloud-modelarmor",
13+
"api_id": "modelarmor.googleapis.com",
14+
"library_type": "GAPIC_AUTO",
15+
"requires_billing": true
16+
}

java-modelarmor/README.md

+224
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# Google Model Armor API Client for Java
2+
3+
Java idiomatic client for [Model Armor 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.56.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-modelarmor</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-modelarmor</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-modelarmor: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-modelarmor" % "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 Model Armor API APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Model Armor 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 Model Armor API [API enabled][enable-api].
77+
You will need to [enable billing][enable-billing] to use Google Model Armor 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-modelarmor` library. See the [Quickstart](#quickstart) section
85+
to add `google-cloud-modelarmor` as a dependency in your code.
86+
87+
## About Model Armor API
88+
89+
90+
[Model Armor API][product-docs] Model Armor helps you protect against risks like prompt injection, harmful content, and data leakage in generative AI applications by letting you define policies that filter user prompts and model responses.
91+
92+
See the [Model Armor API client library docs][javadocs] to learn how to
93+
use this Model Armor 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+
Model Armor 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/security-command-center/docs/model-armor-overview
190+
[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/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-modelarmor.svg
203+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-modelarmor/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=modelarmor.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
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-modelarmor-bom</artifactId>
6+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-modelarmor:current} -->
7+
<packaging>pom</packaging>
8+
<parent>
9+
<groupId>com.google.cloud</groupId>
10+
<artifactId>google-cloud-pom-parent</artifactId>
11+
<version>1.54.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 Model Armor API BOM</name>
16+
<description>
17+
BOM for Model Armor 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-modelarmor</artifactId>
29+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-modelarmor:current} -->
30+
</dependency>
31+
<dependency>
32+
<groupId>com.google.api.grpc</groupId>
33+
<artifactId>grpc-google-cloud-modelarmor-v1</artifactId>
34+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-modelarmor-v1:current} -->
35+
</dependency>
36+
<dependency>
37+
<groupId>com.google.api.grpc</groupId>
38+
<artifactId>proto-google-cloud-modelarmor-v1</artifactId>
39+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-modelarmor-v1:current} -->
40+
</dependency>
41+
</dependencies>
42+
</dependencyManagement>
43+
</project>

0 commit comments

Comments
 (0)