{"id":13879786,"url":"https://github.com/googleapis/google-cloud-ruby","last_synced_at":"2026-04-14T20:09:46.832Z","repository":{"id":17540776,"uuid":"20343475","full_name":"googleapis/google-cloud-ruby","owner":"googleapis","description":"Google Cloud Client Library for Ruby","archived":false,"fork":false,"pushed_at":"2026-04-14T02:22:26.000Z","size":321860,"stargazers_count":1407,"open_issues_count":131,"forks_count":567,"subscribers_count":116,"default_branch":"main","last_synced_at":"2026-04-14T03:09:36.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://googleapis.github.io/google-cloud-ruby/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleapis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-05-30T21:47:14.000Z","updated_at":"2026-04-13T22:09:10.000Z","dependencies_parsed_at":"2026-03-14T10:03:15.213Z","dependency_job_id":"d164ae1e-057a-4f6d-b6fb-afe6f8dad46f","html_url":"https://github.com/googleapis/google-cloud-ruby","commit_stats":{"total_commits":21970,"total_committers":195,"mean_commits":"112.66666666666667","dds":0.7171597633136095,"last_synced_commit":"b4e22882005fe7d5337bb620739c343fe08c15e5"},"previous_names":["googlecloudplatform/google-cloud-ruby"],"tags_count":12648,"template":false,"template_full_name":null,"purl":"pkg:github/googleapis/google-cloud-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogle-cloud-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogle-cloud-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogle-cloud-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogle-cloud-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleapis","download_url":"https://codeload.github.com/googleapis/google-cloud-ruby/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogle-cloud-ruby/sbom","scorecard":{"id":58151,"data":{"date":"2025-08-11","repo":{"name":"github.com/googleapis/google-cloud-ruby","commit":"3ab7b6cb3e89018fa4730b3646927e2be945faf8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":7,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:30","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:29","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-please-now.yml:19","Info: jobLevel 'packages' permission set to 'read': .github/workflows/release-please-now.yml:20","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-pr.yml:20","Info: jobLevel 'packages' permission set to 'read': .github/workflows/update-pr.yml:21","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/update-pr.yml:22","Warn: no topLevel permission defined: .github/workflows/bump-version.yml:1","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Warn: no topLevel permission defined: .github/workflows/conformance.yaml:1","Warn: no topLevel permission defined: .github/workflows/delete-library.yml:1","Warn: no topLevel permission defined: .github/workflows/new-library.yml:1","Warn: no topLevel permission defined: .github/workflows/owlbot.yml:1","Warn: no topLevel permission defined: .github/workflows/release-please-now.yml:1","Warn: no topLevel permission defined: .github/workflows/storage-retry-conformance-test-against-emulator.yaml:1","Warn: no topLevel permission defined: .github/workflows/tombstone-library.yml:1","Warn: no topLevel permission defined: .github/workflows/update-pr.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/bump-version.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/bump-version.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/bump-version.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/bump-version.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/conformance.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/conformance.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/conformance.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/conformance.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/conformance.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/conformance.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/delete-library.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/delete-library.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/delete-library.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/delete-library.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/new-library.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/new-library.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/new-library.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/new-library.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/new-library.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/new-library.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/owlbot.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/owlbot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/owlbot.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/owlbot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/owlbot.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/owlbot.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-please-now.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/release-please-now.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please-now.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/release-please-now.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/storage-retry-conformance-test-against-emulator.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/storage-retry-conformance-test-against-emulator.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/storage-retry-conformance-test-against-emulator.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/storage-retry-conformance-test-against-emulator.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tombstone-library.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/tombstone-library.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tombstone-library.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/tombstone-library.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-pr.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/update-pr.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-pr.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/googleapis/google-cloud-ruby/update-pr.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:65","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-15T01:09:56.551Z","repository_id":17540776,"created_at":"2025-08-15T01:09:56.551Z","updated_at":"2025-08-15T01:09:56.551Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31782864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-06T08:02:33.169Z","updated_at":"2026-04-14T20:09:46.788Z","avatar_url":"https://github.com/googleapis.png","language":"Ruby","funding_links":[],"categories":["Ruby","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Google Cloud Ruby Clients\n\nIdiomatic Ruby client libraries for\n[Google Cloud Platform](https://cloud.google.com/) APIs.\n\n* [Homepage](https://github.com/googleapis/google-cloud-ruby/)\n* [Reference documentation](https://cloud.google.com/ruby/docs/reference)\n\nThis repository includes client libraries for Google Cloud Platform services,\nalong with a selected set of Google services unrelated to the cloud platform.\n\n## What's here\n\n### Client library gems\n\nMost directories each correspond to a client library RubyGem, including its\ncode, tests, gemspec, and documentation. Some client libraries also include\nhandwritten samples in the `samples` directory, and/or autogenerated samples\nin the `snippets` directory.\n\nMost client libraries in this repository are automatically generated by the\n[GAPIC Generator](https://github.com/googleapis/gapic-generator-ruby). A small\nnumber are written and maintained by hand. You can identify a generated client\nlibrary by the presence of `.OwlBot.yaml` in the library directory. For the\nmost part, do not try to edit generated libraries by hand, because changes will\nbe overwritten by the code generator.\n\n### Other directories\n\nA few directories include support files, including:\n\n*   `.github` includes configuration for GitHub Actions and bots that help to\n    maintain this repository.\n*   `.kokoro` includes configuration for internal Google processes that help to\n    maintain this repository.\n*   `.toys` includes scripts for running CI, releases, and maintenance tasks.\n*   `acceptance` and `integration` include shared fixtures for acceptance tests.\n*   `obsolete` contains older libraries that are obsolete and no longer\n    maintained.\n\n### GitHub facilities\n\nIssues for client libraries hosted here can be filed in the\n[issues tab](https://github.com/googleapis/google-cloud-ruby/issues). However,\nthis is not an official support channel. If you have support questions, file a\nsupport request through the normal Google support channels, or post questions\non a forum such as StackOverflow.\n\n[Pull requests](https://github.com/googleapis/google-cloud-ruby/pulls) are\nwelcome. Please see the section below on [contributing](#contributing).\n\nSome maintenance tasks can be run in the\n[actions tab](https://github.com/googleapis/google-cloud-ruby/actions) by\nauthorized personnel.\n\n## Using the client libraries\n\nThese client library RubyGems each include classes and methods that can be used\nto make authenticated calls to specific Google APIs. Some libraries also\ninclude additional convenience code implementing common client-side workflows\nor best practices.\n\nIn general, you can expect to:\n\n1.  [Activate access](#activating-the-api) to the API by creating a project on\n    the [Google Cloud Console](https://console.cloud.google.com), enabling\n    billing if necessary, and enabling the API.\n\n2.  [Choose a library](#choosing-a-client-library) and install it, typically by\n    adding it to your [bundle](https://bundler.io). For example, here is how\n    you might add a the Translation service client to your Gemfile:\n\n    ```ruby\n    # Gemfile\n\n    # ... previous libraries ...\n    gem \"google-cloud-translate\", \"~\u003e 3.2\"\n    ```\n\n3.  Instantiate a client object. This object represents an authenticated\n    connection to the service. For example, here is how you might create a\n    client for the translation service:\n\n    ```ruby\n    require \"google/cloud/translate\"\n\n    translation_client = Google::Cloud::Translate.translation_service\n    ```\n\n    Depending on your environment and authentication needs, you might need to\n    [provide credentials](#authentication) to the client object.\n\n4.  Make API calls by invoking methods on the client. For example, here is how\n    you might translate a phrase:\n\n    ```ruby\n    result = translation_client.translate_text contents: [\"Hello, world!\"],\n                                               mime_type: \"text/plain\",\n                                               source_language_code: \"en-US\",\n                                               target_language_code: \"ja-JP\",\n                                               parent: \"projects/my-project-name\"\n    puts result.translations.first.translated_text\n    # =\u003e \"こんにちは世界！\"\n    ```\n\n### Activating the API\n\nTo access a Google Cloud API, you will generally need to activate it in the\ncloud console. This typically involves three steps:\n\n1.  If you have not created a\n    [Google Cloud Project](https://cloud.google.com/docs/overview#projects), do\n    so. Point your browser to the\n    [Google Cloud Console](https://console.cloud.google.com), sign up if\n    needed, and create or choose a project. Make note of the project number\n    (which is numeric) or project ID (which is usually three or more words\n    separated by hyphens). Many services will require you to pass that\n    information in when calling an API.\n\n2.  For most services, you will need to provide billing information. If this is\n    your first time using Google Cloud Platform, you may be eligible for a free\n    trial.\n\n3.  Enable the API you want to use. Click the \"APIs \u0026 Services\" tab in the left\n    navigation, then click the \"Enable APIs and Services\" button near the top.\n    Search for the API you want by name, and click \"Enable\". A few APIs may be\n    enabled automatically for you, but most APIs need to be enabled explicitly.\n\nOnce you have a project set up and have enabled an API, you are ready to begin\nusing a client library to call the API.\n\n### Choosing a client library\n\nThis repository contains two types of API client RubyGems: the _main library_\nfor the API (e.g. the [`google-cloud-translate`](google-cloud-translate) gem\nfor the Translation service), and one ore more _versioned libraries_ for\ndifferent versions of the service (e.g.\n[`google-cloud-translate-v2`](google-cloud-translate-v2) and\n[`google-cloud-translate-v3`](google-cloud-translate-v3) for versions 2 and 3\nof the service, respectively). Note that we're referring to different versions\nof the _backend service_, not of the client library gem.\n\nIn most cases, you should install the _main library_ (the one without a service\nversion in the name). This library will provide all the required code for making\ncalls to the API. It may also provide additional convenience code implementing\ncommon client-side workflows or best practices. Often the main library will\nbring in one or more versioned libraries as dependencies, and the client and\ndata type classes you will use may actually be defined in a versioned library,\nbut installing the main library will ensure you have access to the best tools\nand interfaces for interacting with the service.\n\nThe _versioned libraries_ are lower-level libraries that target a specific\nversion of the service. You may choose to intall a versioned library directly,\ninstead of or in addition to the main library, to handle advanced use cases that\nrequire lower level access.\n\nNote: Many services may also provide client libraries with names beginning with\n`google-apis-`. Those clients are developed in a\n[different repository](https://github.com/googleapis/google-api-ruby-client),\nand utilize an older client technology that lacks some of the performance and\nease of use benefits of the clients in the google-cloud-ruby repository. The\nolder clients may cover some services for which a google-cloud-ruby client is\nnot yet available, but for services that are covered, we generally recommend\nthe clients in the google-cloud-ruby repository over the older ones.\n\nMost client libraries have directories in this repository, or you can look up\nthe name of the client library to use in the documentation for the service you\nare using. Install this library as a RubyGem, or add it to your Gemfile.\n\n### Authentication\n\nMost API calls must be accompanied by authentication information proving that\nthe caller has sufficient permissions to make the call.\n\nThese API client libraries provide several mechanisms for attaching credentials\nto API calls.\n\n*   If your application runs on an Google Cloud Platform hosting environment\n    such as Google Compute Engine, Google Container Engine, Google App Engine,\n    Google Cloud Run, or Google Cloud Functions, the environment will provide\n    \"ambient\" credentials which client libraries will recognize and use\n    automatically. You can generally configure these credentials in the hosting\n    environment, for example per-VM in Google Compute Engine.\n\n*   You can also provide your own service account credentials by including a\n    service account key file in your application's file system and setting the\n    environment variable `GOOGLE_APPLICATION_CREDENTIALS` to the path to that\n    file. Client libraries will read this environment variable if it is set.\n\n*   Finally, you can override credentials in code by setting the `credentials`\n    field in the client configuration. This can be set globally on the client\n    class or provided when you construct a client object.\n\nFor more information, see the authentication documentation for the\nclient library you are using, or the\n[Cloud authentication documentation](https://cloud.google.com/docs/authentication).\n\n## Supported Ruby Versions\n\nThese libraries are currently supported on Ruby 2.6 through Ruby 3.1. Older\nversions of Ruby _may_ still work, but are unsupported and not recommended.\n\nIn general, Google provides official support for Ruby versions that are actively\nsupported by Ruby Core--that is, Ruby versions that are either in normal\nmaintenance or in security maintenance, and not end of life. See\nhttps://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby\nsupport schedule.\n\n## Library Versioning\n\nThe libraries in this repository follow [Semantic Versioning](https://semver.org/).\n\nLibraries are released at one of two different support quality levels:\n\n**GA**: Libraries defined at the GA (general availability) quality level,\nindicated by a gem version number greater than or equal to 1.0, are stable. The\ncode surface will not change in backwards-incompatible ways unless absolutely\nnecessary (e.g. because of critical security issues), or unless accompanying a\nsemver-major version update (such as version 1.x to 2.x.) Issues and requests\nagainst GA libraries are addressed with the highest priority.\n\n**Preview**: Libraries defined at a Preview quality level, indicated by a gem\nversion number less than 1.0, are expected to be mostly stable and we're\nworking towards their release candidate. However, these libraries may get\nbackwards-incompatible updates from time to time. We will still address issues\nand requests with a high priority.\n\nNote that the _gem version_ is distinct from the _service version_. Some backend\nservices have mulitple versions, for example versions\n[v2](https://cloud.google.com/translate/docs/reference/rpc/google.cloud.translate.v2)\nand [v3](https://cloud.google.com/translate/docs/reference/rpc/google.cloud.translation.v3)\nof the translation service. These are treated as _separate services_ and will\nhave _separate versioned clients_, e.g. the `google-cloud-translate-v2` and\n`google-cloud-translate-v3` gems. These gems will in turn have their own gem\nversions, tracking the development of the two services.\n\n## Contributing\n\nContributions to this repository are welcome. However, please note that many of\nthe clients in this repository are automatically generated. The Ruby files in\nthose clients will have a comment to that effect near the top; changes to those\nfiles will not be accepted as they will simply be overwritten by the code\ngenerator. If in doubt, please open an issue and ask the maintainers. See the\n[CONTRIBUTING](.github/CONTRIBUTING.md) document for more information on how to\nget started.\n\nPlease note that this project is released with a Contributor Code of Conduct.\nBy participating in this project you agree to abide by its terms. See\n[Code of Conduct](CODE_OF_CONDUCT.md) for more information.\n\n## License\n\nThis library is licensed under Apache 2.0. Full license text is\navailable in [LICENSE](LICENSE).\n\n## Support\n\nPlease [report bugs at the project on Github](https://github.com/googleapis/google-cloud-ruby/issues).\n\nIf you have questions about how to use the clients or APIs, ask on\n[Stack Overflow](http://stackoverflow.com/questions/tagged/google-cloud-platform+ruby).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgoogle-cloud-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleapis%2Fgoogle-cloud-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgoogle-cloud-ruby/lists"}