ππ Thank you for taking the time to contribute! ππ
This template repository exists to help you create Terraform modules for IBM Cloud.
The default structure includes the following files:
README.md
: A description of the modulemain.tf
: The logic for the moduleversion.tf
: The required terraform and provider versionsvariables.tf
: The input variables for the moduleoutputs.tf
: The values that are output from the module
You can add other content to support what your module does and how it works. For example, you might add a scripts/
directory that contains shell scripts that are run by a local-exec
null_resource
in the Terraform module.
Follow this process to create and submit a Terraform module.
Create a new repository from this repository template by clicking Use this template
in the GitHub UI (top right). For more information about creating a repository from a template, see the GitHub docs.
Locally clone the new repository and set up your development environment by completing the tasks in [coming soon]
Implement the logic for your module by updating the main.tf
, version.tf
, variables.tf
, and outputs.tf
Terraform files. For more information, see Creating Terraform on IBM Cloud templates.
Add one or more examples in the examples
directory that consume your new module, and configure tests for them in the tests
directory.
After you implement the logic for your module and create examples and tests, update this readme file in your repository by following these steps:
- Update the title heading and add a description about your module.
- Update the badge links.
- Remove all the content in this H2 heading section.
- Complete the Usage, Required IAM access policies and Examples sections. The Requirements section is populated by a pre-commit hook.
- Before you commit any code, review the contributing guidelines [coming soon]
- Create a pull request for review
After the first PR for your module is merged, follow these post-merge steps:
- Create a PR to enable the upgrade test by removing the
t.Skip
line intests/pr_test.go
.
You need the following permissions to run this module.
- Account Management
- Sample Account Service service
Editor
platform accessManager
service access
- Sample Account Service service
- IAM Services
- Sample Cloud Service service
Administrator
platform access
- Sample Cloud Service service
- End to end example with default values
- End to end example with non default values
- Example that uses existing resources
Name | Version |
---|---|
terraform | >= 1.0.0 |
No modules.
No resources.
No inputs.
No outputs.
To set up your local development environment, see steps [coming soon]