terraform-provider-leaseweb

command module
v1.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

README

Terraform Leaseweb Provider

Go Reference

A Terraform provider to manage Leaseweb resources.

Requirements

All requirements are also satisfied by the included docker-compose.yml.

Building The Provider

  1. Clone the repository
  2. Enter the repository directory
  3. Build the provider using the Go install command:
go install

Adding Dependencies

This provider uses Go modules. Please see the Go documentation for the most up-to-date information about using Go modules.

To add a new dependency github.com/author/dependency to your Terraform provider:

go get github.com/author/dependency
go mod tidy

Then commit the changes to go.mod and go.sum.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).

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

To generate or update documentation, run make generate.

To run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

make testacc

Run mock server

To test against API specifications, a mock server can be run

docker-compose up -d

Make sure to use localhost in your requests as caddy does not know what to do with 127.0.0.1


curl -i http://localhost:8080/publicCloud/v1/instances --header 'x-lsw-auth: tralala'

First steps

To install relevant git hooks run

pnpm i
Commits

All commits must adhere to the conventional commit spec. For the acceptance tests to run properly make sure to run docker-compose up -d before committing anything or the commit will fail.

API Stability

Given that the public cloud API is currently in its beta version, we are maintaining the Terraform plugin in beta as well, despite the stability of our Dedicated Server API.

Architecture

Code architecture is discussed in ARCHITECTURE.md.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
provider
Package provider implements the Leaseweb Terraform provider.
Package provider implements the Leaseweb Terraform provider.
provider/client
Package client implements access to facades.
Package client implements access to facades.
provider/dedicatedserver
Package dedicatedserver implements functionality for dedicatedserver data sources & resources.
Package dedicatedserver implements functionality for dedicatedserver data sources & resources.
provider/dns
Package dns implements functionality for dns data sources & resources.
Package dns implements functionality for dns data sources & resources.
provider/ipmgmt
Package ipmgmt implements functionality for IP management.
Package ipmgmt implements functionality for IP management.
provider/publiccloud
Package publiccloud implements functionality for public_cloud data sources & resources.
Package publiccloud implements functionality for public_cloud data sources & resources.
utils
Package utils contains helper functions that can be used by all products.
Package utils contains helper functions that can be used by all products.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL