{"id":22914154,"url":"https://github.com/suse/terraform-provider-susepubliccloud","last_synced_at":"2025-05-12T13:43:23.114Z","repository":{"id":57548559,"uuid":"200004355","full_name":"SUSE/terraform-provider-susepubliccloud","owner":"SUSE","description":"A terraform provider that makes it easy to find the resources managed by SUSE inside of different public clouds","archived":false,"fork":false,"pushed_at":"2025-05-07T09:19:26.000Z","size":12626,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-07T10:28:43.496Z","etag":null,"topics":["aws","azure","cloud","gce","oracle-cloud","suse","terraform-provider"],"latest_commit_sha":null,"homepage":null,"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/SUSE.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-08-01T07:53:55.000Z","updated_at":"2025-05-07T09:19:23.000Z","dependencies_parsed_at":"2023-12-19T12:25:00.005Z","dependency_job_id":"5313e841-29d6-46a7-ade7-42c485055220","html_url":"https://github.com/SUSE/terraform-provider-susepubliccloud","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fterraform-provider-susepubliccloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fterraform-provider-susepubliccloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fterraform-provider-susepubliccloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fterraform-provider-susepubliccloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SUSE","download_url":"https://codeload.github.com/SUSE/terraform-provider-susepubliccloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253749516,"owners_count":21958140,"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","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":["aws","azure","cloud","gce","oracle-cloud","suse","terraform-provider"],"created_at":"2024-12-14T05:13:30.988Z","updated_at":"2025-05-12T13:43:23.068Z","avatar_url":"https://github.com/SUSE.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"| Go Report                                                                                                                                | Unit tests                                                                          | License |\n|------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|---------|\n| [![Go Report Card](https://goreportcard.com/badge/github.com/SUSE/terraform-provider-susepubliccloud)](https://goreportcard.com/report/github.com/SUSE/terraform-provider-susepubliccloud) | [![tests](https://github.com/SUSE/terraform-provider-susepubliccloud/workflows/tests/badge.svg?branch=master)](https://github.com/SUSE/terraform-provider-susepubliccloud/actions?query=workflow%3Atests+branch%3Amaster) | [![License: Apache 2.0](https://img.shields.io/badge/License-Apache2.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0) |\n\nThe purpose of this project is to define a set of [data sources](https://www.terraform.io/docs/configuration/data-sources.html)\nthat make it easier to find the resources managed by SUSE on the different public clouds.\n\nThe provider gathers data by accessing the public instance of\n[public-cloud-info-service](https://github.com/SUSE-Enceladus/public-cloud-info-service)\nmanaged by SUSE.\n\nYou can find more information about the resources managed by SUSE on the public clouds\nhere:\n\n* [Blog post](https://www.suse.com/c/riddle-me-this/)\n* [Offical cli tool](https://github.com/SUSE-Enceladus/public-cloud-info-client)\n\n## Using the Provider\n\n### Data source `susepubliccloud_image_ids`\n\nUse this data source to get a list of image IDs matching\nthe specified criteria.\n\nExample use:\n\n```hcl\ndata \"susepubliccloud_image_ids\" \"sles\" {\n  cloud      = \"amazon\"\n  region     = \"eu-central-1\"\n  state      = \"active\"\n  name_regex = \"suse-sles-15-sp1-byos.*-hvm-ssd-x86_64\"\n}\n\nresource \"aws_instance\" \"control_plane\" {\n  ami = \"${data.susepubliccloud_image_ids.sles.ids[0]}\"\n  ...\n}\n```\n\n#### Argument reference\n\n* `cloud` - (Required) Name of the target cloud to use. Valid values: `amazon`,\n  `google`, `microsoft` and `oracle`.\n* `region` - (Required) One of the known regions in the cloud framework. Use the\n  region identifiers as the provider describes them, for example `us-east-1` in\n  Amazon EC2, or `East US 2` in Microsoft Azure.\n* `state` - (Defaults to `active`) State of the image. Valid values:\n  `active`, `inactive`, `deprecated`. Note well: the `deleted` state isn't\n  accepted by the data source because these images would not be usable by\n  terraform.\n* `name_regex` - (Optional) A regex string to apply to the images list returned\n  by the remote API managed by SUSE.\n* `sort_ascending` - (Defaults to `false`) Used to sort by publication time.\n\n**Note well:** the values accepted by `cloud`, `region` and `state` are the ones\nspecified [here](https://github.com/SUSE-Enceladus/public-cloud-info-service#server-design).\n\n#### Attributes reference\n\n`ids` is set to the list of images IDs, sorted by publication time according to\n`sort_ascending`.\n\n## Installing the Provider\n\nThis provider is published on the official [terraform registry](https://registry.terraform.io/providers/SUSE/susepubliccloud/latest), that makes\nthe provider installable by terraform. This is definitely the easiest way to go.\n\nYou can find more information about that by clicking on the \"USE PROVIDER\" button on the [terraform registry page](https://registry.terraform.io/providers/SUSE/susepubliccloud/latest).\n\n### RPM packages\n\nopenSUSE and SUSE packages are being built inside of the\n[systemsmanagement:terraform terraform-provider-susepubliccloud](https://build.opensuse.org/package/show/systemsmanagement:terraform/terraform-provider-susepubliccloud)\nproject on the [Open Build Service](https://build.opensuse.org/).\n\nThe packages can be installed by visiting the [dedicated page](https://software.opensuse.org/package/terraform-provider-susepubliccloud?search_term=terraform-provider-susepubliccloud)\non [software.opensuse.org](https://software.opensuse.org).\n\n## Developing the Provider\n\nIf you wish to work on the provider, you'll need:\n\n* [Terraform](https://www.terraform.io/downloads.html) 0.10+\n* [Go](https://golang.org/doc/install) 1.12 (to build the provider plugin)\n\n*Note:* This project uses [Go Modules](https://blog.golang.org/using-go-modules) making it safe to work with it outside of your existing [GOPATH](http://golang.org/doc/code.html#GOPATH). The instructions that follow assume a directory in your home directory outside of the standard GOPATH (i.e `$HOME/development/terraform-providers/`).\n\nClone repository to: `$HOME/development/terraform-providers/`\n\n```sh\n$ mkdir -p $HOME/development/terraform-providers/; cd $HOME/development/terraform-providers/\n$ git clone git@github.com:SUSE/terraform-provider-susepubliccloud\n...\n```\n\nTo compile the provider execute the following command:\n\n```sh\n$ make build\n```\n\nThis will produce the `terraform-provider-susepubliccloud` binary that can be\ncopied to your `~/.terraform.d/plugins/\u003cGOOS\u003e_\u003cGOARCH\u003e` directory.\n\nMore instructions about how to instead use a custom-built provider in your\nTerraform environment can be found\n[here](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin).\n\n### Testing\n\nUnit tests can be run via:\n\n```sh\n$ make test\n```\n\nUnit test coverage can be seen by executing:\n\n```sh\n$ make test-coverage\n```\n\nCode can be linted via:\n\n```sh\n$ make lint\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuse%2Fterraform-provider-susepubliccloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuse%2Fterraform-provider-susepubliccloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuse%2Fterraform-provider-susepubliccloud/lists"}