Skip to content

Commit

Permalink
Merge pull request #7 from liquidweb/publish
Browse files Browse the repository at this point in the history
Publish branch merge
  • Loading branch information
jakdept committed Sep 19, 2023
2 parents 412fdb2 + cea7252 commit 33f90ad
Show file tree
Hide file tree
Showing 18 changed files with 538 additions and 82 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Terraform Provider release workflow.
name: Release

# This GitHub action creates a release when a tag that matches the pattern
# "v*" (e.g. v0.1.0) is created.
on:
push:
tags:
- 'v*'

# Releases need permissions to read and write the repository contents.
# GitHub considers creating releases and uploading assets as writing contents.
permissions:
contents: write

jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
# Allow goreleaser to access older tag information.
fetch-depth: 0
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version-file: 'go.mod'
cache: true
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@72b6676b71ab476b77e676928516f6982eef7a41 # v5.3.0
id: import_gpg
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@3fa32b8bb5620a2c1afe798654bbad59f9da4906 # v4.4.0
with:
args: release --clean
env:
# GitHub sets the GITHUB_TOKEN secret automatically.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
60 changes: 60 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
before:
hooks:
# this is just an example and not a requirement for provider building/publishing
- go mod tidy
builds:
- env:
# goreleaser does not work with CGO, it could also complicate
# usage by users in CI/CD systems like Terraform Cloud where
# they are unable to install libraries.
- CGO_ENABLED=0
mod_timestamp: '{{ .CommitTimestamp }}'
flags:
- -trimpath
ldflags:
- '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}'
goos:
- freebsd
- windows
- linux
- darwin
goarch:
- amd64
- '386'
- arm
- arm64
ignore:
- goos: darwin
goarch: '386'
binary: '{{ .ProjectName }}_v{{ .Version }}'
archives:
- format: zip
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
checksum:
extra_files:
- glob: 'terraform-registry-manifest.json'
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json'
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
algorithm: sha256
signs:
- artifacts: checksum
args:
# if you are using this in a GitHub action or some other automated pipeline, you
# need to pass the batch flag to indicate its not interactive.
- "--batch"
- "--local-user"
- "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
- "--output"
- "${signature}"
- "--detach-sign"
- "${artifact}"
release:
extra_files:
- glob: 'terraform-registry-manifest.json'
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json'
# If you want to manually examine the release before its live, uncomment this line:
# draft: true
changelog:
skip: true
50 changes: 50 additions & 0 deletions docs/data-sources/cloud_server_config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb_cloud_server_config Data Source - terraform-provider-liquidweb"
subcategory: ""
description: |-
Cloud Server Configs

---

# liquidweb_cloud_server_config (Data Source)

LiquidWeb Cloud Server Config allows querying of different configs available.
A config ID must be passed to `liquidweb_cloud_server`, this allows querying a config.

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

These optional values allow you to filter returned configs.
The config returned will be the only one that matches the following traits.
If you return more than one, it will be rejected.
If your filters match 0 configs, it will be rejected.

- `active` (Boolean) - whether the given config is enabled
- `available` (Boolean) - whether the config has available inventory
- `category` (String) - category of the config, see below
- `config_id` (Number)
- `description` (String)
- `disk` (Number)
- `featured` (Boolean)
- `memory` (Number)
- `network_zone` (String)
- `vcpu` (Number)
- `zone_availability` (Map of String) - zones which the config must be in

### Categories

Valid categories for configs are:

- `ssd`` - traditional`SS.VPS`style servers`
- `bare-metal`` - physical servers, no hypervisor
- `gp-compute``
- `mem-optimized``
- `cpu-optimized``

### Read-Only

- `id` (String) The ID of this resource.
29 changes: 29 additions & 0 deletions docs/data-sources/network_zone.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb_network_zone Data Source - terraform-provider-liquidweb"
subcategory: ""
description: |-
---

# liquidweb_network_zone (Data Source)

