terraform-provider-leaseweb

command module
v1.8.0-beta Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2024 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 go 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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
core/domain/public_cloud
Package public_cloud implements domain entities for public_cloud.
Package public_cloud implements domain entities for public_cloud.
core/ports
Package ports contains exposed ports.
Package ports contains exposed ports.
core/services/errors
Package errors implements errors related to core services.
Package errors implements errors related to core services.
core/services/public_cloud
Package public_cloud implements services related to public_cloud instances
Package public_cloud implements services related to public_cloud instances
core/shared/enum
Package enum implements enum value objects used by public_cloud
Package enum implements enum value objects used by public_cloud
core/shared/enum_utils
Package enum_utils implements generic utils to be used in enum value objects.
Package enum_utils implements generic utils to be used in enum value objects.
core/shared/synced_map
Package synced_map implements a thread safe map with generics support.
Package synced_map implements a thread safe map with generics support.
core/shared/value_object
Package value_object implements value objects used by public_cloud.
Package value_object implements value objects used by public_cloud.
facades/public_cloud
Package public_cloud implements the public_cloud facade.
Package public_cloud implements the public_cloud facade.
facades/public_cloud/data_adapters/to_data_source_model
Package to_data_source_model implements adapters to convert domain entities to sdk models.
Package to_data_source_model implements adapters to convert domain entities to sdk models.
facades/public_cloud/data_adapters/to_domain_entity
Package to_domain_entity implements adapters to convert resource models to domain entities.
Package to_domain_entity implements adapters to convert resource models to domain entities.
facades/public_cloud/data_adapters/to_resource_model
Package to_resource_model implements adapters to convert domain entities to resource models.
Package to_resource_model implements adapters to convert domain entities to resource models.
facades/shared
Package shared implements utils that facades use.
Package shared implements utils that facades use.
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/data_sources/public_cloud/instances
Package instances implements functionality for public_cloud data sources.
Package instances implements functionality for public_cloud data sources.
provider/data_sources/public_cloud/model
Package model implements data models for public_cloud data sources.
Package model implements data models for public_cloud data sources.
provider/logging
Package logging implements logging that the end user sees.
Package logging implements logging that the end user sees.
provider/resources/public_cloud/instance
Package instance implements functionality for public_cloud resources.
Package instance implements functionality for public_cloud resources.
provider/resources/public_cloud/instance/validator
Package validator implements validators used by public_cloud resources.
Package validator implements validators used by public_cloud resources.
provider/resources/public_cloud/model
Package model implements models for public_cloud resources.
Package model implements models for public_cloud resources.
provider/shared_schemas/public_cloud
Package public_cloud implements schemas used multiple times in public_cloud data sources & resources.
Package public_cloud implements schemas used multiple times in public_cloud data sources & resources.
repositories/public_cloud_repository
Package public_cloud_repository implements repository logic to access the public_cloud sdk.
Package public_cloud_repository implements repository logic to access the public_cloud sdk.
repositories/public_cloud_repository/data_adapters/to_domain_entity
Package to_domain_entity implements adapters to convert public_cloud sdk models to domain entities.
Package to_domain_entity implements adapters to convert public_cloud sdk models to domain entities.
repositories/public_cloud_repository/data_adapters/to_sdk_model
Package to_sdk_model implements adapters to convert public_cloud domain entities to sdk models.
Package to_sdk_model implements adapters to convert public_cloud domain entities to sdk models.
repositories/sdk
Package sdk implements interfaces related to the sdk.
Package sdk implements interfaces related to the sdk.

Jump to

Keyboard shortcuts

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