Skip to content

Commit a0fad7d

Browse files
feat: [securityposture] new module for securityposture (#10387)
* feat: [securityposture] new module for securityposture * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 6fa1347 commit a0fad7d

File tree

183 files changed

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

183 files changed

+79485
-0
lines changed

gapic-libraries-bom/pom.xml

+7
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,13 @@
938938
<type>pom</type>
939939
<scope>import</scope>
940940
</dependency>
941+
<dependency>
942+
<groupId>com.google.cloud</groupId>
943+
<artifactId>google-cloud-securityposture-bom</artifactId>
944+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-securityposture:current} -->
945+
<type>pom</type>
946+
<scope>import</scope>
947+
</dependency>
941948
<dependency>
942949
<groupId>com.google.cloud</groupId>
943950
<artifactId>google-cloud-security-private-ca-bom</artifactId>

java-securityposture/.OwlBot.yaml

+36
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-securityposture/grpc-google-.*/src"
18+
- "/java-securityposture/proto-google-.*/src"
19+
- "/java-securityposture/google-.*/src"
20+
- "/java-securityposture/samples/snippets/generated"
21+
22+
deep-preserve-regex:
23+
- "/java-securityposture/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"
24+
25+
deep-copy-regex:
26+
- source: "/google/cloud/securityposture/(v.*)/.*-java/proto-google-.*/src"
27+
dest: "/owl-bot-staging/java-securityposture/$1/proto-google-cloud-securityposture-$1/src"
28+
- source: "/google/cloud/securityposture/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/java-securityposture/$1/grpc-google-cloud-securityposture-$1/src"
30+
- source: "/google/cloud/securityposture/(v.*)/.*-java/gapic-google-.*/src"
31+
dest: "/owl-bot-staging/java-securityposture/$1/google-cloud-securityposture/src"
32+
- source: "/google/cloud/securityposture/(v.*)/.*-java/samples/snippets/generated"
33+
dest: "/owl-bot-staging/java-securityposture/$1/samples/snippets/generated"
34+
35+
36+
api-name: securityposture
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"api_shortname": "securityposture",
3+
"name_pretty": "Security Posture API",
4+
"product_documentation": "https://cloud.google.com/security-command-center/docs/security-posture-overview",
5+
"api_description": "Security Posture is a comprehensive framework of policy sets that empowers organizations to define, assess early, deploy, and monitor their security measures in a unified way and helps simplify governance and reduces administrative toil.",
6+
"client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-securityposture/latest/overview",
7+
"release_level": "preview",
8+
"transport": "grpc",
9+
"language": "java",
10+
"repo": "googleapis/java-securityposture",
11+
"repo_short": "java-securityposture",
12+
"distribution_name": "com.google.cloud:google-cloud-securityposture",
13+
"api_id": "securityposture.googleapis.com",
14+
"library_type": "GAPIC_AUTO",
15+
"requires_billing": true
16+
}

java-securityposture/README.md

+225
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# Google Security Posture API Client for Java
2+
3+
Java idiomatic client for [Security Posture 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.32.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-securityposture</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-securityposture:released} -->
43+
44+
```xml
45+
<dependency>
46+
<groupId>com.google.cloud</groupId>
47+
<artifactId>google-cloud-securityposture</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-securityposture: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-securityposture" % "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 Security Posture API APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Security Posture API API calls.
72+
73+
## Getting Started
74+
75+
### Prerequisites
76+
77+
You will need a [Google Cloud Platform Console][developer-console] project with the Security Posture API [API enabled][enable-api].
78+
You will need to [enable billing][enable-billing] to use Google Security Posture API.
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-securityposture` library. See the [Quickstart](#quickstart) section
86+
to add `google-cloud-securityposture` as a dependency in your code.
87+
88+
## About Security Posture API
89+
90+
91+
[Security Posture API][product-docs] Security Posture is a comprehensive framework of policy sets that empowers organizations to define, assess early, deploy, and monitor their security measures in a unified way and helps simplify governance and reduces administrative toil.
92+
93+
See the [Security Posture API client library docs][javadocs] to learn how to
94+
use this Security Posture API 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+
Security Posture API 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/security-command-center/docs/security-posture-overview
191+
[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-securityposture/latest/overview
192+
[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java7.svg
193+
[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java7.html
194+
[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8.svg
195+
[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8.html
196+
[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8-osx.svg
197+
[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8-osx.html
198+
[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8-win.svg
199+
[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java8-win.html
200+
[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/java11.svg
201+
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-securityposture/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-securityposture.svg
204+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-securityposture/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-securityposture/blob/main/CONTRIBUTING.md
214+
[code-of-conduct]: https://github.com/googleapis/java-securityposture/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct
215+
[license]: https://github.com/googleapis/java-securityposture/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=securityposture.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
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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-securityposture-bom</artifactId>
6+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-securityposture:current} -->
7+
<packaging>pom</packaging>
8+
9+
<parent>
10+
<groupId>com.google.cloud</groupId>
11+
<artifactId>google-cloud-pom-parent</artifactId>
12+
<version>1.30.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 Security Posture API BOM</name>
17+
<description>
18+
BOM for Security Posture API
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-securityposture</artifactId>
30+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-securityposture:current} -->
31+
</dependency>
32+
<dependency>
33+
<groupId>com.google.api.grpc</groupId>
34+
<artifactId>grpc-google-cloud-securityposture-v1</artifactId>
35+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-securityposture-v1:current} -->
36+
</dependency>
37+
<dependency>
38+
<groupId>com.google.api.grpc</groupId>
39+
<artifactId>proto-google-cloud-securityposture-v1</artifactId>
40+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-securityposture-v1:current} -->
41+
</dependency>
42+
</dependencies>
43+
</dependencyManagement>
44+
</project>

0 commit comments

Comments
 (0)