Allows querying a network zone, as in different regions of infrastructure.

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `name` (String)
- `region_id` (Number)
- `region_name` (String)

### Read-Only

- `id` (String) The ID of this resource.
- `is_default` (Boolean)
- `network_zone_id` (String)
- `region` (Map of String)
- `status` (String)
- `valid_source_hvs` (Map of String)
48 changes: 48 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb Provider"
subcategory: ""
description: |-
LiquidWeb Provider

---

# liquidweb Provider

Provider is used to interact with LiquidWeb resources.
This provider requires credentials to be used.

## Example Usage

Environment variables must also be set:

- `LWAPI_USERNAME` - the username to connect as
- `LWAPI_PASSWORD` - the password or auth token to use

```hcl
terraform {
required_providers {
liquidweb = {
source = "liquidweb/liquidweb"
version = "~> 1.7.0"
}
}
}
# creates a sever
resource "liquidweb_cloud_server" "server" {
config_id = 1757
zone = 27
template = "ROCKYLINUX_8_UNMANAGED"
domain = "hostname.example.com"
password = "randomPassword"
}
```

## Argument Reference

- `LWAPI_USERNAME`
- `LWAPI_PASSWORD``

These environment variables are used to set your credentials for the provider.
44 changes: 44 additions & 0 deletions docs/resources/cloud_block_storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb_cloud_block_storage Resource - terraform-provider-liquidweb"
subcategory: ""
description: |-
---

# liquidweb_cloud_block_storage (Resource)





<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `domain` (String)
- `size` (Number)

### Optional

- `attach` (String)
- `cross_attach` (Boolean)
- `region` (Number)

### Read-Only

- `attached_to` (List of Object) (see [below for nested schema](#nestedatt--attached_to))
- `id` (String) The ID of this resource.
- `label` (String)
- `status` (String)
- `zone` (Number)
- `zone_availability` (List of Number)

<a id="nestedatt--attached_to"></a>
### Nested Schema for `attached_to`

Read-Only:

- `device` (String)
- `resource` (String)
44 changes: 44 additions & 0 deletions docs/resources/cloud_server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb_cloud_server Resource - terraform-provider-liquidweb"
subcategory: ""
description: |-
---

# liquidweb_cloud_server (Resource)

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `config_id` (Number) - config to make, determines resources
- `zone` (Number) - network zone for create server
- `domain` (String) - hostname of server, must be unique

### Optional

- `password` (String) - a root password is required
- `public_ssh_key` (String) - single ssh key for root
- `template` (String) - generic template create from
- `image_id` (Number) - server image to create from
- `backup_enabled` (Number)
- `backup_plan` (String)
- `backup_quota` (Number)
- `bandwidth_quota` (String)

### Read-Only

- `accnt` (Number)
- `active` (Number)
- `backup_size` (String)
- `config_description` (String)
- `id` (String) The ID of this resource.
- `ip` (String)
- `ip_count` (Number)
- `manage_level` (String)
- `memory` (Number)
- `template_description` (String)
- `type` (String)
- `vcpu` (Number)
48 changes: 48 additions & 0 deletions docs/resources/network_dns_record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "liquidweb_network_dns_record Resource - terraform-provider-liquidweb"
subcategory: ""
description: |-
---

# liquidweb_network_dns_record (Resource)





<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `name` (String)
- `rdata` (String)
- `type` (String)
- `zone` (String)

### Optional

- `prio` (Number)
- `refresh_interval` (String)
- `ttl` (Number)

### Read-Only

- `admin_email` (String)
- `created` (String)
- `exchange` (String)
- `expiry` (String)
- `full_data` (String)
- `id` (String) The ID of this resource.
- `last_updated` (String)
- `minimum` (String)
- `nameserver` (String)
- `port` (Number)
- `region_overrides` (Map of String)
- `retry` (Number)
- `serial` (String)
- `target` (String)
- `weight` (Number)
- `zone_id` (Number)
Loading

0 comments on commit 33f90ad

Please sign in to comment.