https://github.com/terraform-ibm-modules/terraform-ibm-icse-public-gateway-module
https://github.com/terraform-ibm-modules/terraform-ibm-icse-public-gateway-module
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/terraform-ibm-modules/terraform-ibm-icse-public-gateway-module
- Owner: terraform-ibm-modules
- License: apache-2.0
- Created: 2022-09-08T12:27:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-19T20:09:33.000Z (over 1 year ago)
- Last Synced: 2023-11-19T21:36:52.891Z (over 1 year ago)
- Language: Go
- Size: 666 KB
- Stars: 1
- Watchers: 13
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform IBM Module Template
[](https://github.com/semantic-release/semantic-release)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/terraform-ibm-modules/terraform-ibm-icse-public-gateway-module/releases/latest)
[](https://renovatebot.com/)## Submit a new module
:+1::tada: Thank you for taking the time to contribute! :tada::+1:
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 module
- `main.tf`: The logic for the module
- `version.tf`: The required terraform and provider versions
- `variables.tf`: The input variables for the module
- `outputs.tf`: The values that are output from the moduleFor more information, see [Module structure](https://terraform-ibm-modules.github.io/documentation/#/module-structure) in the project documentation.
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 repo from this repo template
1. Create a repository from this repository template by clicking `Use this template` in the upper right of the GitHub UI.
For more information about creating a repository from a template, see the [GitHub docs](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
1. Select `terraform-ibm-modules` as the owner.
1. Enter a name for the module in format `terraform-ibm-`, where `` reflects the type of infrastructure that the module manages.Use hyphens as delimiters for names with multiple words (for example, terraform-ibm-`activity-tracker`).
1. Provide a short description of the module.The description is displayed under the repository title on the [organization page](https://github.com/terraform-ibm-modules) and in the **About** section of the repository. Use the description to help users understand what your repo does by looking at the description.
### Clone the repo and set up your development environment
Locally clone the new repository and set up your development environment by completing the tasks in [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.
### Update the Terraform files
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](https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-create-tf-config).
### Create examples and tests
Add one or more examples in the `examples` directory that consume your new module, and configure tests for them in the `tests` directory.
### Update the content in the readme file
After you implement the logic for your module and create examples and tests, update this readme file in your repository by following these steps:
1. Update the title heading and add a description about your module.
1. Update the badge links.
1. Remove all the content in this H2 heading section.
1. Complete the [Usage](#usage), [Required IAM access policies](#required-iam-access-policies), and [Examples](#examples) sections. The [Requirements](#requirements) section is populated by a pre-commit hook.### Commit your code and submit your module for review
1. Before you commit any code, review [Contributing to the IBM Cloud Terraform modules project](https://terraform-ibm-modules.github.io/documentation/#/contribute-module) in the project documentation.
1. Create a pull request for review.### Post-merge steps
After the first PR for your module is merged, follow these post-merge steps:1. Create a PR to enable the upgrade test by removing the `t.Skip` line in `tests/pr_test.go`.
## Usage
```hcl
```
## Required IAM access policies
## Examples
- [ Default example](examples/default)
- [ Example that uses existing resources](examples/existing-resources)
- [ Non default example](examples/non-default)### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0.0 |### Modules
No modules.
### Resources
No resources.
### Inputs
No inputs.
### Outputs
No outputs.
## Contributing
You can report issues and request features for this module in the [terraform-ibm-issue-tracker](https://github.com/terraform-ibm-modules/terraform-ibm-issue-tracker/issues) repo. See [Report an issue or request a feature](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).
To set up your local development environment, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.