Commit Graph

102 Commits

Author SHA1 Message Date
Paul Stack 05994cef31 Merge pull request #7694 from jtopjian/provider-rabbitmq
RabbitMQ Provider
2016-09-02 08:08:18 +01:00
Joe Topjian d1e6f5c3dc provider/rabbitmq: docs 2016-09-01 19:04:41 +00:00
James Nugent 61f885aa86 website: Add archive provider to sidebar and css 2016-08-22 05:30:37 +02:00
Paul Hinze fa7ef4ceed Update docs to centralize on ARM-based Azure provider (#7767)
Sidebar:

 - Rename "Azure (Resource Manager)" to "Microsoft Azure" and sort
   accordingly
 - Rename "Azure (Service Management)" to "Microsoft Azure (Legacy ASM)"
   and sort accordingly

ARM provider docs:

 - Name changes everywhere to Microsoft Azure Provider
 - Mention and link to "legacy Azure Service Management Provider" in opening paragraph
 - Sidebar gains link at bottom to Azure Service Management Provider

ASM provider docs:
 - Name changes everywhere to Azure Service Management Provider
 - Sidebar gains link at bottom to Microsoft Azure Provider
 - Every page gets a header with the following
 - "NOTE: The Azure Service Management provider is no longer being actively developed by HashiCorp employees. It continues to be supported by the community. We recommend using the Azure Resource Manager based [Microsoft Azure Provider] instead if possible."
2016-07-22 11:39:59 +01:00
Raphael Randschau 9081cabd6e Add scaleway provider (#7331)
* Add scaleway provider

this PR allows the entire scaleway stack to be managed with terraform

example usage looks like this:

```
provider "scaleway" {
  api_key = "snap"
  organization = "snip"
}

resource "scaleway_ip" "base" {
  server = "${scaleway_server.base.id}"
}

resource "scaleway_server" "base" {
  name = "test"
  # ubuntu 14.04
  image = "aecaed73-51a5-4439-a127-6d8229847145"
  type = "C2S"
}

resource "scaleway_volume" "test" {
  name = "test"
  size_in_gb = 20
  type = "l_ssd"
}

resource "scaleway_volume_attachment" "test" {
  server = "${scaleway_server.base.id}"
  volume = "${scaleway_volume.test.id}"
}

resource "scaleway_security_group" "base" {
  name = "public"
  description = "public gateway"
}

resource "scaleway_security_group_rule" "http-ingress" {
  security_group = "${scaleway_security_group.base.id}"

  action = "accept"
  direction = "inbound"
  ip_range = "0.0.0.0/0"
  protocol = "TCP"
  port = 80
}

resource "scaleway_security_group_rule" "http-egress" {
  security_group = "${scaleway_security_group.base.id}"

  action = "accept"
  direction = "outbound"
  ip_range = "0.0.0.0/0"
  protocol = "TCP"
  port = 80
}
```

Note that volume attachments require the server to be stopped, which can lead to
downtimes of you attach new volumes to already used servers

* Update IP read to handle 404 gracefully

* Read back resource on update

* Ensure IP detachment works as expected

Sadly this is not part of the official scaleway api just yet

* Adjust detachIP helper

based on feedback from @QuentinPerez in
https://github.com/scaleway/scaleway-cli/pull/378

* Cleanup documentation

* Rename api_key to access_key

following @stack72 suggestion and rename the provider api_key for more clarity

* Make tests less chatty by using custom logger
2016-07-13 21:03:41 +01:00
Derek Abdine 7bdc060d24 provider/logentries: Implementing logentries provider (#7067)
* logentries provider

* logentries vendoring

* logentries docs
2016-07-12 14:14:39 +01:00
James Nugent 5a0f6565d3 Merge pull request #6672 from apparentlymart/random-provider
Logical Resources for Random Values
2016-05-29 11:58:42 -07:00
Martin Atkins 158a90b25b Grafana Provider, with Data Source and Dashboard resources (#6206)
* Grafana provider

* grafana_data_source resource.

Allows data sources to be created in Grafana. Supports all data source
types that are accepted in the current version of Grafana, and will
support any future ones that fit into the existing structure.

* Vendoring of apparentlymart/go-grafana-api

This is in anticipation of adding a Grafana provider plugin.

* grafana_dashboard resource

* Website documentation for the Grafana provider.
2016-05-20 10:20:17 +01:00
Mitchell Hashimoto 54df833406
website: add import command docs 2016-05-18 12:57:03 -06:00
Mitchell Hashimoto 6d9e41668f
website: basic docs on import 2016-05-18 12:57:03 -06:00
Martin Atkins feafc94dde website: docs for the "random" provider 2016-05-14 16:49:10 -07:00
Martin Atkins 64f2651204 website: Initial documentation about data sources
This will undoubtedly evolve as implementation continues, but this is some
initial documentation based on the design doc.
2016-05-14 08:26:36 -07:00
Chris Bednarski 3c774af9c2 Warn when an internal plugin is overridden
Also added documentation explaining what happened and how to fix it
2016-05-10 14:49:13 -04:00
Mitchell Hashimoto d1b46e99bd Add `terraform state list` command
This introduces the terraform state list command to list the resources
within a state. This is the first of many state management commands to
come into 0.7.

This is the first command of many to come that is considered a
"plumbing" command within Terraform (see "plumbing vs porcelain":
http://git.661346.n2.nabble.com/what-are-plumbing-and-porcelain-td2190639.html).
As such, this PR also introduces a bunch of groundwork to support
plumbing commands.

The main changes:

- Main command output is changed to split "common" and "uncommon"
  commands.

- mitchellh/cli is updated to support nested subcommands, since
  terraform state list is a nested subcommand.

- terraform.StateFilter is introduced as a way in core to filter/search
  the state files. This is very basic currently but I expect to make it
  more advanced as time goes on.

- terraform state list command is introduced to list resources in a
  state. This can take a series of arguments to filter this down.

Known issues, or things that aren't done in this PR on purpose:

- Unit tests for terraform state list are on the way. Unit tests for the
  core changes are all there.
2016-05-10 14:14:47 -04:00
danielcbright 8921e10d71 Added softlayer virtual guest and ssh keys functionality:
Here is an example that will setup the following:
+ An SSH key resource.
+ A virtual server resource that uses an existing SSH key.
+ A virtual server resource using an existing SSH key and a Terraform managed SSH key (created as "test_key_1" in the example below).

(create this as sl.tf and run terraform commands from this directory):
```hcl
provider "softlayer" {
    username = ""
    api_key = ""
}

resource "softlayer_ssh_key" "test_key_1" {
    name = "test_key_1"
    public_key = "${file(\"~/.ssh/id_rsa_test_key_1.pub\")}"
    # Windows Example:
    # public_key = "${file(\"C:\ssh\keys\path\id_rsa_test_key_1.pub\")}"
}

resource "softlayer_virtual_guest" "my_server_1" {
    name = "my_server_1"
    domain = "example.com"
    ssh_keys = ["123456"]
    image = "DEBIAN_7_64"
    region = "ams01"
    public_network_speed = 10
    cpu = 1
    ram = 1024
}

resource "softlayer_virtual_guest" "my_server_2" {
    name = "my_server_2"
    domain = "example.com"
    ssh_keys = ["123456", "${softlayer_ssh_key.test_key_1.id}"]
    image = "CENTOS_6_64"
    region = "ams01"
    public_network_speed = 10
    cpu = 1
    ram = 1024
}
```

You'll need to provide your SoftLayer username and API key,
so that Terraform can connect. If you don't want to put
credentials in your configuration file, you can leave them
out:

```
provider "softlayer" {}
```

...and instead set these environment variables:

- **SOFTLAYER_USERNAME**: Your SoftLayer username
- **SOFTLAYER_API_KEY**: Your API key
2016-05-03 15:58:58 -05:00
Henrik Hodne 8f07a2d6d5 provider/librato: Add Librato provider 2016-04-29 14:49:55 -05:00
Joe Topjian 831bae8624 provider/cobbler: Cobbler Provider
This introduces a provider for Cobbler. Cobbler manages bare-metal
deployments and, to some extent, virtual machines. This initial
commit supports the following resources: distros, profiles, systems,
kickstart files, and snippets.
2016-04-16 08:54:59 -05:00
Seth Vargo 4fde3b2be9 Capitalize the H in GitHub
GitHub really doesn't like when you make the H lowercase, it violates
their brand guidelines and they won't help promote anything that doesn't
use the capital H.
2016-04-07 10:26:01 -04:00
Martin Atkins fa703db8a6 Merge #4955: "terraform fmt" command 2016-04-04 01:07:32 -07:00
clint shryock 2ad37bba4a provider/fastly: Add Fastly Provider, ServiceV1 resource 2016-03-23 14:53:50 -05:00
Albert Choi 7775cc8ccc snapshot from CenturyLinkLabs/terraform-provider-clc
+examples +docs for clc
2016-03-21 08:58:37 -07:00
James Nugent e70764f64d provider/triton: New provider for Joyent Triton
This brings across the following resources for Triton from the
joyent/triton-terraform repository, and converts them to the canonical
Terraform style, introducing Terraform-style documentation and
acceptance tests which run against the live API rather than the local
APIs:

- triton_firewall_rule
- triton_machine
- triton_key
2016-03-20 20:15:17 +00:00
Martin Atkins 7061448d74 Docs for InfluxDB provider and database resource 2016-03-20 14:53:34 -05:00
Josh Masseo 1b4991163f UltraDNS Provider 2016-03-20 12:10:59 -05:00
James Nugent 85b4b5813f Revert "provider/triton: New provider for Joyent Triton"
This reverts commit f60f04ac70.
2016-03-19 17:53:06 +00:00
James Nugent f60f04ac70 provider/triton: New provider for Joyent Triton
This brings across the following resources for Triton from the
joyent/triton-terraform repository, and converts them to the canonical
Terraform style, introducing Terraform-style documentation and
acceptance tests which run against the live API rather than the local
APIs:

- triton_firewall_rule
- triton_machine
- triton_key
2016-03-18 23:35:01 +00:00
Paul Hinze 07caec0d14 Merge pull request #5194 from objectpartners/f-github-provider
GitHub Organization Provider
2016-03-17 10:53:13 -05:00
Paul Hinze c7f5450a96 command: Add `terraform untaint`
- [x] Docs
 - [x] Command Unit Tests
 - [x] State Unit Tests

Closes #4820
2016-03-11 12:38:57 -06:00
Jacob Severson c1b373ad5f Add Github Organization provider.
Allows for managing organization membership, teams, team membership, and
team repositories.
2016-03-08 23:06:30 +01:00
Dan Carley cc41c7cfa0 command/fmt: Add new fmt command
This uses the `fmtcmd` package which has recently been merged into HCL. Per
the usage text, this rewrites Terraform config files to their canonical
formatting and style.

Some notes about the implementation for this initial commit:

- all of the fmtcmd options are exposed as CLI flags
- it operates on all files that have a `.tf` suffix
- it currently only operates on the working directory and doesn't accept a
  directory argument, but I'll extend this in subsequent commits
- output is proxied through `cli.UiWriter` so that we write in the same way
  as other commands and we can capture the output during tests
- the test uses a very simple fixture just to ensure that it is working
  correctly end-to-end; the fmtcmd package has more exhaustive tests
- we have to write the fixture to a file in a temporary directory because it
  will be modified and for this reason it was easier to define the fixture
  contents as a raw string
2016-03-07 15:07:04 +00:00
Otto Jongerius c8bd02abee Add Datadog doco. 2016-02-22 15:04:29 -05:00
Soren Mathiasen db69a2959b Added verify command 2016-02-08 12:48:14 +01:00
Dmytro Aleksandrov 3cfe3374a3 provider/powerdns: Add site documentation 2016-01-28 10:10:46 -05:00
Radek Simko f2ffff33eb docs: Create new section for remote state backends 2016-01-18 08:08:19 +00:00
John Engelman b6788479de Add Terraform/Remote State documentation to provider/resource section.
Issue #2074
2015-12-27 19:04:27 +01:00
Martin Atkins a9d97708ee mysql provider and mysql_database resource.
Allows databases on pre-existing MySQL servers to be created and managed
by Terraform.
2015-12-16 17:59:35 -08:00
James Nugent 805c4896bd provider/azurerm: Clean up work for base provider
- Add documentation for resources
- Rename files to match standard patterns
- Add acceptance tests for resource groups
- Add acceptance tests for vnets
- Remove ARM_CREDENTIALS file - as discussed this does not appear to be
  an Azure standard, and there is scope for confusion with the
  azureProfile.json file which the CLI generates. If a standard emerges
  we can reconsider this.
- Validate credentials in the schema
- Remove storage testing artefacts
- Use ARM IDs as Terraform IDs
- Use autorest hooks for logging
2015-12-15 18:31:02 -05:00
Martin Atkins 764ea7f39c Documentation for the Chef provider. 2015-12-13 15:09:17 -08:00
clint shryock 5b036fbf4f provider/dyn: Add Dyn to the documentation sidebar 2015-12-09 14:05:18 -06:00
Adrian Chelaru e1eef15646 postgresql provider with "database" and "role" resources 2015-12-03 23:44:20 -08:00
Paul Hinze 9e68c34abe Merge pull request #3785 from hmrc/master
VMWare vCloud Director Support
2015-12-03 15:51:47 -06:00
stack72 3ecf722b77 Adding some documentation for the StatusCake provider 2015-11-30 10:44:21 +00:00
Nicki Watt 5df9d22a6a Minor doc updates 2015-11-11 07:43:36 +00:00
Brett Mack bda4ef7e7c Merge branch 'terraform' into hmrc 2015-11-06 10:22:25 +00:00
Cameron Stokes 964c9cd7e8 Change all occurrences of 'vSphere' to 'VMware vSphere' 2015-11-02 18:21:08 -08:00
Brett Mack 8376a5a160 Merge branch 'terraform' 2015-11-02 13:57:44 +00:00
Brett Mack 8780bd269a Added vCloud Director provider with tests and provider documentation 2015-11-02 13:39:25 +00:00
Paul Hinze 32ae193e94 Merge pull request #2778 from apparentlymart/tls
TLS utility provider
2015-10-29 14:51:06 -05:00
Paul Hinze 7f800f3498 website: docs for null_resource 2015-10-27 15:28:37 -05:00
Martin Atkins f6fd41e7b5 tls provider
As of this commit this provider has only logical resources that allow
the creation of private keys, self-signed certs and certificate requests.
These can be useful when creating other resources that use TLS
certificates, such as AWS Elastic Load Balancers.

Later it could grow to include support for real certificate provision from
CAs using the LetsEncrypt ACME protocol, once it is stable.
2015-10-22 21:48:32 -07:00