diff --git a/.changes/unreleased/BUG FIXES-20250521-152657.yaml b/.changes/unreleased/BUG FIXES-20250521-152657.yaml new file mode 100644 index 000000000..f51a8ff23 --- /dev/null +++ b/.changes/unreleased/BUG FIXES-20250521-152657.yaml @@ -0,0 +1,5 @@ +kind: BUG FIXES +body: 'echoprovider: Fixed bug where Terraform v1.12+ would return an error message indicating the provider doesn''t support `GetResourceIdentitySchemas`.' +time: 2025-05-21T15:26:57.058404-04:00 +custom: + Issue: "512" diff --git a/echoprovider/server.go b/echoprovider/server.go index dc4d90c8b..efcdb15f1 100644 --- a/echoprovider/server.go +++ b/echoprovider/server.go @@ -406,3 +406,19 @@ func (e *echoProviderServer) CloseEphemeralResource(ctx context.Context, req *tf func (e *echoProviderServer) ValidateEphemeralResourceConfig(ctx context.Context, req *tfprotov6.ValidateEphemeralResourceConfigRequest) (*tfprotov6.ValidateEphemeralResourceConfigResponse, error) { return &tfprotov6.ValidateEphemeralResourceConfigResponse{}, nil } + +func (e *echoProviderServer) GetResourceIdentitySchemas(context.Context, *tfprotov6.GetResourceIdentitySchemasRequest) (*tfprotov6.GetResourceIdentitySchemasResponse, error) { + return &tfprotov6.GetResourceIdentitySchemasResponse{}, nil +} + +func (e *echoProviderServer) UpgradeResourceIdentity(context.Context, *tfprotov6.UpgradeResourceIdentityRequest) (*tfprotov6.UpgradeResourceIdentityResponse, error) { + return &tfprotov6.UpgradeResourceIdentityResponse{ + Diagnostics: []*tfprotov6.Diagnostic{ + { + Severity: tfprotov6.DiagnosticSeverityError, + Summary: "Unsupported UpgradeResourceIdentity Operation", + Detail: "Resource Identity is not supported by this provider.", + }, + }, + }, nil +} diff --git a/internal/testing/testsdk/providerserver/providerserver_protov5.go b/internal/testing/testsdk/providerserver/providerserver_protov5.go index 5704b288a..6f93bdffe 100644 --- a/internal/testing/testsdk/providerserver/providerserver_protov5.go +++ b/internal/testing/testsdk/providerserver/providerserver_protov5.go @@ -134,3 +134,11 @@ func (s Protov5ProviderServer) CloseEphemeralResource(ctx context.Context, req * func (s Protov5ProviderServer) ValidateEphemeralResourceConfig(ctx context.Context, req *tfprotov5.ValidateEphemeralResourceConfigRequest) (*tfprotov5.ValidateEphemeralResourceConfigResponse, error) { return &tfprotov5.ValidateEphemeralResourceConfigResponse{}, nil } + +func (s Protov5ProviderServer) GetResourceIdentitySchemas(context.Context, *tfprotov5.GetResourceIdentitySchemasRequest) (*tfprotov5.GetResourceIdentitySchemasResponse, error) { + return &tfprotov5.GetResourceIdentitySchemasResponse{}, nil +} + +func (s Protov5ProviderServer) UpgradeResourceIdentity(context.Context, *tfprotov5.UpgradeResourceIdentityRequest) (*tfprotov5.UpgradeResourceIdentityResponse, error) { + return &tfprotov5.UpgradeResourceIdentityResponse{}, nil +}