Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elasticsearch provider #13238

Closed
wants to merge 322 commits into from
Closed

Elasticsearch provider #13238

wants to merge 322 commits into from

Conversation

Flygsand
Copy link

@Flygsand Flygsand commented Mar 31, 2017

This PR implements an Elasticsearch provider (see also #12651). Currently, the following resources are implemented:

  • elasticsearch_index_template
  • elasticsearch_snapshot_repository

The provider also supports AWS Elasticsearch domains.

@Flygsand
Copy link
Author

Added elasticsearch_snapshot_repository

stack72 and others added 27 commits June 21, 2017 09:29
Fixes: #8847

We actually didn't get the list of tags from the API, therefore, any
manual changes were not actually showing up in subsequent plans

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSALBTargetGroup_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/30 15:45:53 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSALBTargetGroup_basic -timeout 120m
=== RUN   TestAccAWSALBTargetGroup_basic
--- PASS: TestAccAWSALBTargetGroup_basic (62.76s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	62.787s
```
#13204)

Fixes: #12440

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSVpnConnection_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/30 16:16:13 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVpnConnection_ -timeout 120m
=== RUN   TestAccAWSVpnConnection_importBasic
--- PASS: TestAccAWSVpnConnection_importBasic (208.68s)
=== RUN   TestAccAWSVpnConnection_basic
--- PASS: TestAccAWSVpnConnection_basic (391.02s)
=== RUN   TestAccAWSVpnConnection_withoutStaticRoutes
--- PASS: TestAccAWSVpnConnection_withoutStaticRoutes (316.99s)
=== RUN   TestAccAWSVpnConnection_disappears
--- PASS: TestAccAWSVpnConnection_disappears (202.84s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1119.563s
```
…specified (#13218)

Fixes: #9959

When we specify that we want an opsworks_instance state of running, we
should wait for that the be the case. This will then allow us to use the
Computed values (e.g. private_ip) etc and allow us to use provisioners
as part of the terraform config

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksInstance'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/30 20:55:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksInstance -timeout 120m
=== RUN   TestAccAWSOpsworksInstance_importBasic
--- PASS: TestAccAWSOpsworksInstance_importBasic (72.28s)
=== RUN   TestAccAWSOpsworksInstance
--- PASS: TestAccAWSOpsworksInstance (110.17s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	182.479s
```
GOPATH is actually a list of path and doesn't necessarily have to be
set. If unset it will default to $GOPATH/go in go 1.9+.

Assume that go install will install to the first path in the list.
…ckend (#13236)

Fixes: #13234

This now matches the AWS provider for the Assume Role support
Adds `name_prefix` (or, in some cases, `identifier_prefix`) support to all AWS RDS resources.
This commit allows private key material to be used with the Triton
provider, which is necessary for running acceptance tests in the
HashiCorp CI environment.
Don't erase local state during backend migration if the new and old
paths are the same. Skipping the confirmation and copy are handled in
another patch, but the local state was always erased by default, even
when it was our new state.
* provider/aws: New resource: aws_ses_domain_identity

Provide a resource to manage domain identities in SES. Exports the
verification_code attribute which can be used to add the TXT record to
the domain to complete the domain verification.

* provider/aws: Acceptance tests for aws_ses_domain_identity

* Resource aws_ses_domain_identity: Documentation update

Provide documentation for the new resource type.
radeksimko and others added 25 commits June 21, 2017 09:30
The acctests depend on getting a particular result back from resolving
www.hashicorp.com, which seems to have changed. In the long run we should
probably *not* be depending on the DNS configuration of the main Hashicorp
website, but this is just a quick fix to get the build back to green so
we can continue work on other things.
Apparently we've let this get several years out of date.
Previously this function was depending on the mapstructure behavior of
failing with an error when trying to decode a map into a list or
vice-versa, but mapstructure's WeakDecode behavior changed so that it
will go to greater lengths to coerce the given value to fit into the
target type, causing us to mis-handle certain ambigous cases.

Here we exert a bit more control over what's going on by using 'reflect'
to first check whether we have a slice or map value and only then try
to decode into one with mapstructure. This allows us to still rely on
mapstructure's ability to decode nested structures but ensure that lists
and maps never get implicitly converted to each other.
* provider/ns1: No splitting answer on spf records.

* provider/ns1: Adds acctest for SPF records.
…rs (#13469)

Launch permissions are implicitly nuked if an AMI is removed for any
reason - Terraform should not error on refresh in this case, but rather
just see the launch permissions as gone and react appropriately.
Hi

I just added a link to "Multiple Provider Instances" on ressources's page.

Thanks.
* Add schema_version as computed ssm document attribute

* Update the SSM document itself if the content has changed and it has a schema >= 2.0

* Add default_version as DocumentVersion in SSM doc update

* Acceptance test for updating an SSM document

* Better error handling in updating SSM documents

* Add SSM document update documentation

* Better names for SSM input params
@phillbaker
Copy link

Pulled this out into a separate repo for anyone who's interested: https://github.com/phillbaker/terraform-provider-elasticsearch

@apparentlymart
Copy link
Contributor

Thanks for building that separate repo, @phillbaker!

With the providers now split out of core, this PR can't really be merged anyway, so it being in a separate repository makes sense.

We're currently being cautious about adding new providers to the "official set" in the terraform-providers organization because we want to make sure all of those have acceptance tests with good coverage (so we can release with confidence) and maintainers who know the target system well and have the time and motivation to stay on top of PRs and issues. We're planning to improve the workflow for installing third-party-distributed plugins in a future Terraform version to help address this bottleneck.

Given that unfortunately this can no longer be merged as-is, and there's now this separate repository to install it from, I'm going to close this out. Thanks to @vrcsix for working on this, and sorry we weren't able to look at it before the providers were split out.

@ghost
Copy link

ghost commented Apr 7, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.