{"id":13840189,"url":"https://github.com/getporter/gcloud-mixin","last_synced_at":"2025-07-28T01:33:07.035Z","repository":{"id":43292801,"uuid":"200426655","full_name":"getporter/gcloud-mixin","owner":"getporter","description":"Porter mixin for the gcloud CLI ","archived":false,"fork":false,"pushed_at":"2025-05-29T20:37:33.000Z","size":2721,"stargazers_count":4,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-29T21:35:00.360Z","etag":null,"topics":["gcloud","google","mixin","porter"],"latest_commit_sha":null,"homepage":"https://getporter.org/mixins/gcloud","language":"Go","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/getporter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-08-03T22:32:42.000Z","updated_at":"2025-05-29T20:34:13.000Z","dependencies_parsed_at":"2024-01-20T21:48:53.946Z","dependency_job_id":"1911f853-a8f2-4dc6-91fa-6a54b092fcb7","html_url":"https://github.com/getporter/gcloud-mixin","commit_stats":{"total_commits":48,"total_committers":5,"mean_commits":9.6,"dds":0.3125,"last_synced_commit":"9a632da751936a7f4b7a4af57a51e8367cdd0335"},"previous_names":["deislabs/porter-gcloud"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/getporter/gcloud-mixin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getporter%2Fgcloud-mixin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getporter%2Fgcloud-mixin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getporter%2Fgcloud-mixin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getporter%2Fgcloud-mixin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getporter","download_url":"https://codeload.github.com/getporter/gcloud-mixin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getporter%2Fgcloud-mixin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267451073,"owners_count":24089291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["gcloud","google","mixin","porter"],"created_at":"2024-08-04T17:00:43.350Z","updated_at":"2025-07-28T01:33:06.769Z","avatar_url":"https://github.com/getporter.png","language":"Go","funding_links":[],"categories":["Implementations"],"sub_categories":["Porter"],"readme":"# gcloud CLI Mixin for Porter\n\nThis is a mixin for Porter that provides the gcloud CLI.\n\n[![porter/gcloud-mixin](https://github.com/getporter/gcloud-mixin/actions/workflows/gcloud-mixin.yml/badge.svg)](https://github.com/getporter/gcloud-mixin/actions/workflows/gcloud-mixin.yml)\n\n\u003cimg src=\"https://porter.sh/images/mixins/google.png\" align=\"right\" width=\"150px\"/\u003e\n\n## Mixin Syntax\n\nSee the [gcloud CLI Command Reference](https://cloud.google.com/sdk/gcloud/reference/) for the supported commands\n\n```yaml\ngcloud:\n  description: \"Description of the command\"\n  groups: GROUP\n  command: COMMAND\n  arguments:\n  - arg1\n  - arg2\n  flags:\n    FLAGNAME: FLAGVALUE\n    REPEATED_FLAG:\n    - FLAGVALUE1\n    - FLAGVALUE2\n  suppress-output: false\n  outputs:\n    - name: NAME\n      jsonPath: JSONPATH\n```\n\nYou can also specify a list of `groups`:\n\n```yaml\ngcloud:\n  description: \"Description of the command\"\n  groups:\n  - GROUP 1\n  - GROUP 2\n  command: COMMAND\n```\n\n### Suppress Output\n\nThe `suppress-output` field controls whether output from the mixin should be\nprevented from printing to the console. By default this value is false, using\nPorter's default behavior of hiding known sensitive values. When \n`suppress-output: true` all output from the mixin (stderr and stdout) are hidden.\n\nStep outputs (below) are still collected when output is suppressed. This allows\nyou to prevent sensitive data from being exposed while still collecting it from\na command and using it in your bundle.\n\n### Outputs\n\nThe mixin supports `jsonpath` outputs.\n\n\n#### JSON Path\n\nThe `jsonPath` output treats stdout like a json document and applies the expression, saving the result to the output.\n\n```yaml\noutputs:\n- name: NAME\n  jsonPath: JSONPATH\n```\n\nFor example, if the `jsonPath` expression was `$[*].id` and the command sent the following to stdout: \n\n```json\n[\n  {\n    \"id\": \"1085517466897181794\",\n    \"name\": \"my-vm\"\n  }\n]\n```\n\nThen then output would have the following contents:\n\n```json\n[\"1085517466897181794\"]\n```\n\n---\n\n## Examples\n\n### Authenticate\n\n```yaml\ngcloud:\n  description: \"Authenticate\"\n  groups:\n    - auth\n  command: activate-service-account\n  flags:\n    key-file: gcloud.json\n```\n\n### Provision a VM\n\n```yaml\ngcloud:\n  description: \"Create VM\"\n  groups:\n    - compute\n    - instances\n  command: create\n  arguments:\n    - porter-test\n  flags:\n    project: porterci\n    zone: us-central1-a\n    machine-type: f1-micro\n    image: debian-9-stretch-v20190729\n    image-project: debian-cloud\n    boot-disk-size: 10GB\n    boot-disk-type: pd-standard\n    boot-disk-device-name: porter-test\n  outputs:\n    - name: vms\n      jsonPath: \"$[*].id\"\n```\n\n### Configure SSH Keys\n\n```yaml\ngcloud:\n  description: \"Configure SSH\"\n  groups: compute\n  command: config-ssh\n  flags:\n    ssh-config-file: ./gce-ssh-config\n    ssh-key-file: ./gce-ssh-key\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetporter%2Fgcloud-mixin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetporter%2Fgcloud-mixin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetporter%2Fgcloud-mixin/lists"}