Coder Social home page Coder Social logo

usmansharifkhan / terraform-provider-statuspage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yannh/terraform-provider-statuspage

0.0 0.0 0.0 5.01 MB

A Terraform provider for Statuspage.io

Home Page: https://registry.terraform.io/providers/yannh/statuspage/latest

License: Mozilla Public License 2.0

Makefile 4.75% Go 92.20% HTML 3.05%

terraform-provider-statuspage's Introduction

test Go Report card Terraform logo

Terraform Provider for Statuspage.io

The Statuspage provider is used to interact with the resources supported by Statuspage.io.

Requirements

  • Terraform 0.10.x
  • Go 1.11 (to build the provider plugin)

Building The Provider

Clone repository to: `$GOPATH/src/github.com/yannh/terraform-provider-statuspage

$ mkdir -p $GOPATH/src/github.com/yannh; cd $GOPATH/src/github.com/yannh
$ git clone https://github.com/yannh/terraform-provider-statuspage.git

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/yannh/terraform-provider-statuspage
$ make build

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
...
$ $GOPATH/bin/terraform-provider-statuspage
...

In order to test the provider, set the following variables:

$ export STATUSPAGE_TOKEN=www
$ export STATUSPAGE_PAGE=xxx    # PageID of the Statuspage page
$ export STATUSPAGE_PAGE_2=xxx  # PageID of another Statuspage page
$ export DATADOG_API_KEY=yyy
$ export DATADOG_APPLICATION_KEY=zzz

, and then run make test acc.

$ make test acc

Extra Notes

Group Id integration

Introducing group_id parameter within the component creation has introduced a limitation in the flow of creating statuspage_component_group and statuspage_component.

Creating statuspage_component without group_id configured leads to it being highlighted as empty string on the terraform local state whereas configuring the statuspage_component_group resource within the IaC can lead to the remote state being changed, this in turn leads to a difference in terraform plan. For group_id parameter in statuspage_component, DiffSuppressFunc has been added to ignore terraform plan diff when new group_id is expected to be an empty string.

This chicken and egg problem can happen for the statuspage_component_group terraform resource as well, so in that case group_id should be only set on the statuspage_component resource when statuspage_component_group is not included within IaC.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.