diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e0520e94..2f327fffd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Add new `elasticstack_elasticsearch_ml_anomaly_detection_job` resource ([#1329](https://github.com/elastic/terraform-provider-elasticstack/pull/1329)) - Add new `elasticstack_elasticsearch_ml_datafeed` resource ([#1340](https://github.com/elastic/terraform-provider-elasticstack/pull/1340)) - Add `space_ids` attribute to all Fleet resources to support space-aware Fleet resource management ([#1390](https://github.com/elastic/terraform-provider-elasticstack/pull/1390)) +- Add back missing import support for `elasticstack_elasticsearch_security_role_mapping` ([#1441](https://github.com/elastic/terraform-provider-elasticstack/pull/1441)) - Add new `elasticstack_elasticsearch_ml_job_state` resource ([#1337](https://github.com/elastic/terraform-provider-elasticstack/pull/1337)) - Add new `elasticstack_elasticsearch_ml_datafeed_state` resource ([#1422](https://github.com/elastic/terraform-provider-elasticstack/pull/1422)) - Make `hosts` attribute required in `elasticstack_fleet_output` resource ([#1450](https://github.com/elastic/terraform-provider-elasticstack/pull/1450/files)) diff --git a/internal/elasticsearch/security/role_mapping/acc_test.go b/internal/elasticsearch/security/role_mapping/acc_test.go index 048191558..a49a70416 100644 --- a/internal/elasticsearch/security/role_mapping/acc_test.go +++ b/internal/elasticsearch/security/role_mapping/acc_test.go @@ -56,6 +56,11 @@ func TestAccResourceSecurityRoleMapping(t *testing.T) { resource.TestCheckResourceAttr("elasticstack_elasticsearch_security_role_mapping.test", "metadata", `{}`), ), }, + { + ResourceName: "elasticstack_elasticsearch_security_role_mapping.test", + ImportState: true, + ImportStateVerify: true, + }, }, }) }) diff --git a/internal/elasticsearch/security/role_mapping/resource.go b/internal/elasticsearch/security/role_mapping/resource.go index a5fe9097c..b31fd1b3e 100644 --- a/internal/elasticsearch/security/role_mapping/resource.go +++ b/internal/elasticsearch/security/role_mapping/resource.go @@ -4,9 +4,15 @@ import ( "context" "github.com/elastic/terraform-provider-elasticstack/internal/clients" + "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" ) +// Ensure provider defined types fully satisfy framework interfaces +var _ resource.Resource = &roleMappingResource{} +var _ resource.ResourceWithConfigure = &roleMappingResource{} +var _ resource.ResourceWithImportState = &roleMappingResource{} + func NewRoleMappingResource() resource.Resource { return &roleMappingResource{} } @@ -24,3 +30,7 @@ func (r *roleMappingResource) Configure(_ context.Context, req resource.Configur resp.Diagnostics.Append(diags...) r.client = client } + +func (r *roleMappingResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +}