diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..3eebb4ac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,51 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + +Thanks for stopping by to let us know something could be better! + +**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response. + +Please run down the following list and make sure you've tried the usual "quick fixes": + + - Search the issues already opened: https://github.com/googleapis/java-os-login/issues + - Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform + +If you are still having issues, please include as much information as possible: + +#### Environment details + +1. Specify the API at the beginning of the title. For example, "BigQuery: ..."). + General, Core, and Other are also allowed as types +2. OS type and version: +3. Java version: +4. oslogin version(s): + +#### Steps to reproduce + + 1. ? + 2. ? + +#### Code example + +```java +// example +``` + +#### Stack trace +``` +Any relevant stacktrace here. +``` + +#### External references such as API reference guides + +- ? + +#### Any additional information below + + +Following these steps guarantees the quickest resolution possible. + +Thanks! diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..754e30c6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,21 @@ +--- +name: Feature request +about: Suggest an idea for this library + +--- + +Thanks for stopping by to let us know something could be better! + +**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response. + +**Is your feature request related to a problem? Please describe.** +What the problem is. Example: I'm always frustrated when [...] + +**Describe the solution you'd like** +What you want to happen. + +**Describe alternatives you've considered** +Any alternative solutions or features you've considered. + +**Additional context** +Any other context or screenshots about the feature request. diff --git a/.github/ISSUE_TEMPLATE/support_request.md b/.github/ISSUE_TEMPLATE/support_request.md new file mode 100644 index 00000000..99586903 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support_request.md @@ -0,0 +1,7 @@ +--- +name: Support request +about: If you have a support contract with Google, please create an issue in the Google Cloud Support console. + +--- + +**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..0bd0ee06 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1 @@ +Fixes # (it's a good idea to open an issue first for context and/or discussion) \ No newline at end of file diff --git a/.github/release-please.yml b/.github/release-please.yml new file mode 100644 index 00000000..82744682 --- /dev/null +++ b/.github/release-please.yml @@ -0,0 +1 @@ +releaseType: java-yoshi diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..dc2d514c --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +.gitignore + +# Packages +dist +bin +var +sdist +target + +# Unit test / coverage reports +.coverage +.tox +nosetests.xml + +# Translations +*.mo + +# Mr Developer +.mr.developer.cfg + +.metadata +.project +.pydevproject +*.iml +.idea +.settings +.DS_Store +.classpath + +# Built documentation +docs/ + + +# Wheel directory used in Travis builds. +gcloud-java-wheels/ +src/test/resources/gcd-head.zip +src/test/resources/gcd-v1beta2-rev1-2.1.1.zip + +# API key file containing value of GOOGLE_API_KEY for integration tests +api_key + +# Python utilities +*.pyc +artman-genfiles +venv \ No newline at end of file diff --git a/.kokoro/build.bat b/.kokoro/build.bat new file mode 100644 index 00000000..62d89d55 --- /dev/null +++ b/.kokoro/build.bat @@ -0,0 +1,3 @@ +:: See documentation in type-shell-output.bat + +"C:\Program Files\Git\bin\bash.exe" github/java-os-login/.kokoro/build.sh diff --git a/.kokoro/build.sh b/.kokoro/build.sh new file mode 100755 index 00000000..fa132f41 --- /dev/null +++ b/.kokoro/build.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +## Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +# Print out Java version +java -version +echo ${JOB_TYPE} + +mvn install -B -V \ + -DskipTests=true \ + -Dclirr.skip=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true \ + -T 1C + +# if GOOGLE_APPLICATION_CREDIENTIALS is specified as a relative path prepend Kokoro root directory onto it +if [[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" && "${GOOGLE_APPLICATION_CREDENTIALS}" != /* ]]; then + export GOOGLE_APPLICATION_CREDENTIALS=$(realpath ${KOKORO_ROOT}/src/${GOOGLE_APPLICATION_CREDENTIALS}) +fi + +case ${JOB_TYPE} in +test) + mvn test -B -Dclirr.skip=true + bash ${KOKORO_GFILE_DIR}/codecov.sh + bash .kokoro/coerce_logs.sh + ;; +lint) + mvn com.coveo:fmt-maven-plugin:check + ;; +javadoc) + mvn javadoc:javadoc javadoc:test-javadoc + ;; +integration) + mvn -B ${INTEGRATION_TEST_ARGS} -DtrimStackTrace=false -Dclirr.skip=true -fae verify + bash .kokoro/coerce_logs.sh + ;; +clirr) + mvn -B clirr:check + ;; +*) + ;; +esac \ No newline at end of file diff --git a/.kokoro/coerce_logs.sh b/.kokoro/coerce_logs.sh new file mode 100755 index 00000000..5cf7ba49 --- /dev/null +++ b/.kokoro/coerce_logs.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script finds and moves sponge logs so that they can be found by placer +# and are not flagged as flaky by sponge. + +set -eo pipefail + +## Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +job=$(basename ${KOKORO_JOB_NAME}) + +echo "coercing sponge logs..." +for xml in `find . -name *-sponge_log.xml` +do + echo "processing ${xml}" + class=$(basename ${xml} | cut -d- -f2) + dir=$(dirname ${xml})/${job}/${class} + text=$(dirname ${xml})/${class}-sponge_log.txt + mkdir -p ${dir} + mv ${xml} ${dir}/sponge_log.xml + mv ${text} ${dir}/sponge_log.txt +done diff --git a/.kokoro/common.cfg b/.kokoro/common.cfg new file mode 100644 index 00000000..926db1bd --- /dev/null +++ b/.kokoro/common.cfg @@ -0,0 +1,13 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Download trampoline resources. These will be in ${KOKORO_GFILE_DIR} +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# All builds use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +# Tell the trampoline which build file to use. +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/build.sh" +} diff --git a/.kokoro/continuous/common.cfg b/.kokoro/continuous/common.cfg new file mode 100644 index 00000000..c9439fbc --- /dev/null +++ b/.kokoro/continuous/common.cfg @@ -0,0 +1,25 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + regex: "**/*sponge_log.txt" + } +} + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/build.sh" +} + +env_vars: { + key: "JOB_TYPE" + value: "test" +} diff --git a/.kokoro/continuous/dependencies.cfg b/.kokoro/continuous/dependencies.cfg new file mode 100644 index 00000000..c1db424f --- /dev/null +++ b/.kokoro/continuous/dependencies.cfg @@ -0,0 +1,12 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/dependencies.sh" +} diff --git a/.kokoro/continuous/integration.cfg b/.kokoro/continuous/integration.cfg new file mode 100644 index 00000000..3b017fc8 --- /dev/null +++ b/.kokoro/continuous/integration.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} diff --git a/.kokoro/continuous/java11.cfg b/.kokoro/continuous/java11.cfg new file mode 100644 index 00000000..709f2b4c --- /dev/null +++ b/.kokoro/continuous/java11.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java11" +} diff --git a/.kokoro/continuous/java7.cfg b/.kokoro/continuous/java7.cfg new file mode 100644 index 00000000..cb24f44e --- /dev/null +++ b/.kokoro/continuous/java7.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java7" +} diff --git a/.kokoro/continuous/java8-osx.cfg b/.kokoro/continuous/java8-osx.cfg new file mode 100644 index 00000000..a7331425 --- /dev/null +++ b/.kokoro/continuous/java8-osx.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.sh" diff --git a/.kokoro/continuous/java8-win.cfg b/.kokoro/continuous/java8-win.cfg new file mode 100644 index 00000000..30c7fb36 --- /dev/null +++ b/.kokoro/continuous/java8-win.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.bat" diff --git a/.kokoro/continuous/java8.cfg b/.kokoro/continuous/java8.cfg new file mode 100644 index 00000000..3b017fc8 --- /dev/null +++ b/.kokoro/continuous/java8.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} diff --git a/.kokoro/continuous/lint.cfg b/.kokoro/continuous/lint.cfg new file mode 100644 index 00000000..6d323c8a --- /dev/null +++ b/.kokoro/continuous/lint.cfg @@ -0,0 +1,13 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. + +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "JOB_TYPE" + value: "lint" +} \ No newline at end of file diff --git a/.kokoro/continuous/propose_release.cfg b/.kokoro/continuous/propose_release.cfg new file mode 100644 index 00000000..5f8045bb --- /dev/null +++ b/.kokoro/continuous/propose_release.cfg @@ -0,0 +1,53 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/node:10-user" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/continuous/propose_release.sh" +} + +# tokens used by release-please to keep an up-to-date release PR. +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-key-release-please" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-token-release-please" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-url-release-please" + } + } +} diff --git a/.kokoro/continuous/propose_release.sh b/.kokoro/continuous/propose_release.sh new file mode 100755 index 00000000..65e154fb --- /dev/null +++ b/.kokoro/continuous/propose_release.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +export NPM_CONFIG_PREFIX=/home/node/.npm-global + +if [ -f ${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please ]; then + # Groom the release PR as new commits are merged. + npx release-please release-pr --token=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-token-release-please \ + --repo-url=googleapis/java-os-login \ + --package-name="oslogin" \ + --api-url=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please \ + --proxy-key=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-key-release-please \ + --release-type=java-yoshi +fi diff --git a/.kokoro/dependencies.sh b/.kokoro/dependencies.sh new file mode 100755 index 00000000..2a0aab6b --- /dev/null +++ b/.kokoro/dependencies.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +cd github/java-os-login/ + +# Print out Java +java -version +echo $JOB_TYPE + +export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" + +mvn install -DskipTests=true -B -V +mvn -B dependency:analyze -DfailOnWarning=true diff --git a/.kokoro/linkage-monitor.sh b/.kokoro/linkage-monitor.sh new file mode 100755 index 00000000..f7245e72 --- /dev/null +++ b/.kokoro/linkage-monitor.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail +# Display commands being run. +set -x + +cd github/java-os-login/ + +# Print out Java version +java -version +echo ${JOB_TYPE} + +mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V + +# Kokoro job cloud-opensource-java/ubuntu/linkage-monitor-gcs creates this JAR +JAR=linkage-monitor-latest-all-deps.jar +curl -v -O "https://storage.googleapis.com/cloud-opensource-java-linkage-monitor/${JAR}" + +# Fails if there's new linkage errors compared with baseline +java -jar ${JAR} com.google.cloud:libraries-bom diff --git a/.kokoro/nightly/common.cfg b/.kokoro/nightly/common.cfg new file mode 100644 index 00000000..c9439fbc --- /dev/null +++ b/.kokoro/nightly/common.cfg @@ -0,0 +1,25 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + regex: "**/*sponge_log.txt" + } +} + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/build.sh" +} + +env_vars: { + key: "JOB_TYPE" + value: "test" +} diff --git a/.kokoro/nightly/dependencies.cfg b/.kokoro/nightly/dependencies.cfg new file mode 100644 index 00000000..c1db424f --- /dev/null +++ b/.kokoro/nightly/dependencies.cfg @@ -0,0 +1,12 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/dependencies.sh" +} diff --git a/.kokoro/nightly/integration.cfg b/.kokoro/nightly/integration.cfg new file mode 100644 index 00000000..3b017fc8 --- /dev/null +++ b/.kokoro/nightly/integration.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} diff --git a/.kokoro/nightly/java11.cfg b/.kokoro/nightly/java11.cfg new file mode 100644 index 00000000..709f2b4c --- /dev/null +++ b/.kokoro/nightly/java11.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java11" +} diff --git a/.kokoro/nightly/java7.cfg b/.kokoro/nightly/java7.cfg new file mode 100644 index 00000000..cb24f44e --- /dev/null +++ b/.kokoro/nightly/java7.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java7" +} diff --git a/.kokoro/nightly/java8-osx.cfg b/.kokoro/nightly/java8-osx.cfg new file mode 100644 index 00000000..a7331425 --- /dev/null +++ b/.kokoro/nightly/java8-osx.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.sh" diff --git a/.kokoro/nightly/java8-win.cfg b/.kokoro/nightly/java8-win.cfg new file mode 100644 index 00000000..30c7fb36 --- /dev/null +++ b/.kokoro/nightly/java8-win.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.bat" diff --git a/.kokoro/nightly/java8.cfg b/.kokoro/nightly/java8.cfg new file mode 100644 index 00000000..3b017fc8 --- /dev/null +++ b/.kokoro/nightly/java8.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} diff --git a/.kokoro/nightly/lint.cfg b/.kokoro/nightly/lint.cfg new file mode 100644 index 00000000..6d323c8a --- /dev/null +++ b/.kokoro/nightly/lint.cfg @@ -0,0 +1,13 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. + +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "JOB_TYPE" + value: "lint" +} \ No newline at end of file diff --git a/.kokoro/presubmit/clirr.cfg b/.kokoro/presubmit/clirr.cfg new file mode 100644 index 00000000..ec572442 --- /dev/null +++ b/.kokoro/presubmit/clirr.cfg @@ -0,0 +1,13 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. + +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "JOB_TYPE" + value: "clirr" +} \ No newline at end of file diff --git a/.kokoro/presubmit/common.cfg b/.kokoro/presubmit/common.cfg new file mode 100644 index 00000000..75e28b88 --- /dev/null +++ b/.kokoro/presubmit/common.cfg @@ -0,0 +1,34 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + regex: "**/*sponge_log.txt" + } +} + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/build.sh" +} + +env_vars: { + key: "JOB_TYPE" + value: "test" +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "dpebot_codecov_token" + } + } +} diff --git a/.kokoro/presubmit/dependencies.cfg b/.kokoro/presubmit/dependencies.cfg new file mode 100644 index 00000000..c1db424f --- /dev/null +++ b/.kokoro/presubmit/dependencies.cfg @@ -0,0 +1,12 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/dependencies.sh" +} diff --git a/.kokoro/presubmit/integration.cfg b/.kokoro/presubmit/integration.cfg new file mode 100644 index 00000000..141f90c1 --- /dev/null +++ b/.kokoro/presubmit/integration.cfg @@ -0,0 +1,31 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "JOB_TYPE" + value: "integration" +} + +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "keystore/73713_java_it_service_account" +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "java_it_service_account" + } + } +} diff --git a/.kokoro/presubmit/java11.cfg b/.kokoro/presubmit/java11.cfg new file mode 100644 index 00000000..709f2b4c --- /dev/null +++ b/.kokoro/presubmit/java11.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java11" +} diff --git a/.kokoro/presubmit/java7.cfg b/.kokoro/presubmit/java7.cfg new file mode 100644 index 00000000..cb24f44e --- /dev/null +++ b/.kokoro/presubmit/java7.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java7" +} diff --git a/.kokoro/presubmit/java8-osx.cfg b/.kokoro/presubmit/java8-osx.cfg new file mode 100644 index 00000000..a7331425 --- /dev/null +++ b/.kokoro/presubmit/java8-osx.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.sh" diff --git a/.kokoro/presubmit/java8-win.cfg b/.kokoro/presubmit/java8-win.cfg new file mode 100644 index 00000000..30c7fb36 --- /dev/null +++ b/.kokoro/presubmit/java8-win.cfg @@ -0,0 +1,3 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "java-os-login/.kokoro/build.bat" diff --git a/.kokoro/presubmit/java8.cfg b/.kokoro/presubmit/java8.cfg new file mode 100644 index 00000000..3b017fc8 --- /dev/null +++ b/.kokoro/presubmit/java8.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} diff --git a/.kokoro/presubmit/linkage-monitor.cfg b/.kokoro/presubmit/linkage-monitor.cfg new file mode 100644 index 00000000..e5e1a8ac --- /dev/null +++ b/.kokoro/presubmit/linkage-monitor.cfg @@ -0,0 +1,12 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/linkage-monitor.sh" +} \ No newline at end of file diff --git a/.kokoro/presubmit/lint.cfg b/.kokoro/presubmit/lint.cfg new file mode 100644 index 00000000..6d323c8a --- /dev/null +++ b/.kokoro/presubmit/lint.cfg @@ -0,0 +1,13 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. + +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +env_vars: { + key: "JOB_TYPE" + value: "lint" +} \ No newline at end of file diff --git a/.kokoro/release/bump_snapshot.cfg b/.kokoro/release/bump_snapshot.cfg new file mode 100644 index 00000000..87152bf5 --- /dev/null +++ b/.kokoro/release/bump_snapshot.cfg @@ -0,0 +1,53 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/node:10-user" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/bump_snapshot.sh" +} + +# tokens used by release-please to keep an up-to-date release PR. +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-key-release-please" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-token-release-please" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "github-magic-proxy-url-release-please" + } + } +} diff --git a/.kokoro/release/bump_snapshot.sh b/.kokoro/release/bump_snapshot.sh new file mode 100755 index 00000000..0faae5f6 --- /dev/null +++ b/.kokoro/release/bump_snapshot.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +export NPM_CONFIG_PREFIX=/home/node/.npm-global + +if [ -f ${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please ]; then + # Groom the snapshot release PR immediately after publishing a release + npx release-please release-pr --token=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-token-release-please \ + --repo-url=googleapis/java-os-login \ + --package-name="oslogin" \ + --api-url=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please \ + --proxy-key=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-key-release-please \ + --snapshot \ + --release-type=java-auth-yoshi +fi diff --git a/.kokoro/release/common.cfg b/.kokoro/release/common.cfg new file mode 100644 index 00000000..26e24cbb --- /dev/null +++ b/.kokoro/release/common.cfg @@ -0,0 +1,49 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "java-os-login/.kokoro/trampoline.sh" + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java8" +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 70247 + keyname: "maven-gpg-keyring" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 70247 + keyname: "maven-gpg-passphrase" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 70247 + keyname: "maven-gpg-pubkeyring" + } + } +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 70247 + keyname: "sonatype-credentials" + } + } +} diff --git a/.kokoro/release/common.sh b/.kokoro/release/common.sh new file mode 100755 index 00000000..6e3f6599 --- /dev/null +++ b/.kokoro/release/common.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +# Get secrets from keystore and set and environment variables +setup_environment_secrets() { + export GPG_PASSPHRASE=$(cat ${KOKORO_KEYSTORE_DIR}/70247_maven-gpg-passphrase) + export GPG_TTY=$(tty) + export GPG_HOMEDIR=/gpg + mkdir $GPG_HOMEDIR + mv ${KOKORO_KEYSTORE_DIR}/70247_maven-gpg-pubkeyring $GPG_HOMEDIR/pubring.gpg + mv ${KOKORO_KEYSTORE_DIR}/70247_maven-gpg-keyring $GPG_HOMEDIR/secring.gpg + export SONATYPE_USERNAME=$(cat ${KOKORO_KEYSTORE_DIR}/70247_sonatype-credentials | cut -f1 -d'|') + export SONATYPE_PASSWORD=$(cat ${KOKORO_KEYSTORE_DIR}/70247_sonatype-credentials | cut -f2 -d'|') +} + +create_settings_xml_file() { + echo " + + + ossrh + ${SONATYPE_USERNAME} + ${SONATYPE_PASSWORD} + + + sonatype-nexus-staging + ${SONATYPE_USERNAME} + ${SONATYPE_PASSWORD} + + + sonatype-nexus-snapshots + ${SONATYPE_USERNAME} + ${SONATYPE_PASSWORD} + + +" > $1 +} \ No newline at end of file diff --git a/.kokoro/release/drop.cfg b/.kokoro/release/drop.cfg new file mode 100644 index 00000000..0a6d25d7 --- /dev/null +++ b/.kokoro/release/drop.cfg @@ -0,0 +1,9 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/drop.sh" +} + +# Download staging properties file. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/java/releases/java-os-login" \ No newline at end of file diff --git a/.kokoro/release/drop.sh b/.kokoro/release/drop.sh new file mode 100755 index 00000000..5c4551ef --- /dev/null +++ b/.kokoro/release/drop.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +# STAGING_REPOSITORY_ID must be set +if [ -z "${STAGING_REPOSITORY_ID}" ]; then + echo "Missing STAGING_REPOSITORY_ID environment variable" + exit 1 +fi + +source $(dirname "$0")/common.sh +pushd $(dirname "$0")/../../ + +setup_environment_secrets +create_settings_xml_file "settings.xml" + +mvn nexus-staging:drop -B \ + --settings=settings.xml \ + -DstagingRepositoryId=${STAGING_REPOSITORY_ID} diff --git a/.kokoro/release/promote.cfg b/.kokoro/release/promote.cfg new file mode 100644 index 00000000..3d3daaa7 --- /dev/null +++ b/.kokoro/release/promote.cfg @@ -0,0 +1,10 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/promote.sh" +} + +# Download staging properties file. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/java/releases/java-os-login" + diff --git a/.kokoro/release/promote.sh b/.kokoro/release/promote.sh new file mode 100755 index 00000000..1fa95fa5 --- /dev/null +++ b/.kokoro/release/promote.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +# STAGING_REPOSITORY_ID must be set +if [ -z "${STAGING_REPOSITORY_ID}" ]; then + echo "Missing STAGING_REPOSITORY_ID environment variable" + exit 1 +fi + +source $(dirname "$0")/common.sh + +pushd $(dirname "$0")/../../ + +setup_environment_secrets +create_settings_xml_file "settings.xml" + +mvn nexus-staging:release -B \ + -DperformRelease=true \ + --settings=settings.xml \ + -DstagingRepositoryId=${STAGING_REPOSITORY_ID} diff --git a/.kokoro/release/publish_javadoc.cfg b/.kokoro/release/publish_javadoc.cfg new file mode 100644 index 00000000..203684cb --- /dev/null +++ b/.kokoro/release/publish_javadoc.cfg @@ -0,0 +1,19 @@ +# Format: //devtools/kokoro/config/proto/build.proto +env_vars: { + key: "STAGING_BUCKET" + value: "docs-staging" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/publish_javadoc.sh" +} + +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "docuploader_service_account" + } + } +} diff --git a/.kokoro/release/publish_javadoc.sh b/.kokoro/release/publish_javadoc.sh new file mode 100755 index 00000000..ab6d00fd --- /dev/null +++ b/.kokoro/release/publish_javadoc.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# Copyright 2019 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +if [[ -z "${CREDENTIALS}" ]]; then + CREDENTIALS=${KOKORO_KEYSTORE_DIR}/73713_docuploader_service_account +fi + +if [[ -z "${STAGING_BUCKET}" ]]; then + echo "Need to set STAGING_BUCKET environment variable" + exit 1 +fi + +# work from the git root directory +pushd $(dirname "$0")/../../ + +# install docuploader package +python3 -m pip install gcp-docuploader + +# compile all packages +mvn clean install -B -DskipTests=true + +NAME=oslogin +VERSION=$(grep ${NAME}: versions.txt | cut -d: -f3) + +# build the docs +mvn site -B + +pushd target/site/apidocs + +# create metadata +python3 -m docuploader create-metadata \ + --name ${NAME} \ + --version ${VERSION} \ + --language java + +# upload docs +python3 -m docuploader upload . \ + --credentials ${CREDENTIALS} \ + --staging-bucket ${STAGING_BUCKET} + +popd diff --git a/.kokoro/release/snapshot.cfg b/.kokoro/release/snapshot.cfg new file mode 100644 index 00000000..39f01a0e --- /dev/null +++ b/.kokoro/release/snapshot.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/snapshot.sh" +} \ No newline at end of file diff --git a/.kokoro/release/snapshot.sh b/.kokoro/release/snapshot.sh new file mode 100755 index 00000000..098168a7 --- /dev/null +++ b/.kokoro/release/snapshot.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +source $(dirname "$0")/common.sh +MAVEN_SETTINGS_FILE=$(realpath $(dirname "$0")/../../)/settings.xml +pushd $(dirname "$0")/../../ + +# ensure we're trying to push a snapshot (no-result returns non-zero exit code) +grep SNAPSHOT versions.txt + +setup_environment_secrets +create_settings_xml_file "settings.xml" + +mvn clean install deploy -B \ + --settings ${MAVEN_SETTINGS_FILE} \ + -DperformRelease=true \ + -Dgpg.executable=gpg \ + -Dgpg.passphrase=${GPG_PASSPHRASE} \ + -Dgpg.homedir=${GPG_HOMEDIR} diff --git a/.kokoro/release/stage.cfg b/.kokoro/release/stage.cfg new file mode 100644 index 00000000..25760ab8 --- /dev/null +++ b/.kokoro/release/stage.cfg @@ -0,0 +1,44 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/java-os-login/.kokoro/release/stage.sh" +} + +# Need to save the properties file +action { + define_artifacts { + regex: "github/java-os-login/target/nexus-staging/staging/*.properties" + strip_prefix: "github/java-os-login" + } +} + +# Fetch the token needed for reporting release status to GitHub +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "yoshi-automation-github-key" + } + } +} + +# Fetch magictoken to use with Magic Github Proxy +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "releasetool-magictoken" + } + } +} + +# Fetch api key to use with Magic Github Proxy +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "magic-github-proxy-api-key" + } + } +} diff --git a/.kokoro/release/stage.sh b/.kokoro/release/stage.sh new file mode 100755 index 00000000..3c482cbc --- /dev/null +++ b/.kokoro/release/stage.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail + +# Start the releasetool reporter +python3 -m pip install gcp-releasetool +python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script + +source $(dirname "$0")/common.sh +MAVEN_SETTINGS_FILE=$(realpath $(dirname "$0")/../../)/settings.xml +pushd $(dirname "$0")/../../ + +setup_environment_secrets +create_settings_xml_file "settings.xml" + +mvn clean install deploy -B \ + --settings ${MAVEN_SETTINGS_FILE} \ + -DskipTests=true \ + -DperformRelease=true \ + -Dgpg.executable=gpg \ + -Dgpg.passphrase=${GPG_PASSPHRASE} \ + -Dgpg.homedir=${GPG_HOMEDIR} + +if [[ -n "${AUTORELEASE_PR}" ]] +then + mvn nexus-staging:release -B \ + -DperformRelease=true \ + --settings=settings.xml +fi \ No newline at end of file diff --git a/.kokoro/trampoline.sh b/.kokoro/trampoline.sh new file mode 100644 index 00000000..ba17ce01 --- /dev/null +++ b/.kokoro/trampoline.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +set -eo pipefail +# Always run the cleanup script, regardless of the success of bouncing into +# the container. +function cleanup() { + chmod +x ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh + ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh + echo "cleanup"; +} +trap cleanup EXIT +python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py" diff --git a/google-cloud-os-login/.repo-metadata.json b/.repo-metadata.json similarity index 86% rename from google-cloud-os-login/.repo-metadata.json rename to .repo-metadata.json index ae8dc279..9fd73cef 100644 --- a/google-cloud-os-login/.repo-metadata.json +++ b/.repo-metadata.json @@ -6,8 +6,8 @@ "issue_tracker": "https://issuetracker.google.com/savedsearches/559755", "release_level": "alpha", "language": "java", - "repo": "googleapis/google-cloud-java", - "repo_short": "google-cloud-java", + "repo": "googleapis/java-os-login", + "repo_short": "java-os-login", "distribution_name": "com.google.cloud:google-cloud-oslogin", "api_id": "oslogin.googleapis.com" } \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..6b2238bb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,93 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, education, socio-economic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when the Project +Steward has a reasonable belief that an individual's behavior may have a +negative impact on the project or its community. + +## Conflict Resolution + +We do not believe that all conflict is bad; healthy debate and disagreement +often yield positive results. However, it is never okay to be disrespectful or +to engage in behavior that violates the project’s code of conduct. + +If you see someone violating the code of conduct, you are encouraged to address +the behavior directly with those involved. Many issues can be resolved quickly +and easily, and this gives people more control over the outcome of their +dispute. If you are unable to resolve the matter for any reason, or if the +behavior is threatening or harassing, report it. We are dedicated to providing +an environment where participants feel welcome and safe. + +Reports should be directed to *[PROJECT STEWARD NAME(s) AND EMAIL(s)]*, the +Project Steward(s) for *[PROJECT NAME]*. It is the Project Steward’s duty to +receive and address reported violations of the code of conduct. They will then +work with a committee consisting of representatives from the Open Source +Programs Office and the Google Open Source Strategy team. If for any reason you +are uncomfortable reaching out the Project Steward, please email +opensource@google.com. + +We will investigate every complaint, but you may not receive a direct response. +We will use our discretion in determining when and how to follow up on reported +incidents, which may range from not taking action to permanent expulsion from +the project and project-sponsored spaces. We will notify the accused of the +report and provide them an opportunity to discuss it before any action is taken. +The identity of the reporter will be omitted from the details of the report +supplied to the accused. In potentially harmful situations, such as ongoing +harassment or threats to anyone's safety, we may take action without notice. + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..ebbb59e5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,28 @@ +# How to Contribute + +We'd love to accept your patches and contributions to this project. There are +just a few small guidelines you need to follow. + +## Contributor License Agreement + +Contributions to this project must be accompanied by a Contributor License +Agreement. You (or your employer) retain the copyright to your contribution; +this simply gives us permission to use and redistribute your contributions as +part of the project. Head over to to see +your current agreements on file or to sign a new one. + +You generally only need to submit a CLA once, so if you've already submitted one +(even if it was for a different project), you probably don't need to do it +again. + +## Code reviews + +All submissions, including submissions by project members, require review. We +use GitHub pull requests for this purpose. Consult +[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more +information on using pull requests. + +## Community Guidelines + +This project follows +[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/). \ No newline at end of file diff --git a/LICENSE b/LICENSE index 4eedc011..d6456956 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,5 @@ -Apache License + + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -178,7 +179,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a diff --git a/google-cloud-os-login/README.md b/README.md similarity index 100% rename from google-cloud-os-login/README.md rename to README.md diff --git a/codecov.yaml b/codecov.yaml new file mode 100644 index 00000000..5724ea94 --- /dev/null +++ b/codecov.yaml @@ -0,0 +1,4 @@ +--- +codecov: + ci: + - source.cloud.google.com diff --git a/google-cloud-os-login-bom/pom.xml b/google-cloud-os-login-bom/pom.xml new file mode 100644 index 00000000..af5bb5c2 --- /dev/null +++ b/google-cloud-os-login-bom/pom.xml @@ -0,0 +1,93 @@ + + + 4.0.0 + com.google.cloud + google-cloud-os-login-bom + 0.116.1-alpha-SNAPSHOT + pom + + com.google.cloud + google-cloud-shared-config + 0.2.1 + + + Google Cloud os-login BOM + https://github.com/googleapis/java-os-login + + BOM for Google Cloud OS Login + + + + Google LLC + + + + + chingor13 + Jeff Ching + chingor@google.com + Google LLC + + Developer + + + + + + scm:git:https://github.com/googleapis/java-os-login.git + scm:git:git@github.com:googleapis/java-os-login.git + https://github.com/googleapis/java-os-login + + + + + sonatype-nexus-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + + sonatype-nexus-staging + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + + + + com.google.api.grpc + proto-google-cloud-os-login-v1 + 0.81.1-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-os-login-v1 + 0.81.1-SNAPSHOT + + + com.google.cloud + google-cloud-os-login + 0.116.1-alpha-SNAPSHOT + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + true + + + + + \ No newline at end of file diff --git a/google-cloud-os-login/pom.xml b/google-cloud-os-login/pom.xml index fae2d00e..6b00b665 100644 --- a/google-cloud-os-login/pom.xml +++ b/google-cloud-os-login/pom.xml @@ -1,34 +1,78 @@ 4.0.0 + com.google.cloud google-cloud-os-login 0.116.1-alpha-SNAPSHOT jar Google Cloud OS Login - https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-os-login - - Java idiomatic client for Google Cloud OS Login. - + https://github.com/googleapis/java-os-login + Java idiomatic client for Google Cloud OS Login com.google.cloud - google-cloud-clients - 0.116.1-alpha-SNAPSHOT + google-cloud-os-login-parent + 0.116.1-alpha-SNAPSHOT google-cloud-os-login - ${project.groupId} - google-cloud-core-grpc + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.api + api-common + + + com.google.protobuf + protobuf-java com.google.api.grpc - proto-google-cloud-os-login-v1 + proto-google-common-protos + com.google.api.grpc - grpc-google-cloud-os-login-v1 + proto-google-cloud-os-login-v1 + + + com.google.guava + guava + + + com.google.api + gax + + + com.google.api + gax-grpc + + + org.threeten + threetenbp + + + com.google.cloud + google-cloud-core + + + com.google.code.gson + gson + + + com.google.auth + google-auth-library-oauth2-http @@ -37,6 +81,12 @@ junit test + + + com.google.api.grpc + grpc-google-cloud-os-login-v1 + test + com.google.api @@ -46,29 +96,18 @@ - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - protected - true - none - true - - - ${project.javadoc.protobufBaseURL} - ../../../../../google-api-grpc/proto-google-cloud-os-login-v1/target/site/apidocs/ - - - ${project.javadoc.protobufBaseURL} - ../../../../../google-api-grpc/grpc-google-cloud-os-login-v1/target/site/apidocs/ - - - - - - - + + + java9 + + [9,) + + + + javax.annotation + javax.annotation-api + + + + + \ No newline at end of file diff --git a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceClient.java b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceClient.java index e54addf6..faa2c648 100644 --- a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceClient.java +++ b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceClient.java @@ -451,8 +451,8 @@ public final UnaryCallable getLoginProfile * } * * - * @param name The fingerprint of the public key to retrieve. Public keys are identified by their - * SHA-256 fingerprint. The fingerprint of the public key is in format + * @param name Required. The fingerprint of the public key to retrieve. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in format * `users/{user}/sshPublicKeys/{fingerprint}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ @@ -476,8 +476,8 @@ public final SshPublicKey getSshPublicKey(FingerprintName name) { * } * * - * @param name The fingerprint of the public key to retrieve. Public keys are identified by their - * SHA-256 fingerprint. The fingerprint of the public key is in format + * @param name Required. The fingerprint of the public key to retrieve. Public keys are identified + * by their SHA-256 fingerprint. The fingerprint of the public key is in format * `users/{user}/sshPublicKeys/{fingerprint}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ @@ -668,10 +668,8 @@ public final ImportSshPublicKeyResponse importSshPublicKey( *

    * try (OsLoginServiceClient osLoginServiceClient = OsLoginServiceClient.create()) {
    *   UserName parent = UserName.of("[USER]");
-   *   SshPublicKey sshPublicKey = SshPublicKey.newBuilder().build();
    *   ImportSshPublicKeyRequest request = ImportSshPublicKeyRequest.newBuilder()
    *     .setParent(parent.toString())
-   *     .setSshPublicKey(sshPublicKey)
    *     .build();
    *   ImportSshPublicKeyResponse response = osLoginServiceClient.importSshPublicKey(request);
    * }
@@ -694,10 +692,8 @@ public final ImportSshPublicKeyResponse importSshPublicKey(ImportSshPublicKeyReq
    * 

    * try (OsLoginServiceClient osLoginServiceClient = OsLoginServiceClient.create()) {
    *   UserName parent = UserName.of("[USER]");
-   *   SshPublicKey sshPublicKey = SshPublicKey.newBuilder().build();
    *   ImportSshPublicKeyRequest request = ImportSshPublicKeyRequest.newBuilder()
    *     .setParent(parent.toString())
-   *     .setSshPublicKey(sshPublicKey)
    *     .build();
    *   ApiFuture<ImportSshPublicKeyResponse> future = osLoginServiceClient.importSshPublicKeyCallable().futureCall(request);
    *   // Do something
diff --git a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/package-info.java b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/package-info.java
index 13c71b55..4568953b 100644
--- a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/package-info.java
+++ b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/package-info.java
@@ -31,7 +31,7 @@
  * 
  * 
  * try (OsLoginServiceClient osLoginServiceClient = OsLoginServiceClient.create()) {
- *   ProjectName name = ProjectName.of("[USER]", "[PROJECT]");
+ *   PosixAccountName name = PosixAccountName.of("[USER]", "[PROJECT]");
  *   osLoginServiceClient.deletePosixAccount(name);
  * }
  * 
diff --git a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java
index 64ed7c6c..640e4bf8 100644
--- a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java
+++ b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java
@@ -245,9 +245,9 @@ public static class Builder extends StubSettings.Builder
   4.0.0
+  com.google.api.grpc
   grpc-google-cloud-os-login-v1
   0.81.1-SNAPSHOT
   grpc-google-cloud-os-login-v1
   GRPC library for grpc-google-cloud-os-login-v1
   
-    com.google.api.grpc
-    google-api-grpc
-    0.81.1-SNAPSHOT
+    com.google.cloud
+    google-cloud-os-login-parent
+    0.116.1-alpha-SNAPSHOT
   
   
+    
+      io.grpc
+      grpc-api
+    
     
       io.grpc
       grpc-stub
-      compile
     
     
       io.grpc
       grpc-protobuf
-      compile
+    
+    
+      com.google.protobuf
+      protobuf-java
     
     
       com.google.api.grpc
       proto-google-cloud-os-login-v1
-      compile
+    
+    
+      com.google.guava
+      guava
     
   
-  
-    
-      
-        org.apache.maven.plugins
-        maven-javadoc-plugin
-        3.1.1
-        
-          protected
-          true
-          none
-          true
-          
-            
-              ${project.javadoc.protobufBaseURL}
-              ../../../../proto-google-cloud-os-login-v1/target/site/apidocs/
-            
-          
-        
-      
-    
-  
-
+
+  
+    
+      java9
+      
+        [9,)
+      
+      
+        
+          javax.annotation
+          javax.annotation-api
+        
+      
+    
+  
+
\ No newline at end of file
diff --git a/grpc-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceGrpc.java b/grpc-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceGrpc.java
index 9addfded..a909a645 100644
--- a/grpc-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceGrpc.java
+++ b/grpc-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceGrpc.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.google.cloud.oslogin.v1;
 
 import static io.grpc.MethodDescriptor.generateFullMethodName;
diff --git a/java.header b/java.header
new file mode 100644
index 00000000..3a9b503a
--- /dev/null
+++ b/java.header
@@ -0,0 +1,15 @@
+^/\*$
+^ \* Copyright \d\d\d\d,? Google (Inc\.|LLC)( All [rR]ights [rR]eserved\.)?$
+^ \*$
+^ \* Licensed under the Apache License, Version 2\.0 \(the "License"\);$
+^ \* you may not use this file except in compliance with the License\.$
+^ \* You may obtain a copy of the License at$
+^ \*$
+^ \*[ ]+https?://www.apache.org/licenses/LICENSE-2\.0$
+^ \*$
+^ \* Unless required by applicable law or agreed to in writing, software$
+^ \* distributed under the License is distributed on an "AS IS" BASIS,$
+^ \* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.$
+^ \* See the License for the specific language governing permissions and$
+^ \* limitations under the License\.$
+^ \*/$
diff --git a/license-checks.xml b/license-checks.xml
new file mode 100644
index 00000000..6597fced
--- /dev/null
+++ b/license-checks.xml
@@ -0,0 +1,10 @@
+
+
+
+  
+    
+    
+  
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..b7f31ba0
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,283 @@
+
+
+  4.0.0
+  com.google.cloud
+  google-cloud-os-login-parent
+  pom
+  0.116.1-alpha-SNAPSHOT
+  Google Cloud OS Login Parent
+  https://github.com/googleapis/java-os-login
+  
+    Java idiomatic client for Google Cloud Platform services.
+  
+
+  
+    com.google.cloud
+    google-cloud-shared-config
+    0.2.1
+  
+
+  
+    
+      chingor
+      Jeff Ching
+      chingor@google.com
+      Google
+      
+        Developer
+      
+    
+  
+  
+    Google LLC
+  
+  
+    scm:git:git@github.com:googleapis/java-os-login.git
+    scm:git:git@github.com:googleapis/java-os-login.git
+    https://github.com/googleapis/java-os-login
+    HEAD
+  
+  
+    https://github.com/googleapis/java-os-login/issues
+    GitHub Issues
+  
+  
+    
+      sonatype-nexus-snapshots
+      https://oss.sonatype.org/content/repositories/snapshots
+    
+    
+      sonatype-nexus-staging
+      https://oss.sonatype.org/service/local/staging/deploy/maven2/
+    
+  
+  
+    
+      Apache-2.0
+      https://www.apache.org/licenses/LICENSE-2.0.txt
+    
+  
+
+  
+    UTF-8
+    UTF-8
+    github
+    google-cloud-os-login-parent
+    1.91.1
+    1.8.1
+    1.17.0
+    1.50.0
+    1.24.1
+    3.10.0
+    4.12
+    28.1-android
+    1.4.0
+    1.3.2
+    1.18
+    0.18.0
+  
+
+  
+    
+      
+        com.google.api.grpc
+        proto-google-cloud-os-login-v1
+        0.81.1-SNAPSHOT
+      
+      
+        com.google.api.grpc
+        grpc-google-cloud-os-login-v1
+        0.81.1-SNAPSHOT
+      
+      
+        com.google.cloud
+        google-cloud-os-login
+        0.116.1-alpha-SNAPSHOT
+      
+
+      
+        io.grpc
+        grpc-bom
+        ${grpc.version}
+        pom
+        import
+      
+      
+        com.google.api
+        gax-bom
+        ${gax.version}
+        pom
+        import
+      
+      
+        com.google.guava
+        guava-bom
+        ${guava.version}
+        pom
+        import
+      
+      
+        com.google.cloud
+        google-cloud-core-bom
+        1.91.3
+        pom
+        import
+      
+      
+        com.google.auth
+        google-auth-library-bom
+        ${google.auth.version}
+        pom
+        import
+      
+
+      
+        com.google.protobuf
+        protobuf-java
+        ${protobuf.version}
+      
+      
+        com.google.api
+        api-common
+        ${google.api-common.version}
+      
+      
+        com.google.api.grpc
+        proto-google-common-protos
+        ${google.common-protos.version}
+      
+      
+        org.threeten
+        threetenbp
+        ${threeten.version}
+      
+      
+        javax.annotation
+        javax.annotation-api
+        ${javax.annotations.version}
+      
+      
+        org.codehaus.mojo
+        animal-sniffer-annotations
+        ${animal-sniffer.version}
+      
+      
+        com.google.code.gson
+        gson
+        2.8.6
+      
+
+      
+      
+        com.google.protobuf
+        protobuf-java-util
+        3.10.0
+      
+
+      
+        junit
+        junit
+        ${junit.version}
+        test
+      
+      
+        com.google.api
+        gax-grpc
+        ${gax.version}
+        testlib
+        test
+      
+    
+  
+
+  
+    
+      
+        
+          org.apache.maven.plugins
+          maven-dependency-plugin
+          
+            org.objenesis:objenesis
+          
+        
+      
+    
+  
+
+  
+    proto-google-cloud-os-login-v1
+    grpc-google-cloud-os-login-v1
+    google-cloud-os-login
+  google-cloud-os-login-bom
+  
+
+  
+    
+      
+        org.apache.maven.plugins
+        maven-project-info-reports-plugin
+        3.0.0
+        
+          
+            
+              index
+              dependency-info
+              team
+              ci-management
+              issue-management
+              licenses
+              scm
+              dependency-management
+              distribution-management
+              summary
+              modules
+            
+          
+        
+        
+          true
+          ${site.installationModule}
+          jar
+        
+      
+      
+        org.apache.maven.plugins
+        maven-javadoc-plugin
+        3.1.1
+        
+          
+            html
+            
+              aggregate
+              javadoc
+            
+          
+        
+        
+          none
+          protected
+          true
+          ${project.build.directory}/javadoc
+          
+            
+              Test helpers packages
+              com.google.cloud.testing
+            
+            
+              SPI packages
+              com.google.cloud.spi*
+            
+          
+
+          
+            https://grpc.io/grpc-java/javadoc/
+            https://developers.google.com/protocol-buffers/docs/reference/java/
+            https://googleapis.dev/java/google-auth-library/latest/
+            https://googleapis.dev/java/gax/latest/
+            https://googleapis.github.io/api-common-java/${google.api-common.version}/apidocs/
+          
+        
+      
+    
+  
+
\ No newline at end of file
diff --git a/proto-google-cloud-os-login-v1/clirr-ignored-differences.xml b/proto-google-cloud-os-login-v1/clirr-ignored-differences.xml
new file mode 100644
index 00000000..719881b8
--- /dev/null
+++ b/proto-google-cloud-os-login-v1/clirr-ignored-differences.xml
@@ -0,0 +1,29 @@
+
+
+
+    
+        6011
+        com/google/cloud/oslogin/v1/LoginProfile
+        SUSPENDED_FIELD_NUMBER
+    
+    
+        7012
+        com/google/cloud/oslogin/v1/LoginProfile
+        * getSuspended(*)
+    
+    
+        7002
+        com/google/cloud/oslogin/v1/*OrBuilder
+        * get*(*)
+    
+    
+        7002
+        com/google/cloud/oslogin/v1/*Builder
+        * *Suspended(*)
+    
+    
+        7002
+        com/google/cloud/oslogin/v1/LoginProfile
+        * *Suspended(*)
+    
+
\ No newline at end of file
diff --git a/proto-google-cloud-os-login-v1/pom.xml b/proto-google-cloud-os-login-v1/pom.xml
index 456fc377..2a92d8d4 100644
--- a/proto-google-cloud-os-login-v1/pom.xml
+++ b/proto-google-cloud-os-login-v1/pom.xml
@@ -2,30 +2,32 @@
   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">
   4.0.0
+  com.google.api.grpc
   proto-google-cloud-os-login-v1
   0.81.1-SNAPSHOT
   proto-google-cloud-os-login-v1
   PROTO library for proto-google-cloud-os-login-v1
   
-    com.google.api.grpc
-    google-api-grpc
-    0.81.1-SNAPSHOT
+    com.google.cloud
+    google-cloud-os-login-parent
+    0.116.1-alpha-SNAPSHOT
   
   
     
       com.google.protobuf
       protobuf-java
-      compile
+    
+    
+      com.google.api.grpc
+      proto-google-common-protos
     
     
       com.google.api
       api-common
-      compile
     
     
-      com.google.api.grpc
-      proto-google-common-protos
-      compile
+      com.google.guava
+      guava
     
   
 
\ No newline at end of file
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/FingerprintName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/FingerprintName.java
index c6c55f7d..b60cafb1 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/FingerprintName.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/FingerprintName.java
@@ -1,15 +1,17 @@
 /*
- * Copyright 2018 Google LLC
+ * Copyright 2019 Google LLC
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     https://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package com.google.cloud.oslogin.common;
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/OsLoginProto.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/OsLoginProto.java
index b3842f76..4f302ab6 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/OsLoginProto.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/OsLoginProto.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/common/common.proto
 
@@ -3456,12 +3471,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
           + "n.googleapis.com/SshPublicKey\022(users/{us"
           + "er}/sshPublicKeys/{fingerprint}*T\n\023Opera"
           + "tingSystemType\022%\n!OPERATING_SYSTEM_TYPE_"
-          + "UNSPECIFIED\020\000\022\t\n\005LINUX\020\001\022\013\n\007WINDOWS\020\002B\256\001"
+          + "UNSPECIFIED\020\000\022\t\n\005LINUX\020\001\022\013\n\007WINDOWS\020\002B\334\001"
           + "\n\037com.google.cloud.oslogin.commonB\014OsLog"
           + "inProtoZAgoogle.golang.org/genproto/goog"
           + "leapis/cloud/oslogin/common;common\252\002\033Goo"
           + "gle.Cloud.OsLogin.Common\312\002\033Google\\Cloud\\"
-          + "OsLogin\\Commonb\006proto3"
+          + "OsLogin\\Common\352A+\n\033oslogin.googleapis.co"
+          + "m/User\022\014users/{user}b\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -3508,6 +3524,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
         com.google.protobuf.ExtensionRegistry.newInstance();
     registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
     registry.add(com.google.api.ResourceProto.resource);
+    registry.add(com.google.api.ResourceProto.resourceDefinition);
     com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
         descriptor, registry);
     com.google.api.FieldBehaviorProto.getDescriptor();
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/ProjectName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/ProjectName.java
index e0fc3050..ad80139f 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/ProjectName.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/ProjectName.java
@@ -1,15 +1,17 @@
 /*
- * Copyright 2018 Google LLC
+ * Copyright 2019 Google LLC
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     https://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package com.google.cloud.oslogin.common;
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/UserName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/UserName.java
index 2c2e2c11..09f24da8 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/UserName.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/common/UserName.java
@@ -1,15 +1,17 @@
 /*
- * Copyright 2018 Google LLC
+ * Copyright 2019 Google LLC
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     https://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package com.google.cloud.oslogin.common;
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequest.java
index b5348092..d2e56048 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequest.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequest.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequestOrBuilder.java
index 344f6ce2..b50a8301 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequestOrBuilder.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeletePosixAccountRequestOrBuilder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequest.java
index 5bf69bf3..ed88f885 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequest.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequest.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequestOrBuilder.java
index 4dfe7435..06ab26b2 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequestOrBuilder.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/DeleteSshPublicKeyRequestOrBuilder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/FingerprintName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/FingerprintName.java
index eb42a05f..3acc1db7 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/FingerprintName.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/FingerprintName.java
@@ -1,15 +1,17 @@
 /*
- * Copyright 2018 Google LLC
+ * Copyright 2019 Google LLC
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     https://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package com.google.cloud.oslogin.v1;
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequest.java
index cbf43a3f..2230fa63 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequest.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequest.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequestOrBuilder.java
index 414a339b..3260af42 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequestOrBuilder.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetLoginProfileRequestOrBuilder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequest.java
index 13566399..27fda9a9 100644
--- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequest.java
+++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequest.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: google/cloud/oslogin/v1/oslogin.proto
 
@@ -97,12 +112,14 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    *
    *
    * 
-   * The fingerprint of the public key to retrieve. Public keys are identified
+   * Required. The fingerprint of the public key to retrieve. Public keys are identified
    * by their SHA-256 fingerprint. The fingerprint of the public key is in
    * format `users/{user}/sshPublicKeys/{fingerprint}`.
    * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -119,12 +136,14 @@ public java.lang.String getName() { * * *
-   * The fingerprint of the public key to retrieve. Public keys are identified
+   * Required. The fingerprint of the public key to retrieve. Public keys are identified
    * by their SHA-256 fingerprint. The fingerprint of the public key is in
    * format `users/{user}/sshPublicKeys/{fingerprint}`.
    * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; @@ -461,12 +480,14 @@ public Builder mergeFrom( * * *
-     * The fingerprint of the public key to retrieve. Public keys are identified
+     * Required. The fingerprint of the public key to retrieve. Public keys are identified
      * by their SHA-256 fingerprint. The fingerprint of the public key is in
      * format `users/{user}/sshPublicKeys/{fingerprint}`.
      * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -483,12 +504,14 @@ public java.lang.String getName() { * * *
-     * The fingerprint of the public key to retrieve. Public keys are identified
+     * Required. The fingerprint of the public key to retrieve. Public keys are identified
      * by their SHA-256 fingerprint. The fingerprint of the public key is in
      * format `users/{user}/sshPublicKeys/{fingerprint}`.
      * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; @@ -505,12 +528,14 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * The fingerprint of the public key to retrieve. Public keys are identified
+     * Required. The fingerprint of the public key to retrieve. Public keys are identified
      * by their SHA-256 fingerprint. The fingerprint of the public key is in
      * format `users/{user}/sshPublicKeys/{fingerprint}`.
      * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public Builder setName(java.lang.String value) { if (value == null) { @@ -525,12 +550,14 @@ public Builder setName(java.lang.String value) { * * *
-     * The fingerprint of the public key to retrieve. Public keys are identified
+     * Required. The fingerprint of the public key to retrieve. Public keys are identified
      * by their SHA-256 fingerprint. The fingerprint of the public key is in
      * format `users/{user}/sshPublicKeys/{fingerprint}`.
      * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public Builder clearName() { @@ -542,12 +569,14 @@ public Builder clearName() { * * *
-     * The fingerprint of the public key to retrieve. Public keys are identified
+     * Required. The fingerprint of the public key to retrieve. Public keys are identified
      * by their SHA-256 fingerprint. The fingerprint of the public key is in
      * format `users/{user}/sshPublicKeys/{fingerprint}`.
      * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ public Builder setNameBytes(com.google.protobuf.ByteString value) { if (value == null) { diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequestOrBuilder.java index cb75deca..17340dfe 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequestOrBuilder.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/GetSshPublicKeyRequestOrBuilder.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto @@ -12,24 +27,28 @@ public interface GetSshPublicKeyRequestOrBuilder * * *
-   * The fingerprint of the public key to retrieve. Public keys are identified
+   * Required. The fingerprint of the public key to retrieve. Public keys are identified
    * by their SHA-256 fingerprint. The fingerprint of the public key is in
    * format `users/{user}/sshPublicKeys/{fingerprint}`.
    * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ java.lang.String getName(); /** * * *
-   * The fingerprint of the public key to retrieve. Public keys are identified
+   * Required. The fingerprint of the public key to retrieve. Public keys are identified
    * by their SHA-256 fingerprint. The fingerprint of the public key is in
    * format `users/{user}/sshPublicKeys/{fingerprint}`.
    * 
* - * string name = 1; + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * */ com.google.protobuf.ByteString getNameBytes(); } diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequest.java index 67bbbe7a..5db0bf64 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequest.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequest.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequestOrBuilder.java index c7f971de..357fbc09 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequestOrBuilder.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyRequestOrBuilder.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponse.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponse.java index 751041f8..c9e0468d 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponse.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponse.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponseOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponseOrBuilder.java index 98f71a58..02abdcee 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponseOrBuilder.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ImportSshPublicKeyResponseOrBuilder.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfile.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfile.java index afc4eee3..391559f2 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfile.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfile.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto @@ -92,11 +107,6 @@ private LoginProfile( .put(sshPublicKeys__.getKey(), sshPublicKeys__.getValue()); break; } - case 32: - { - suspended_ = input.readBool(); - break; - } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -366,22 +376,6 @@ public com.google.cloud.oslogin.common.OsLoginProto.SshPublicKey getSshPublicKey return map.get(key); } - public static final int SUSPENDED_FIELD_NUMBER = 4; - private boolean suspended_; - /** - * - * - *
-   * Indicates if the user is suspended. A suspended user cannot log in but
-   * their profile information is retained.
-   * 
- * - * bool suspended = 4; - */ - public boolean getSuspended() { - return suspended_; - } - private byte memoizedIsInitialized = -1; @java.lang.Override @@ -404,9 +398,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( output, internalGetSshPublicKeys(), SshPublicKeysDefaultEntryHolder.defaultEntry, 3); - if (suspended_ != false) { - output.writeBool(4, suspended_); - } unknownFields.writeTo(output); } @@ -435,9 +426,6 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, sshPublicKeys__); } - if (suspended_ != false) { - size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, suspended_); - } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -456,7 +444,6 @@ public boolean equals(final java.lang.Object obj) { if (!getName().equals(other.getName())) return false; if (!getPosixAccountsList().equals(other.getPosixAccountsList())) return false; if (!internalGetSshPublicKeys().equals(other.internalGetSshPublicKeys())) return false; - if (getSuspended() != other.getSuspended()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -478,8 +465,6 @@ public int hashCode() { hash = (37 * hash) + SSH_PUBLIC_KEYS_FIELD_NUMBER; hash = (53 * hash) + internalGetSshPublicKeys().hashCode(); } - hash = (37 * hash) + SUSPENDED_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getSuspended()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -657,8 +642,6 @@ public Builder clear() { posixAccountsBuilder_.clear(); } internalGetMutableSshPublicKeys().clear(); - suspended_ = false; - return this; } @@ -700,7 +683,6 @@ public com.google.cloud.oslogin.v1.LoginProfile buildPartial() { } result.sshPublicKeys_ = internalGetSshPublicKeys(); result.sshPublicKeys_.makeImmutable(); - result.suspended_ = suspended_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -783,9 +765,6 @@ public Builder mergeFrom(com.google.cloud.oslogin.v1.LoginProfile other) { } } internalGetMutableSshPublicKeys().mergeFrom(other.internalGetSshPublicKeys()); - if (other.getSuspended() != false) { - setSuspended(other.getSuspended()); - } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1460,53 +1439,6 @@ public Builder putAllSshPublicKeys( return this; } - private boolean suspended_; - /** - * - * - *
-     * Indicates if the user is suspended. A suspended user cannot log in but
-     * their profile information is retained.
-     * 
- * - * bool suspended = 4; - */ - public boolean getSuspended() { - return suspended_; - } - /** - * - * - *
-     * Indicates if the user is suspended. A suspended user cannot log in but
-     * their profile information is retained.
-     * 
- * - * bool suspended = 4; - */ - public Builder setSuspended(boolean value) { - - suspended_ = value; - onChanged(); - return this; - } - /** - * - * - *
-     * Indicates if the user is suspended. A suspended user cannot log in but
-     * their profile information is retained.
-     * 
- * - * bool suspended = 4; - */ - public Builder clearSuspended() { - - suspended_ = false; - onChanged(); - return this; - } - @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfileOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfileOrBuilder.java index e8ad081e..52143ca5 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfileOrBuilder.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/LoginProfileOrBuilder.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto @@ -139,16 +154,4 @@ com.google.cloud.oslogin.common.OsLoginProto.SshPublicKey getSshPublicKeysOrDefa */ com.google.cloud.oslogin.common.OsLoginProto.SshPublicKey getSshPublicKeysOrThrow( java.lang.String key); - - /** - * - * - *
-   * Indicates if the user is suspended. A suspended user cannot log in but
-   * their profile information is retained.
-   * 
- * - * bool suspended = 4; - */ - boolean getSuspended(); } diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginProto.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginProto.java index 3a359006..6cb14676 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginProto.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/OsLoginProto.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto @@ -64,70 +79,71 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "/api/resource.proto\032(google/cloud/oslogi" + "n/common/common.proto\032\033google/protobuf/e" + "mpty.proto\032 google/protobuf/field_mask.p" - + "roto\"\253\002\n\014LoginProfile\022\021\n\004name\030\001 \001(\tB\003\340A\002" + + "roto\"\230\002\n\014LoginProfile\022\021\n\004name\030\001 \001(\tB\003\340A\002" + "\022A\n\016posix_accounts\030\002 \003(\0132).google.cloud." + "oslogin.common.PosixAccount\022Q\n\017ssh_publi" + "c_keys\030\003 \003(\01328.google.cloud.oslogin.v1.L" - + "oginProfile.SshPublicKeysEntry\022\021\n\tsuspen" - + "ded\030\004 \001(\010\032_\n\022SshPublicKeysEntry\022\013\n\003key\030\001" - + " \001(\t\0228\n\005value\030\002 \001(\0132).google.cloud.oslog" - + "in.common.SshPublicKey:\0028\001\"V\n\031DeletePosi" - + "xAccountRequest\0229\n\004name\030\001 \001(\tB+\340A\002\372A%\n#o" - + "slogin.googleapis.com/PosixAccount\"V\n\031De" - + "leteSshPublicKeyRequest\0229\n\004name\030\001 \001(\tB+\340" - + "A\002\372A%\n#oslogin.googleapis.com/SshPublicK" - + "ey\"z\n\026GetLoginProfileRequest\0229\n\004name\030\001 \001" - + "(\tB+\340A\002\372A%\022#oslogin.googleapis.com/Posix" - + "Account\022\022\n\nproject_id\030\002 \001(\t\022\021\n\tsystem_id" - + "\030\003 \001(\t\"&\n\026GetSshPublicKeyRequest\022\014\n\004name" - + "\030\001 \001(\t\"\264\001\n\031ImportSshPublicKeyRequest\022;\n\006" - + "parent\030\001 \001(\tB+\340A\002\372A%\022#oslogin.googleapis" - + ".com/SshPublicKey\022F\n\016ssh_public_key\030\002 \001(" - + "\0132).google.cloud.oslogin.common.SshPubli" - + "cKeyB\003\340A\001\022\022\n\nproject_id\030\003 \001(\t\"Z\n\032ImportS" - + "shPublicKeyResponse\022<\n\rlogin_profile\030\001 \001" - + "(\0132%.google.cloud.oslogin.v1.LoginProfil" - + "e\"\317\001\n\031UpdateSshPublicKeyRequest\0229\n\004name\030" - + "\001 \001(\tB+\340A\002\372A%\n#oslogin.googleapis.com/Ss" - + "hPublicKey\022F\n\016ssh_public_key\030\002 \001(\0132).goo" - + "gle.cloud.oslogin.common.SshPublicKeyB\003\340" - + "A\002\022/\n\013update_mask\030\003 \001(\0132\032.google.protobu" - + "f.FieldMask2\320\t\n\016OsLoginService\022\216\001\n\022Delet" - + "ePosixAccount\0222.google.cloud.oslogin.v1." - + "DeletePosixAccountRequest\032\026.google.proto" - + "buf.Empty\",\202\323\344\223\002\037*\035/v1/{name=users/*/pro" - + "jects/*}\332A\004name\022\223\001\n\022DeleteSshPublicKey\0222" - + ".google.cloud.oslogin.v1.DeleteSshPublic" - + "KeyRequest\032\026.google.protobuf.Empty\"1\202\323\344\223" - + "\002$*\"/v1/{name=users/*/sshPublicKeys/*}\332A" - + "\004name\022\231\001\n\017GetLoginProfile\022/.google.cloud" - + ".oslogin.v1.GetLoginProfileRequest\032%.goo" - + "gle.cloud.oslogin.v1.LoginProfile\".\202\323\344\223\002" - + "!\022\037/v1/{name=users/*}/loginProfile\332A\004nam" - + "e\022\240\001\n\017GetSshPublicKey\022/.google.cloud.osl" - + "ogin.v1.GetSshPublicKeyRequest\032).google." - + "cloud.oslogin.common.SshPublicKey\"1\202\323\344\223\002" - + "$\022\"/v1/{name=users/*/sshPublicKeys/*}\332A\004" - + "name\022\371\001\n\022ImportSshPublicKey\0222.google.clo" - + "ud.oslogin.v1.ImportSshPublicKeyRequest\032" - + "3.google.cloud.oslogin.v1.ImportSshPubli" - + "cKeyResponse\"z\202\323\344\223\0029\"\'/v1/{parent=users/" - + "*}:importSshPublicKey:\016ssh_public_key\332A\025" - + "parent,ssh_public_key\332A parent,ssh_publi" - + "c_key,project_id\022\347\001\n\022UpdateSshPublicKey\022" - + "2.google.cloud.oslogin.v1.UpdateSshPubli" - + "cKeyRequest\032).google.cloud.oslogin.commo" - + "n.SshPublicKey\"r\202\323\344\223\00242\"/v1/{name=users/" - + "*/sshPublicKeys/*}:\016ssh_public_key\332A\023nam" - + "e,ssh_public_key\332A\037name,ssh_public_key,u" - + "pdate_mask\032r\312A\026oslogin.googleapis.com\322AV" - + "https://www.googleapis.com/auth/cloud-pl" - + "atform,https://www.googleapis.com/auth/c" - + "omputeB\241\001\n\033com.google.cloud.oslogin.v1B\014" - + "OsLoginProtoP\001Z>google.golang.org/genpro" - + "to/googleapis/cloud/oslogin/v1;oslogin\252\002" - + "\027Google.Cloud.OsLogin.V1\312\002\027Google\\Cloud\\" - + "OsLogin\\V1b\006proto3" + + "oginProfile.SshPublicKeysEntry\032_\n\022SshPub" + + "licKeysEntry\022\013\n\003key\030\001 \001(\t\0228\n\005value\030\002 \001(\013" + + "2).google.cloud.oslogin.common.SshPublic" + + "Key:\0028\001\"V\n\031DeletePosixAccountRequest\0229\n\004" + + "name\030\001 \001(\tB+\340A\002\372A%\n#oslogin.googleapis.c" + + "om/PosixAccount\"V\n\031DeleteSshPublicKeyReq" + + "uest\0229\n\004name\030\001 \001(\tB+\340A\002\372A%\n#oslogin.goog" + + "leapis.com/SshPublicKey\"z\n\026GetLoginProfi" + + "leRequest\0229\n\004name\030\001 \001(\tB+\340A\002\372A%\022#oslogin" + + ".googleapis.com/PosixAccount\022\022\n\nproject_" + + "id\030\002 \001(\t\022\021\n\tsystem_id\030\003 \001(\t\"S\n\026GetSshPub" + + "licKeyRequest\0229\n\004name\030\001 \001(\tB+\340A\002\372A%\n#osl" + + "ogin.googleapis.com/SshPublicKey\"\264\001\n\031Imp" + + "ortSshPublicKeyRequest\022;\n\006parent\030\001 \001(\tB+" + + "\340A\002\372A%\022#oslogin.googleapis.com/SshPublic" + + "Key\022F\n\016ssh_public_key\030\002 \001(\0132).google.clo" + + "ud.oslogin.common.SshPublicKeyB\003\340A\001\022\022\n\np" + + "roject_id\030\003 \001(\t\"Z\n\032ImportSshPublicKeyRes" + + "ponse\022<\n\rlogin_profile\030\001 \001(\0132%.google.cl" + + "oud.oslogin.v1.LoginProfile\"\317\001\n\031UpdateSs" + + "hPublicKeyRequest\0229\n\004name\030\001 \001(\tB+\340A\002\372A%\n" + + "#oslogin.googleapis.com/SshPublicKey\022F\n\016" + + "ssh_public_key\030\002 \001(\0132).google.cloud.oslo" + + "gin.common.SshPublicKeyB\003\340A\002\022/\n\013update_m" + + "ask\030\003 \001(\0132\032.google.protobuf.FieldMask2\320\t" + + "\n\016OsLoginService\022\216\001\n\022DeletePosixAccount\022" + + "2.google.cloud.oslogin.v1.DeletePosixAcc" + + "ountRequest\032\026.google.protobuf.Empty\",\202\323\344" + + "\223\002\037*\035/v1/{name=users/*/projects/*}\332A\004nam" + + "e\022\223\001\n\022DeleteSshPublicKey\0222.google.cloud." + + "oslogin.v1.DeleteSshPublicKeyRequest\032\026.g" + + "oogle.protobuf.Empty\"1\202\323\344\223\002$*\"/v1/{name=" + + "users/*/sshPublicKeys/*}\332A\004name\022\231\001\n\017GetL" + + "oginProfile\022/.google.cloud.oslogin.v1.Ge" + + "tLoginProfileRequest\032%.google.cloud.oslo" + + "gin.v1.LoginProfile\".\202\323\344\223\002!\022\037/v1/{name=u" + + "sers/*}/loginProfile\332A\004name\022\240\001\n\017GetSshPu" + + "blicKey\022/.google.cloud.oslogin.v1.GetSsh" + + "PublicKeyRequest\032).google.cloud.oslogin." + + "common.SshPublicKey\"1\202\323\344\223\002$\022\"/v1/{name=u" + + "sers/*/sshPublicKeys/*}\332A\004name\022\371\001\n\022Impor" + + "tSshPublicKey\0222.google.cloud.oslogin.v1." + + "ImportSshPublicKeyRequest\0323.google.cloud" + + ".oslogin.v1.ImportSshPublicKeyResponse\"z" + + "\202\323\344\223\0029\"\'/v1/{parent=users/*}:importSshPu" + + "blicKey:\016ssh_public_key\332A\025parent,ssh_pub" + + "lic_key\332A parent,ssh_public_key,project_" + + "id\022\347\001\n\022UpdateSshPublicKey\0222.google.cloud" + + ".oslogin.v1.UpdateSshPublicKeyRequest\032)." + + "google.cloud.oslogin.common.SshPublicKey" + + "\"r\202\323\344\223\00242\"/v1/{name=users/*/sshPublicKey" + + "s/*}:\016ssh_public_key\332A\023name,ssh_public_k" + + "ey\332A\037name,ssh_public_key,update_mask\032r\312A" + + "\026oslogin.googleapis.com\322AVhttps://www.go" + + "ogleapis.com/auth/cloud-platform,https:/" + + "/www.googleapis.com/auth/computeB\241\001\n\033com" + + ".google.cloud.oslogin.v1B\014OsLoginProtoP\001" + + "Z>google.golang.org/genproto/googleapis/" + + "cloud/oslogin/v1;oslogin\252\002\027Google.Cloud." + + "OsLogin.V1\312\002\027Google\\Cloud\\OsLogin\\V1b\006pr" + + "oto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -155,7 +171,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_oslogin_v1_LoginProfile_descriptor, new java.lang.String[] { - "Name", "PosixAccounts", "SshPublicKeys", "Suspended", + "Name", "PosixAccounts", "SshPublicKeys", }); internal_static_google_cloud_oslogin_v1_LoginProfile_SshPublicKeysEntry_descriptor = internal_static_google_cloud_oslogin_v1_LoginProfile_descriptor.getNestedTypes().get(0); diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ProjectName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ProjectName.java index df9f430e..01634945 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ProjectName.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/ProjectName.java @@ -1,15 +1,17 @@ /* - * Copyright 2018 Google LLC + * Copyright 2019 Google LLC * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.google.cloud.oslogin.v1; diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequest.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequest.java index db4c7d4f..958f240e 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequest.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequest.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequestOrBuilder.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequestOrBuilder.java index 9a91fae0..1578589d 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequestOrBuilder.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UpdateSshPublicKeyRequestOrBuilder.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/cloud/oslogin/v1/oslogin.proto diff --git a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UserName.java b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UserName.java index 9b484e7f..77ffa7ea 100644 --- a/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UserName.java +++ b/proto-google-cloud-os-login-v1/src/main/java/com/google/cloud/oslogin/v1/UserName.java @@ -1,15 +1,17 @@ /* - * Copyright 2018 Google LLC + * Copyright 2019 Google LLC * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.google.cloud.oslogin.v1; diff --git a/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/common/common.proto b/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/common/common.proto index 854a8115..f48b3a15 100644 --- a/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/common/common.proto +++ b/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/common/common.proto @@ -11,6 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +// syntax = "proto3"; @@ -101,3 +102,9 @@ message SshPublicKey { // Output only. The canonical resource name. string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } + +// Define a "User" resource owned by OS Login. +option (google.api.resource_definition) = { + type: "oslogin.googleapis.com/User" + pattern: "users/{user}" +}; diff --git a/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/v1/oslogin.proto b/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/v1/oslogin.proto index d5b771bf..75d7c060 100644 --- a/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/v1/oslogin.proto +++ b/proto-google-cloud-os-login-v1/src/main/proto/google/cloud/oslogin/v1/oslogin.proto @@ -11,6 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +// syntax = "proto3"; @@ -109,10 +110,6 @@ message LoginProfile { // A map from SSH public key fingerprint to the associated key object. map ssh_public_keys = 3; - - // Indicates if the user is suspended. A suspended user cannot log in but - // their profile information is retained. - bool suspended = 4; } // A request message for deleting a POSIX account entry. @@ -160,10 +157,15 @@ message GetLoginProfileRequest { // A request message for retrieving an SSH public key. message GetSshPublicKeyRequest { - // The fingerprint of the public key to retrieve. Public keys are identified + // Required. The fingerprint of the public key to retrieve. Public keys are identified // by their SHA-256 fingerprint. The fingerprint of the public key is in // format `users/{user}/sshPublicKeys/{fingerprint}`. - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "oslogin.googleapis.com/SshPublicKey" + } + ]; } // A request message for importing an SSH public key. diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..99810470 --- /dev/null +++ b/renovate.json @@ -0,0 +1,27 @@ +{ + "extends": [ + "config:base" + ], + "ignoreDeps": [], + "packageRules": [ + { + "managers": ["maven"], + "packageNames": ["com.google.guava:guava*"], + "versionScheme": "docker" + }, + { + "packagePatterns": ["^io.grpc:grpc-"], + "groupName": "gRPC packages" + }, + { + "packagePatterns": ["^com.google.protobuf:protobuf-"], + "groupName": "Protobuf packages" + }, + { + "packagePatterns": ["^io.opencensus:opencensus-"], + "groupName": "OpenCensus packages" + } + ], + "semanticCommits": true, + "semanticCommitType": "deps" +} diff --git a/google-cloud-os-login/synth.metadata b/synth.metadata similarity index 100% rename from google-cloud-os-login/synth.metadata rename to synth.metadata diff --git a/google-cloud-os-login/synth.py b/synth.py similarity index 55% rename from google-cloud-os-login/synth.py rename to synth.py index 987801c8..6f048c75 100644 --- a/google-cloud-os-login/synth.py +++ b/synth.py @@ -31,10 +31,25 @@ config_path=config_pattern.format(version=version), artman_output_name='') - s.copy(library / f'gapic-google-cloud-{service}-{version}/src', 'src') - s.copy(library / f'grpc-google-cloud-{service}-{version}/src', f'../../google-api-grpc/grpc-google-cloud-{service}-{version}/src') - s.copy(library / f'proto-google-cloud-{service}-{version}/src', f'../../google-api-grpc/proto-google-cloud-{service}-{version}/src') + package_name = f'com.google.cloud.oslogin.{version}' + java.fix_proto_headers(library / f'proto-google-cloud-{service}-{version}') + java.fix_grpc_headers(library / f'grpc-google-cloud-{service}-{version}', package_name) - java.format_code('./src') - java.format_code(f'../../google-api-grpc/grpc-google-cloud-{service}-{version}/src') - java.format_code(f'../../google-api-grpc/proto-google-cloud-{service}-{version}/src') + s.copy(library / f'gapic-google-cloud-{service}-{version}/src', f'google-cloud-{service}/src') + s.copy(library / f'grpc-google-cloud-{service}-{version}/src', f'grpc-google-cloud-{service}-{version}/src') + s.copy(library / f'proto-google-cloud-{service}-{version}/src', f'proto-google-cloud-{service}-{version}/src') + + s.replace('**/OsLoginServiceClient.java', 'PosixAccountName', 'ProjectName') + s.replace('**/OsLoginServiceClient.java', 'SshPublicKeyName', 'FingerprintName') + s.replace('**/OsLoginServiceClientTest.java', 'PosixAccountName', 'ProjectName') + s.replace('**/OsLoginServiceClientTest.java', 'SshPublicKeyName', 'FingerprintName') + + java.format_code(f'google-cloud-{service}/src') + java.format_code(f'grpc-google-cloud-{service}-{version}/src') + java.format_code(f'proto-google-cloud-{service}-{version}/src') + +common_templates = gcp.CommonTemplates() +templates = common_templates.java_library() +s.copy(templates, excludes=[ + 'README.md', +]) \ No newline at end of file diff --git a/versions.txt b/versions.txt new file mode 100644 index 00000000..4bffa11b --- /dev/null +++ b/versions.txt @@ -0,0 +1,6 @@ +# Format: +# module:released-version:current-version + +proto-google-cloud-os-login-v1:0.81.1-SNAPSHOT:0.81.1-SNAPSHOT +grpc-google-cloud-os-login-v1:0.81.1-SNAPSHOT:0.81.1-SNAPSHOT +google-cloud-os-login:0.116.1-alpha-SNAPSHOT:0.116.1-alpha-SNAPSHOT \ No newline at end of file