From e43cb142cbd457b8c19948d7c0a6ac5c7e41dd05 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Sun, 10 May 2026 02:09:43 -0400 Subject: [PATCH 1/4] feat(proto): add iac.proto with IaCProviderRequired + 6 optional services + ResourceDriver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task 3 of the strict-contracts force-cutover plan (docs/plans/2026-05-10-strict-contracts-force-cutover.md, rev5). Adds plugin/external/proto/iac.proto defining the typed gRPC contract that supersedes the legacy InvokeService/structpb dispatch path for IaCProvider + ResourceDriver: - service IaCProviderRequired: 11 RPCs every IaC plugin MUST implement (Initialize, Name, Version, Capabilities, Plan, Apply, Destroy, Status, Import, ResolveSizing, BootstrapStateBackend). Compile-time enforced via the SDK type-assert in Task 4. - 6 optional services — providers register only the ones they support: IaCProviderEnumerator (EnumerateAll, EnumerateByTag), IaCProviderDriftDetector (DetectDrift, DetectDriftWithSpecs), IaCProviderCredentialRevoker (RevokeProviderCredential), IaCProviderMigrationRepairer (RepairDirtyMigration), IaCProviderValidator (ValidatePlan), IaCProviderDriftConfigDetector (DetectDriftConfig). Absence of registration IS the negative signal — no NotSupported field on any optional response (per design §Optional services). - service ResourceDriver: 9 RPCs for per-resource-type CRUD dispatch (Create, Read, Update, Delete, Diff, Scale, HealthCheck, SensitiveKeys, Troubleshoot), each carrying resource_type so a single server can route to the per-type driver implementation. Hard invariants honored: - NO google.protobuf.Struct, NO google.protobuf.Any anywhere. - Free-form per-resource Config/Outputs payloads cross the wire as bytes _json (the plugin owns json.Marshal/Unmarshal); this eliminates the structpb conversion surface that previously dropped map[string]bool entries silently (T3.9 finding). - ResourceOutput.sensitive uses typed map per design. Generated iac.pb.go + iac_grpc.pb.go via protoc v34.1 + protoc-gen-go v1.36.11 + protoc-gen-go-grpc v1.6.1. Failing test (plugin/external/proto/iac_proto_test.go) asserts the generated server interfaces exist and have the methods the design requires — drops in iac.proto cause the test file to fail to compile. Verification: GOWORK=off go test ./plugin/external/proto/... PASSES; GOWORK=off go build ./plugin/... ./cmd/... ./module/... clean. Rollback: revert this commit; legacy InvokeService dispatch in plugin.proto remains functional; the additive-only nature of this PR means no consumer is affected until subsequent tasks wire callers. --- plugin/external/proto/iac.pb.go | 5139 +++++++++++++++++++++++ plugin/external/proto/iac.proto | 578 +++ plugin/external/proto/iac_grpc.pb.go | 1649 ++++++++ plugin/external/proto/iac_proto_test.go | 64 + 4 files changed, 7430 insertions(+) create mode 100644 plugin/external/proto/iac.pb.go create mode 100644 plugin/external/proto/iac.proto create mode 100644 plugin/external/proto/iac_grpc.pb.go create mode 100644 plugin/external/proto/iac_proto_test.go diff --git a/plugin/external/proto/iac.pb.go b/plugin/external/proto/iac.pb.go new file mode 100644 index 00000000..8bff86bb --- /dev/null +++ b/plugin/external/proto/iac.pb.go @@ -0,0 +1,5139 @@ +// iac.proto — typed gRPC contract for IaCProvider + ResourceDriver plugins. +// +// Design: docs/plans/2026-05-10-strict-contracts-force-cutover-design.md +// Plan: docs/plans/2026-05-10-strict-contracts-force-cutover.md (Task 3) +// +// Hard invariants (per cycle 4 §Acceptance criteria): +// - NO google.protobuf.Struct, NO google.protobuf.Any used in any message. +// - Free-form per-resource Config / Outputs payloads cross the wire as +// bytes _json, JSON-encoded by the plugin/host. The plugin owns +// the serialization shape; the proto layer carries opaque bytes. +// - ResourceOutput.sensitive uses typed map (NOT structpb). +// - REQUIRED service: every method must be implemented by every plugin. +// Compile fails on the SDK type-assert if a method is missing. +// - OPTIONAL services: providers register only the services they support. +// Absence of registration IS the negative signal — no NotSupported flag. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v7.34.1 +// source: plugin/external/proto/iac.proto + +package proto + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// DriftClass mirrors interfaces.DriftClass. Wire-stable string-equivalent +// enum: zero value is UNKNOWN (matches Go's "" zero value), with explicit +// IN_SYNC / GHOST / CONFIG variants. +type DriftClass int32 + +const ( + DriftClass_DRIFT_CLASS_UNKNOWN DriftClass = 0 + DriftClass_DRIFT_CLASS_IN_SYNC DriftClass = 1 + DriftClass_DRIFT_CLASS_GHOST DriftClass = 2 + DriftClass_DRIFT_CLASS_CONFIG DriftClass = 3 +) + +// Enum value maps for DriftClass. +var ( + DriftClass_name = map[int32]string{ + 0: "DRIFT_CLASS_UNKNOWN", + 1: "DRIFT_CLASS_IN_SYNC", + 2: "DRIFT_CLASS_GHOST", + 3: "DRIFT_CLASS_CONFIG", + } + DriftClass_value = map[string]int32{ + "DRIFT_CLASS_UNKNOWN": 0, + "DRIFT_CLASS_IN_SYNC": 1, + "DRIFT_CLASS_GHOST": 2, + "DRIFT_CLASS_CONFIG": 3, + } +) + +func (x DriftClass) Enum() *DriftClass { + p := new(DriftClass) + *p = x + return p +} + +func (x DriftClass) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DriftClass) Descriptor() protoreflect.EnumDescriptor { + return file_plugin_external_proto_iac_proto_enumTypes[0].Descriptor() +} + +func (DriftClass) Type() protoreflect.EnumType { + return &file_plugin_external_proto_iac_proto_enumTypes[0] +} + +func (x DriftClass) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DriftClass.Descriptor instead. +func (DriftClass) EnumDescriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{0} +} + +// PlanDiagnosticSeverity mirrors interfaces.PlanDiagnosticSeverity. +// Wire ordering matches the Go iota: INFO=0, WARNING=1, ERROR=2. +type PlanDiagnosticSeverity int32 + +const ( + PlanDiagnosticSeverity_PLAN_DIAGNOSTIC_INFO PlanDiagnosticSeverity = 0 + PlanDiagnosticSeverity_PLAN_DIAGNOSTIC_WARNING PlanDiagnosticSeverity = 1 + PlanDiagnosticSeverity_PLAN_DIAGNOSTIC_ERROR PlanDiagnosticSeverity = 2 +) + +// Enum value maps for PlanDiagnosticSeverity. +var ( + PlanDiagnosticSeverity_name = map[int32]string{ + 0: "PLAN_DIAGNOSTIC_INFO", + 1: "PLAN_DIAGNOSTIC_WARNING", + 2: "PLAN_DIAGNOSTIC_ERROR", + } + PlanDiagnosticSeverity_value = map[string]int32{ + "PLAN_DIAGNOSTIC_INFO": 0, + "PLAN_DIAGNOSTIC_WARNING": 1, + "PLAN_DIAGNOSTIC_ERROR": 2, + } +) + +func (x PlanDiagnosticSeverity) Enum() *PlanDiagnosticSeverity { + p := new(PlanDiagnosticSeverity) + *p = x + return p +} + +func (x PlanDiagnosticSeverity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PlanDiagnosticSeverity) Descriptor() protoreflect.EnumDescriptor { + return file_plugin_external_proto_iac_proto_enumTypes[1].Descriptor() +} + +func (PlanDiagnosticSeverity) Type() protoreflect.EnumType { + return &file_plugin_external_proto_iac_proto_enumTypes[1] +} + +func (x PlanDiagnosticSeverity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PlanDiagnosticSeverity.Descriptor instead. +func (PlanDiagnosticSeverity) EnumDescriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{1} +} + +// ResourceSpec mirrors interfaces.ResourceSpec. +type ResourceSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // config_json is a JSON-encoded map[string]any of provider-specific + // configuration. Plugins parse it with encoding/json. + ConfigJson []byte `protobuf:"bytes,3,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"` + Size string `protobuf:"bytes,4,opt,name=size,proto3" json:"size,omitempty"` // interfaces.Size string ("xs","s","m","l","xl") + Hints *ResourceHints `protobuf:"bytes,5,opt,name=hints,proto3" json:"hints,omitempty"` + DependsOn []string `protobuf:"bytes,6,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceSpec) Reset() { + *x = ResourceSpec{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceSpec) ProtoMessage() {} + +func (x *ResourceSpec) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceSpec.ProtoReflect.Descriptor instead. +func (*ResourceSpec) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{0} +} + +func (x *ResourceSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceSpec) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ResourceSpec) GetConfigJson() []byte { + if x != nil { + return x.ConfigJson + } + return nil +} + +func (x *ResourceSpec) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *ResourceSpec) GetHints() *ResourceHints { + if x != nil { + return x.Hints + } + return nil +} + +func (x *ResourceSpec) GetDependsOn() []string { + if x != nil { + return x.DependsOn + } + return nil +} + +// ResourceRef mirrors interfaces.ResourceRef. +type ResourceRef struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + ProviderId string `protobuf:"bytes,3,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceRef) Reset() { + *x = ResourceRef{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceRef) ProtoMessage() {} + +func (x *ResourceRef) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceRef.ProtoReflect.Descriptor instead. +func (*ResourceRef) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{1} +} + +func (x *ResourceRef) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceRef) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ResourceRef) GetProviderId() string { + if x != nil { + return x.ProviderId + } + return "" +} + +// ResourceHints mirrors interfaces.ResourceHints. +type ResourceHints struct { + state protoimpl.MessageState `protogen:"open.v1"` + Cpu string `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"` + Memory string `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"` + Storage string `protobuf:"bytes,3,opt,name=storage,proto3" json:"storage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceHints) Reset() { + *x = ResourceHints{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceHints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceHints) ProtoMessage() {} + +func (x *ResourceHints) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceHints.ProtoReflect.Descriptor instead. +func (*ResourceHints) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{2} +} + +func (x *ResourceHints) GetCpu() string { + if x != nil { + return x.Cpu + } + return "" +} + +func (x *ResourceHints) GetMemory() string { + if x != nil { + return x.Memory + } + return "" +} + +func (x *ResourceHints) GetStorage() string { + if x != nil { + return x.Storage + } + return "" +} + +// ProviderSizing mirrors interfaces.ProviderSizing. +type ProviderSizing struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceType string `protobuf:"bytes,1,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"` + SpecsJson []byte `protobuf:"bytes,2,opt,name=specs_json,json=specsJson,proto3" json:"specs_json,omitempty"` // JSON-encoded map[string]any of provider-specific specs + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProviderSizing) Reset() { + *x = ProviderSizing{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProviderSizing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProviderSizing) ProtoMessage() {} + +func (x *ProviderSizing) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProviderSizing.ProtoReflect.Descriptor instead. +func (*ProviderSizing) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{3} +} + +func (x *ProviderSizing) GetInstanceType() string { + if x != nil { + return x.InstanceType + } + return "" +} + +func (x *ProviderSizing) GetSpecsJson() []byte { + if x != nil { + return x.SpecsJson + } + return nil +} + +// IaCCapabilityDeclaration mirrors interfaces.IaCCapabilityDeclaration. +type IaCCapabilityDeclaration struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Tier int32 `protobuf:"varint,2,opt,name=tier,proto3" json:"tier,omitempty"` + Operations []string `protobuf:"bytes,3,rep,name=operations,proto3" json:"operations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IaCCapabilityDeclaration) Reset() { + *x = IaCCapabilityDeclaration{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IaCCapabilityDeclaration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IaCCapabilityDeclaration) ProtoMessage() {} + +func (x *IaCCapabilityDeclaration) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IaCCapabilityDeclaration.ProtoReflect.Descriptor instead. +func (*IaCCapabilityDeclaration) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{4} +} + +func (x *IaCCapabilityDeclaration) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *IaCCapabilityDeclaration) GetTier() int32 { + if x != nil { + return x.Tier + } + return 0 +} + +func (x *IaCCapabilityDeclaration) GetOperations() []string { + if x != nil { + return x.Operations + } + return nil +} + +// ResourceState mirrors interfaces.ResourceState. The on-disk JSON state +// file format is unchanged across the cutover (per design §State-file +// compat invariant); this proto carries the in-flight RPC representation. +type ResourceState struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + Provider string `protobuf:"bytes,4,opt,name=provider,proto3" json:"provider,omitempty"` + ProviderRef string `protobuf:"bytes,5,opt,name=provider_ref,json=providerRef,proto3" json:"provider_ref,omitempty"` + ProviderId string `protobuf:"bytes,6,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"` + ConfigHash string `protobuf:"bytes,7,opt,name=config_hash,json=configHash,proto3" json:"config_hash,omitempty"` + // applied_config_json is the JSON-encoded map[string]any. + AppliedConfigJson []byte `protobuf:"bytes,8,opt,name=applied_config_json,json=appliedConfigJson,proto3" json:"applied_config_json,omitempty"` + // applied_config_source: "" | "apply" | "adoption" (provenance discriminator). + AppliedConfigSource string `protobuf:"bytes,9,opt,name=applied_config_source,json=appliedConfigSource,proto3" json:"applied_config_source,omitempty"` + // outputs_json is the JSON-encoded map[string]any. + OutputsJson []byte `protobuf:"bytes,10,opt,name=outputs_json,json=outputsJson,proto3" json:"outputs_json,omitempty"` + Dependencies []string `protobuf:"bytes,11,rep,name=dependencies,proto3" json:"dependencies,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + LastDriftCheck *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=last_drift_check,json=lastDriftCheck,proto3" json:"last_drift_check,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceState) Reset() { + *x = ResourceState{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceState) ProtoMessage() {} + +func (x *ResourceState) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceState.ProtoReflect.Descriptor instead. +func (*ResourceState) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{5} +} + +func (x *ResourceState) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ResourceState) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceState) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ResourceState) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *ResourceState) GetProviderRef() string { + if x != nil { + return x.ProviderRef + } + return "" +} + +func (x *ResourceState) GetProviderId() string { + if x != nil { + return x.ProviderId + } + return "" +} + +func (x *ResourceState) GetConfigHash() string { + if x != nil { + return x.ConfigHash + } + return "" +} + +func (x *ResourceState) GetAppliedConfigJson() []byte { + if x != nil { + return x.AppliedConfigJson + } + return nil +} + +func (x *ResourceState) GetAppliedConfigSource() string { + if x != nil { + return x.AppliedConfigSource + } + return "" +} + +func (x *ResourceState) GetOutputsJson() []byte { + if x != nil { + return x.OutputsJson + } + return nil +} + +func (x *ResourceState) GetDependencies() []string { + if x != nil { + return x.Dependencies + } + return nil +} + +func (x *ResourceState) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *ResourceState) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *ResourceState) GetLastDriftCheck() *timestamppb.Timestamp { + if x != nil { + return x.LastDriftCheck + } + return nil +} + +// ResourceOutput mirrors interfaces.ResourceOutput. The sensitive map is +// typed map per the design — the structpb roundtrip that +// previously dropped this map silently is eliminated. +type ResourceOutput struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + ProviderId string `protobuf:"bytes,3,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"` + // outputs_json is the JSON-encoded map[string]any of provider-emitted + // fields (IPs, endpoints, connection strings, etc.). + OutputsJson []byte `protobuf:"bytes,4,opt,name=outputs_json,json=outputsJson,proto3" json:"outputs_json,omitempty"` + Sensitive map[string]bool `protobuf:"bytes,5,rep,name=sensitive,proto3" json:"sensitive,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceOutput) Reset() { + *x = ResourceOutput{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceOutput) ProtoMessage() {} + +func (x *ResourceOutput) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceOutput.ProtoReflect.Descriptor instead. +func (*ResourceOutput) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{6} +} + +func (x *ResourceOutput) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceOutput) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ResourceOutput) GetProviderId() string { + if x != nil { + return x.ProviderId + } + return "" +} + +func (x *ResourceOutput) GetOutputsJson() []byte { + if x != nil { + return x.OutputsJson + } + return nil +} + +func (x *ResourceOutput) GetSensitive() map[string]bool { + if x != nil { + return x.Sensitive + } + return nil +} + +func (x *ResourceOutput) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +// ResourceStatus mirrors interfaces.ResourceStatus. +type ResourceStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + ProviderId string `protobuf:"bytes,3,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // running | stopped | degraded | unknown + OutputsJson []byte `protobuf:"bytes,5,opt,name=outputs_json,json=outputsJson,proto3" json:"outputs_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceStatus) Reset() { + *x = ResourceStatus{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceStatus) ProtoMessage() {} + +func (x *ResourceStatus) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceStatus.ProtoReflect.Descriptor instead. +func (*ResourceStatus) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{7} +} + +func (x *ResourceStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceStatus) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ResourceStatus) GetProviderId() string { + if x != nil { + return x.ProviderId + } + return "" +} + +func (x *ResourceStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ResourceStatus) GetOutputsJson() []byte { + if x != nil { + return x.OutputsJson + } + return nil +} + +// FieldChange mirrors interfaces.FieldChange. +type FieldChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // old_json / new_json carry arbitrary scalar/map/list values JSON-encoded. + OldJson []byte `protobuf:"bytes,2,opt,name=old_json,json=oldJson,proto3" json:"old_json,omitempty"` + NewJson []byte `protobuf:"bytes,3,opt,name=new_json,json=newJson,proto3" json:"new_json,omitempty"` + ForceNew bool `protobuf:"varint,4,opt,name=force_new,json=forceNew,proto3" json:"force_new,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldChange) Reset() { + *x = FieldChange{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldChange) ProtoMessage() {} + +func (x *FieldChange) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldChange.ProtoReflect.Descriptor instead. +func (*FieldChange) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{8} +} + +func (x *FieldChange) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *FieldChange) GetOldJson() []byte { + if x != nil { + return x.OldJson + } + return nil +} + +func (x *FieldChange) GetNewJson() []byte { + if x != nil { + return x.NewJson + } + return nil +} + +func (x *FieldChange) GetForceNew() bool { + if x != nil { + return x.ForceNew + } + return false +} + +// DiffResult mirrors interfaces.DiffResult. +type DiffResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + NeedsUpdate bool `protobuf:"varint,1,opt,name=needs_update,json=needsUpdate,proto3" json:"needs_update,omitempty"` + NeedsReplace bool `protobuf:"varint,2,opt,name=needs_replace,json=needsReplace,proto3" json:"needs_replace,omitempty"` + Changes []*FieldChange `protobuf:"bytes,3,rep,name=changes,proto3" json:"changes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DiffResult) Reset() { + *x = DiffResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DiffResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiffResult) ProtoMessage() {} + +func (x *DiffResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiffResult.ProtoReflect.Descriptor instead. +func (*DiffResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{9} +} + +func (x *DiffResult) GetNeedsUpdate() bool { + if x != nil { + return x.NeedsUpdate + } + return false +} + +func (x *DiffResult) GetNeedsReplace() bool { + if x != nil { + return x.NeedsReplace + } + return false +} + +func (x *DiffResult) GetChanges() []*FieldChange { + if x != nil { + return x.Changes + } + return nil +} + +// DriftResult mirrors interfaces.DriftResult. +type DriftResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Drifted bool `protobuf:"varint,3,opt,name=drifted,proto3" json:"drifted,omitempty"` + Class DriftClass `protobuf:"varint,4,opt,name=class,proto3,enum=workflow.plugin.external.iac.DriftClass" json:"class,omitempty"` + ExpectedJson []byte `protobuf:"bytes,5,opt,name=expected_json,json=expectedJson,proto3" json:"expected_json,omitempty"` // JSON-encoded map[string]any + ActualJson []byte `protobuf:"bytes,6,opt,name=actual_json,json=actualJson,proto3" json:"actual_json,omitempty"` // JSON-encoded map[string]any + Fields []string `protobuf:"bytes,7,rep,name=fields,proto3" json:"fields,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DriftResult) Reset() { + *x = DriftResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DriftResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DriftResult) ProtoMessage() {} + +func (x *DriftResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DriftResult.ProtoReflect.Descriptor instead. +func (*DriftResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{10} +} + +func (x *DriftResult) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DriftResult) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DriftResult) GetDrifted() bool { + if x != nil { + return x.Drifted + } + return false +} + +func (x *DriftResult) GetClass() DriftClass { + if x != nil { + return x.Class + } + return DriftClass_DRIFT_CLASS_UNKNOWN +} + +func (x *DriftResult) GetExpectedJson() []byte { + if x != nil { + return x.ExpectedJson + } + return nil +} + +func (x *DriftResult) GetActualJson() []byte { + if x != nil { + return x.ActualJson + } + return nil +} + +func (x *DriftResult) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +// DriftEntry mirrors interfaces.DriftEntry. +type DriftEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + PlanFingerprint string `protobuf:"bytes,2,opt,name=plan_fingerprint,json=planFingerprint,proto3" json:"plan_fingerprint,omitempty"` + ApplyFingerprint string `protobuf:"bytes,3,opt,name=apply_fingerprint,json=applyFingerprint,proto3" json:"apply_fingerprint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DriftEntry) Reset() { + *x = DriftEntry{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DriftEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DriftEntry) ProtoMessage() {} + +func (x *DriftEntry) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DriftEntry.ProtoReflect.Descriptor instead. +func (*DriftEntry) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{11} +} + +func (x *DriftEntry) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DriftEntry) GetPlanFingerprint() string { + if x != nil { + return x.PlanFingerprint + } + return "" +} + +func (x *DriftEntry) GetApplyFingerprint() string { + if x != nil { + return x.ApplyFingerprint + } + return "" +} + +// HealthResult mirrors interfaces.HealthResult. +type HealthResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Healthy bool `protobuf:"varint,1,opt,name=healthy,proto3" json:"healthy,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthResult) Reset() { + *x = HealthResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthResult) ProtoMessage() {} + +func (x *HealthResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthResult.ProtoReflect.Descriptor instead. +func (*HealthResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{12} +} + +func (x *HealthResult) GetHealthy() bool { + if x != nil { + return x.Healthy + } + return false +} + +func (x *HealthResult) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// Diagnostic mirrors interfaces.Diagnostic (Troubleshooter type). +type Diagnostic struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Phase string `protobuf:"bytes,2,opt,name=phase,proto3" json:"phase,omitempty"` + Cause string `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"` + At *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=at,proto3" json:"at,omitempty"` + Detail string `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Diagnostic) Reset() { + *x = Diagnostic{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Diagnostic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Diagnostic) ProtoMessage() {} + +func (x *Diagnostic) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Diagnostic.ProtoReflect.Descriptor instead. +func (*Diagnostic) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{13} +} + +func (x *Diagnostic) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Diagnostic) GetPhase() string { + if x != nil { + return x.Phase + } + return "" +} + +func (x *Diagnostic) GetCause() string { + if x != nil { + return x.Cause + } + return "" +} + +func (x *Diagnostic) GetAt() *timestamppb.Timestamp { + if x != nil { + return x.At + } + return nil +} + +func (x *Diagnostic) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +// PlanDiagnostic mirrors interfaces.PlanDiagnostic. +type PlanDiagnostic struct { + state protoimpl.MessageState `protogen:"open.v1"` + Severity PlanDiagnosticSeverity `protobuf:"varint,1,opt,name=severity,proto3,enum=workflow.plugin.external.iac.PlanDiagnosticSeverity" json:"severity,omitempty"` + Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` + Field string `protobuf:"bytes,3,opt,name=field,proto3" json:"field,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanDiagnostic) Reset() { + *x = PlanDiagnostic{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanDiagnostic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanDiagnostic) ProtoMessage() {} + +func (x *PlanDiagnostic) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanDiagnostic.ProtoReflect.Descriptor instead. +func (*PlanDiagnostic) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{14} +} + +func (x *PlanDiagnostic) GetSeverity() PlanDiagnosticSeverity { + if x != nil { + return x.Severity + } + return PlanDiagnosticSeverity_PLAN_DIAGNOSTIC_INFO +} + +func (x *PlanDiagnostic) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *PlanDiagnostic) GetField() string { + if x != nil { + return x.Field + } + return "" +} + +func (x *PlanDiagnostic) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// PlanAction mirrors interfaces.PlanAction. +type PlanAction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` // create | update | replace | delete + Resource *ResourceSpec `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` + Current *ResourceState `protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"` + Changes []*FieldChange `protobuf:"bytes,4,rep,name=changes,proto3" json:"changes,omitempty"` + ResolvedConfigHash string `protobuf:"bytes,5,opt,name=resolved_config_hash,json=resolvedConfigHash,proto3" json:"resolved_config_hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanAction) Reset() { + *x = PlanAction{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanAction) ProtoMessage() {} + +func (x *PlanAction) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanAction.ProtoReflect.Descriptor instead. +func (*PlanAction) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{15} +} + +func (x *PlanAction) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *PlanAction) GetResource() *ResourceSpec { + if x != nil { + return x.Resource + } + return nil +} + +func (x *PlanAction) GetCurrent() *ResourceState { + if x != nil { + return x.Current + } + return nil +} + +func (x *PlanAction) GetChanges() []*FieldChange { + if x != nil { + return x.Changes + } + return nil +} + +func (x *PlanAction) GetResolvedConfigHash() string { + if x != nil { + return x.ResolvedConfigHash + } + return "" +} + +// IaCPlan mirrors interfaces.IaCPlan. +type IaCPlan struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Actions []*PlanAction `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DesiredHash string `protobuf:"bytes,4,opt,name=desired_hash,json=desiredHash,proto3" json:"desired_hash,omitempty"` + SchemaVersion int32 `protobuf:"varint,5,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` + InputSnapshot map[string]string `protobuf:"bytes,6,rep,name=input_snapshot,json=inputSnapshot,proto3" json:"input_snapshot,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IaCPlan) Reset() { + *x = IaCPlan{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IaCPlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IaCPlan) ProtoMessage() {} + +func (x *IaCPlan) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IaCPlan.ProtoReflect.Descriptor instead. +func (*IaCPlan) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{16} +} + +func (x *IaCPlan) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *IaCPlan) GetActions() []*PlanAction { + if x != nil { + return x.Actions + } + return nil +} + +func (x *IaCPlan) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *IaCPlan) GetDesiredHash() string { + if x != nil { + return x.DesiredHash + } + return "" +} + +func (x *IaCPlan) GetSchemaVersion() int32 { + if x != nil { + return x.SchemaVersion + } + return 0 +} + +func (x *IaCPlan) GetInputSnapshot() map[string]string { + if x != nil { + return x.InputSnapshot + } + return nil +} + +// ActionError mirrors interfaces.ActionError. +type ActionError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActionError) Reset() { + *x = ActionError{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActionError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActionError) ProtoMessage() {} + +func (x *ActionError) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActionError.ProtoReflect.Descriptor instead. +func (*ActionError) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{17} +} + +func (x *ActionError) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *ActionError) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *ActionError) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +// ApplyResult mirrors interfaces.ApplyResult. +type ApplyResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + Resources []*ResourceOutput `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` + Errors []*ActionError `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` + InitialInputSnapshot map[string]string `protobuf:"bytes,4,rep,name=initial_input_snapshot,json=initialInputSnapshot,proto3" json:"initial_input_snapshot,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + InputDriftReport []*DriftEntry `protobuf:"bytes,5,rep,name=input_drift_report,json=inputDriftReport,proto3" json:"input_drift_report,omitempty"` + ReplaceIdMap map[string]string `protobuf:"bytes,6,rep,name=replace_id_map,json=replaceIdMap,proto3" json:"replace_id_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplyResult) Reset() { + *x = ApplyResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplyResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyResult) ProtoMessage() {} + +func (x *ApplyResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyResult.ProtoReflect.Descriptor instead. +func (*ApplyResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{18} +} + +func (x *ApplyResult) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *ApplyResult) GetResources() []*ResourceOutput { + if x != nil { + return x.Resources + } + return nil +} + +func (x *ApplyResult) GetErrors() []*ActionError { + if x != nil { + return x.Errors + } + return nil +} + +func (x *ApplyResult) GetInitialInputSnapshot() map[string]string { + if x != nil { + return x.InitialInputSnapshot + } + return nil +} + +func (x *ApplyResult) GetInputDriftReport() []*DriftEntry { + if x != nil { + return x.InputDriftReport + } + return nil +} + +func (x *ApplyResult) GetReplaceIdMap() map[string]string { + if x != nil { + return x.ReplaceIdMap + } + return nil +} + +// DestroyResult mirrors interfaces.DestroyResult. +type DestroyResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Destroyed []string `protobuf:"bytes,1,rep,name=destroyed,proto3" json:"destroyed,omitempty"` + Errors []*ActionError `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DestroyResult) Reset() { + *x = DestroyResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DestroyResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestroyResult) ProtoMessage() {} + +func (x *DestroyResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DestroyResult.ProtoReflect.Descriptor instead. +func (*DestroyResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{19} +} + +func (x *DestroyResult) GetDestroyed() []string { + if x != nil { + return x.Destroyed + } + return nil +} + +func (x *DestroyResult) GetErrors() []*ActionError { + if x != nil { + return x.Errors + } + return nil +} + +// BootstrapResult mirrors interfaces.BootstrapResult. +type BootstrapResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` + Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + EnvVars map[string]string `protobuf:"bytes,4,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BootstrapResult) Reset() { + *x = BootstrapResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BootstrapResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BootstrapResult) ProtoMessage() {} + +func (x *BootstrapResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BootstrapResult.ProtoReflect.Descriptor instead. +func (*BootstrapResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{20} +} + +func (x *BootstrapResult) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *BootstrapResult) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *BootstrapResult) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *BootstrapResult) GetEnvVars() map[string]string { + if x != nil { + return x.EnvVars + } + return nil +} + +// MigrationRepairRequest mirrors interfaces.MigrationRepairRequest. +type MigrationRepairRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AppResourceName string `protobuf:"bytes,1,opt,name=app_resource_name,json=appResourceName,proto3" json:"app_resource_name,omitempty"` + DatabaseResourceName string `protobuf:"bytes,2,opt,name=database_resource_name,json=databaseResourceName,proto3" json:"database_resource_name,omitempty"` + JobImage string `protobuf:"bytes,3,opt,name=job_image,json=jobImage,proto3" json:"job_image,omitempty"` + SourceDir string `protobuf:"bytes,4,opt,name=source_dir,json=sourceDir,proto3" json:"source_dir,omitempty"` + ExpectedDirtyVersion string `protobuf:"bytes,5,opt,name=expected_dirty_version,json=expectedDirtyVersion,proto3" json:"expected_dirty_version,omitempty"` + ForceVersion string `protobuf:"bytes,6,opt,name=force_version,json=forceVersion,proto3" json:"force_version,omitempty"` + ThenUp bool `protobuf:"varint,7,opt,name=then_up,json=thenUp,proto3" json:"then_up,omitempty"` + UpIfClean bool `protobuf:"varint,8,opt,name=up_if_clean,json=upIfClean,proto3" json:"up_if_clean,omitempty"` + // confirm_force MUST equal interfaces.MigrationRepairConfirmation + // ("FORCE_MIGRATION_METADATA"); the plugin re-validates server-side. + ConfirmForce string `protobuf:"bytes,9,opt,name=confirm_force,json=confirmForce,proto3" json:"confirm_force,omitempty"` + Env map[string]string `protobuf:"bytes,10,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + TimeoutSeconds int32 `protobuf:"varint,11,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MigrationRepairRequest) Reset() { + *x = MigrationRepairRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MigrationRepairRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrationRepairRequest) ProtoMessage() {} + +func (x *MigrationRepairRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrationRepairRequest.ProtoReflect.Descriptor instead. +func (*MigrationRepairRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{21} +} + +func (x *MigrationRepairRequest) GetAppResourceName() string { + if x != nil { + return x.AppResourceName + } + return "" +} + +func (x *MigrationRepairRequest) GetDatabaseResourceName() string { + if x != nil { + return x.DatabaseResourceName + } + return "" +} + +func (x *MigrationRepairRequest) GetJobImage() string { + if x != nil { + return x.JobImage + } + return "" +} + +func (x *MigrationRepairRequest) GetSourceDir() string { + if x != nil { + return x.SourceDir + } + return "" +} + +func (x *MigrationRepairRequest) GetExpectedDirtyVersion() string { + if x != nil { + return x.ExpectedDirtyVersion + } + return "" +} + +func (x *MigrationRepairRequest) GetForceVersion() string { + if x != nil { + return x.ForceVersion + } + return "" +} + +func (x *MigrationRepairRequest) GetThenUp() bool { + if x != nil { + return x.ThenUp + } + return false +} + +func (x *MigrationRepairRequest) GetUpIfClean() bool { + if x != nil { + return x.UpIfClean + } + return false +} + +func (x *MigrationRepairRequest) GetConfirmForce() string { + if x != nil { + return x.ConfirmForce + } + return "" +} + +func (x *MigrationRepairRequest) GetEnv() map[string]string { + if x != nil { + return x.Env + } + return nil +} + +func (x *MigrationRepairRequest) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +// MigrationRepairResult mirrors interfaces.MigrationRepairResult. +type MigrationRepairResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + ProviderJobId string `protobuf:"bytes,1,opt,name=provider_job_id,json=providerJobId,proto3" json:"provider_job_id,omitempty"` + // status is one of MigrationRepairStatusSucceeded / Failed / + // ApprovalRequired / Unsupported (interfaces/migration_repair.go). + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Applied []string `protobuf:"bytes,3,rep,name=applied,proto3" json:"applied,omitempty"` + Logs string `protobuf:"bytes,4,opt,name=logs,proto3" json:"logs,omitempty"` + Diagnostics []*Diagnostic `protobuf:"bytes,5,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MigrationRepairResult) Reset() { + *x = MigrationRepairResult{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MigrationRepairResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrationRepairResult) ProtoMessage() {} + +func (x *MigrationRepairResult) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrationRepairResult.ProtoReflect.Descriptor instead. +func (*MigrationRepairResult) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{22} +} + +func (x *MigrationRepairResult) GetProviderJobId() string { + if x != nil { + return x.ProviderJobId + } + return "" +} + +func (x *MigrationRepairResult) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *MigrationRepairResult) GetApplied() []string { + if x != nil { + return x.Applied + } + return nil +} + +func (x *MigrationRepairResult) GetLogs() string { + if x != nil { + return x.Logs + } + return "" +} + +func (x *MigrationRepairResult) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type InitializeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // config_json is the JSON-encoded provider-config map[string]any. + ConfigJson []byte `protobuf:"bytes,1,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InitializeRequest) Reset() { + *x = InitializeRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InitializeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InitializeRequest) ProtoMessage() {} + +func (x *InitializeRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. +func (*InitializeRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{23} +} + +func (x *InitializeRequest) GetConfigJson() []byte { + if x != nil { + return x.ConfigJson + } + return nil +} + +type InitializeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InitializeResponse) Reset() { + *x = InitializeResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InitializeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InitializeResponse) ProtoMessage() {} + +func (x *InitializeResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InitializeResponse.ProtoReflect.Descriptor instead. +func (*InitializeResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{24} +} + +type NameRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NameRequest) Reset() { + *x = NameRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NameRequest) ProtoMessage() {} + +func (x *NameRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NameRequest.ProtoReflect.Descriptor instead. +func (*NameRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{25} +} + +type NameResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NameResponse) Reset() { + *x = NameResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NameResponse) ProtoMessage() {} + +func (x *NameResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NameResponse.ProtoReflect.Descriptor instead. +func (*NameResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{26} +} + +func (x *NameResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type VersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersionRequest) Reset() { + *x = VersionRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionRequest) ProtoMessage() {} + +func (x *VersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. +func (*VersionRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{27} +} + +type VersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersionResponse) Reset() { + *x = VersionResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionResponse) ProtoMessage() {} + +func (x *VersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. +func (*VersionResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{28} +} + +func (x *VersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type CapabilitiesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CapabilitiesRequest) Reset() { + *x = CapabilitiesRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CapabilitiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CapabilitiesRequest) ProtoMessage() {} + +func (x *CapabilitiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CapabilitiesRequest.ProtoReflect.Descriptor instead. +func (*CapabilitiesRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{29} +} + +type CapabilitiesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Capabilities []*IaCCapabilityDeclaration `protobuf:"bytes,1,rep,name=capabilities,proto3" json:"capabilities,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CapabilitiesResponse) Reset() { + *x = CapabilitiesResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CapabilitiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CapabilitiesResponse) ProtoMessage() {} + +func (x *CapabilitiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CapabilitiesResponse.ProtoReflect.Descriptor instead. +func (*CapabilitiesResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{30} +} + +func (x *CapabilitiesResponse) GetCapabilities() []*IaCCapabilityDeclaration { + if x != nil { + return x.Capabilities + } + return nil +} + +type PlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Desired []*ResourceSpec `protobuf:"bytes,1,rep,name=desired,proto3" json:"desired,omitempty"` + Current []*ResourceState `protobuf:"bytes,2,rep,name=current,proto3" json:"current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanRequest) Reset() { + *x = PlanRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanRequest) ProtoMessage() {} + +func (x *PlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanRequest.ProtoReflect.Descriptor instead. +func (*PlanRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{31} +} + +func (x *PlanRequest) GetDesired() []*ResourceSpec { + if x != nil { + return x.Desired + } + return nil +} + +func (x *PlanRequest) GetCurrent() []*ResourceState { + if x != nil { + return x.Current + } + return nil +} + +type PlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *IaCPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanResponse) Reset() { + *x = PlanResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanResponse) ProtoMessage() {} + +func (x *PlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanResponse.ProtoReflect.Descriptor instead. +func (*PlanResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{32} +} + +func (x *PlanResponse) GetPlan() *IaCPlan { + if x != nil { + return x.Plan + } + return nil +} + +type ApplyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *IaCPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplyRequest) Reset() { + *x = ApplyRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyRequest) ProtoMessage() {} + +func (x *ApplyRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyRequest.ProtoReflect.Descriptor instead. +func (*ApplyRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{33} +} + +func (x *ApplyRequest) GetPlan() *IaCPlan { + if x != nil { + return x.Plan + } + return nil +} + +type ApplyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *ApplyResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplyResponse) Reset() { + *x = ApplyResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyResponse) ProtoMessage() {} + +func (x *ApplyResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyResponse.ProtoReflect.Descriptor instead. +func (*ApplyResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{34} +} + +func (x *ApplyResponse) GetResult() *ApplyResult { + if x != nil { + return x.Result + } + return nil +} + +type DestroyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DestroyRequest) Reset() { + *x = DestroyRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DestroyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestroyRequest) ProtoMessage() {} + +func (x *DestroyRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DestroyRequest.ProtoReflect.Descriptor instead. +func (*DestroyRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{35} +} + +func (x *DestroyRequest) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +type DestroyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *DestroyResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DestroyResponse) Reset() { + *x = DestroyResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DestroyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestroyResponse) ProtoMessage() {} + +func (x *DestroyResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DestroyResponse.ProtoReflect.Descriptor instead. +func (*DestroyResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{36} +} + +func (x *DestroyResponse) GetResult() *DestroyResult { + if x != nil { + return x.Result + } + return nil +} + +type StatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusRequest) Reset() { + *x = StatusRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusRequest) ProtoMessage() {} + +func (x *StatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead. +func (*StatusRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{37} +} + +func (x *StatusRequest) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +type StatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Statuses []*ResourceStatus `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusResponse) Reset() { + *x = StatusResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusResponse) ProtoMessage() {} + +func (x *StatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. +func (*StatusResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{38} +} + +func (x *StatusResponse) GetStatuses() []*ResourceStatus { + if x != nil { + return x.Statuses + } + return nil +} + +type ImportRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ProviderId string `protobuf:"bytes,1,opt,name=provider_id,json=providerId,proto3" json:"provider_id,omitempty"` + ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportRequest) Reset() { + *x = ImportRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportRequest) ProtoMessage() {} + +func (x *ImportRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportRequest.ProtoReflect.Descriptor instead. +func (*ImportRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{39} +} + +func (x *ImportRequest) GetProviderId() string { + if x != nil { + return x.ProviderId + } + return "" +} + +func (x *ImportRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +type ImportResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + State *ResourceState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportResponse) Reset() { + *x = ImportResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportResponse) ProtoMessage() {} + +func (x *ImportResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportResponse.ProtoReflect.Descriptor instead. +func (*ImportResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{40} +} + +func (x *ImportResponse) GetState() *ResourceState { + if x != nil { + return x.State + } + return nil +} + +type ResolveSizingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Size string `protobuf:"bytes,2,opt,name=size,proto3" json:"size,omitempty"` // interfaces.Size string + Hints *ResourceHints `protobuf:"bytes,3,opt,name=hints,proto3" json:"hints,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveSizingRequest) Reset() { + *x = ResolveSizingRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveSizingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveSizingRequest) ProtoMessage() {} + +func (x *ResolveSizingRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveSizingRequest.ProtoReflect.Descriptor instead. +func (*ResolveSizingRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{41} +} + +func (x *ResolveSizingRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResolveSizingRequest) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *ResolveSizingRequest) GetHints() *ResourceHints { + if x != nil { + return x.Hints + } + return nil +} + +type ResolveSizingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Sizing *ProviderSizing `protobuf:"bytes,1,opt,name=sizing,proto3" json:"sizing,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveSizingResponse) Reset() { + *x = ResolveSizingResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveSizingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveSizingResponse) ProtoMessage() {} + +func (x *ResolveSizingResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveSizingResponse.ProtoReflect.Descriptor instead. +func (*ResolveSizingResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{42} +} + +func (x *ResolveSizingResponse) GetSizing() *ProviderSizing { + if x != nil { + return x.Sizing + } + return nil +} + +type BootstrapStateBackendRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // config_json is the JSON-encoded iac.state module config map[string]any. + ConfigJson []byte `protobuf:"bytes,1,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BootstrapStateBackendRequest) Reset() { + *x = BootstrapStateBackendRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BootstrapStateBackendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BootstrapStateBackendRequest) ProtoMessage() {} + +func (x *BootstrapStateBackendRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BootstrapStateBackendRequest.ProtoReflect.Descriptor instead. +func (*BootstrapStateBackendRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{43} +} + +func (x *BootstrapStateBackendRequest) GetConfigJson() []byte { + if x != nil { + return x.ConfigJson + } + return nil +} + +type BootstrapStateBackendResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *BootstrapResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BootstrapStateBackendResponse) Reset() { + *x = BootstrapStateBackendResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BootstrapStateBackendResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BootstrapStateBackendResponse) ProtoMessage() {} + +func (x *BootstrapStateBackendResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BootstrapStateBackendResponse.ProtoReflect.Descriptor instead. +func (*BootstrapStateBackendResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{44} +} + +func (x *BootstrapStateBackendResponse) GetResult() *BootstrapResult { + if x != nil { + return x.Result + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderEnumerator messages. +// ───────────────────────────────────────────────────────────────────────────── +type EnumerateAllRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumerateAllRequest) Reset() { + *x = EnumerateAllRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumerateAllRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumerateAllRequest) ProtoMessage() {} + +func (x *EnumerateAllRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumerateAllRequest.ProtoReflect.Descriptor instead. +func (*EnumerateAllRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{45} +} + +func (x *EnumerateAllRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +type EnumerateAllResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Outputs []*ResourceOutput `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumerateAllResponse) Reset() { + *x = EnumerateAllResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumerateAllResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumerateAllResponse) ProtoMessage() {} + +func (x *EnumerateAllResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumerateAllResponse.ProtoReflect.Descriptor instead. +func (*EnumerateAllResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{46} +} + +func (x *EnumerateAllResponse) GetOutputs() []*ResourceOutput { + if x != nil { + return x.Outputs + } + return nil +} + +type EnumerateByTagRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumerateByTagRequest) Reset() { + *x = EnumerateByTagRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumerateByTagRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumerateByTagRequest) ProtoMessage() {} + +func (x *EnumerateByTagRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumerateByTagRequest.ProtoReflect.Descriptor instead. +func (*EnumerateByTagRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{47} +} + +func (x *EnumerateByTagRequest) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +type EnumerateByTagResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumerateByTagResponse) Reset() { + *x = EnumerateByTagResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumerateByTagResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumerateByTagResponse) ProtoMessage() {} + +func (x *EnumerateByTagResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumerateByTagResponse.ProtoReflect.Descriptor instead. +func (*EnumerateByTagResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{48} +} + +func (x *EnumerateByTagResponse) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderDriftDetector messages. +// ───────────────────────────────────────────────────────────────────────────── +type DetectDriftRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftRequest) Reset() { + *x = DetectDriftRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftRequest) ProtoMessage() {} + +func (x *DetectDriftRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftRequest.ProtoReflect.Descriptor instead. +func (*DetectDriftRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{49} +} + +func (x *DetectDriftRequest) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +type DetectDriftResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Drifts []*DriftResult `protobuf:"bytes,1,rep,name=drifts,proto3" json:"drifts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftResponse) Reset() { + *x = DetectDriftResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftResponse) ProtoMessage() {} + +func (x *DetectDriftResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftResponse.ProtoReflect.Descriptor instead. +func (*DetectDriftResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{50} +} + +func (x *DetectDriftResponse) GetDrifts() []*DriftResult { + if x != nil { + return x.Drifts + } + return nil +} + +type DetectDriftWithSpecsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + // specs is keyed by ResourceRef.Name (matches ResourceState.Name) per the + // Go DriftConfigDetector.DetectDriftWithSpecs contract. + Specs map[string]*ResourceSpec `protobuf:"bytes,2,rep,name=specs,proto3" json:"specs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftWithSpecsRequest) Reset() { + *x = DetectDriftWithSpecsRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftWithSpecsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftWithSpecsRequest) ProtoMessage() {} + +func (x *DetectDriftWithSpecsRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftWithSpecsRequest.ProtoReflect.Descriptor instead. +func (*DetectDriftWithSpecsRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{51} +} + +func (x *DetectDriftWithSpecsRequest) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +func (x *DetectDriftWithSpecsRequest) GetSpecs() map[string]*ResourceSpec { + if x != nil { + return x.Specs + } + return nil +} + +type DetectDriftWithSpecsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Drifts []*DriftResult `protobuf:"bytes,1,rep,name=drifts,proto3" json:"drifts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftWithSpecsResponse) Reset() { + *x = DetectDriftWithSpecsResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftWithSpecsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftWithSpecsResponse) ProtoMessage() {} + +func (x *DetectDriftWithSpecsResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftWithSpecsResponse.ProtoReflect.Descriptor instead. +func (*DetectDriftWithSpecsResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{52} +} + +func (x *DetectDriftWithSpecsResponse) GetDrifts() []*DriftResult { + if x != nil { + return x.Drifts + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderCredentialRevoker messages. +// ───────────────────────────────────────────────────────────────────────────── +type RevokeProviderCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // source is the provider_credential source string (e.g. "digitalocean.spaces"). + Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // credential_id is the provider-specific identifier of the OLD credential. + CredentialId string `protobuf:"bytes,2,opt,name=credential_id,json=credentialId,proto3" json:"credential_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeProviderCredentialRequest) Reset() { + *x = RevokeProviderCredentialRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeProviderCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeProviderCredentialRequest) ProtoMessage() {} + +func (x *RevokeProviderCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeProviderCredentialRequest.ProtoReflect.Descriptor instead. +func (*RevokeProviderCredentialRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{53} +} + +func (x *RevokeProviderCredentialRequest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *RevokeProviderCredentialRequest) GetCredentialId() string { + if x != nil { + return x.CredentialId + } + return "" +} + +type RevokeProviderCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeProviderCredentialResponse) Reset() { + *x = RevokeProviderCredentialResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeProviderCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeProviderCredentialResponse) ProtoMessage() {} + +func (x *RevokeProviderCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeProviderCredentialResponse.ProtoReflect.Descriptor instead. +func (*RevokeProviderCredentialResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{54} +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderMigrationRepairer messages. +// ───────────────────────────────────────────────────────────────────────────── +type RepairDirtyMigrationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Request *MigrationRepairRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepairDirtyMigrationRequest) Reset() { + *x = RepairDirtyMigrationRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepairDirtyMigrationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepairDirtyMigrationRequest) ProtoMessage() {} + +func (x *RepairDirtyMigrationRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepairDirtyMigrationRequest.ProtoReflect.Descriptor instead. +func (*RepairDirtyMigrationRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{55} +} + +func (x *RepairDirtyMigrationRequest) GetRequest() *MigrationRepairRequest { + if x != nil { + return x.Request + } + return nil +} + +type RepairDirtyMigrationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *MigrationRepairResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepairDirtyMigrationResponse) Reset() { + *x = RepairDirtyMigrationResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepairDirtyMigrationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepairDirtyMigrationResponse) ProtoMessage() {} + +func (x *RepairDirtyMigrationResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepairDirtyMigrationResponse.ProtoReflect.Descriptor instead. +func (*RepairDirtyMigrationResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{56} +} + +func (x *RepairDirtyMigrationResponse) GetResult() *MigrationRepairResult { + if x != nil { + return x.Result + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderValidator messages. +// ───────────────────────────────────────────────────────────────────────────── +type ValidatePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *IaCPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidatePlanRequest) Reset() { + *x = ValidatePlanRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidatePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePlanRequest) ProtoMessage() {} + +func (x *ValidatePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePlanRequest.ProtoReflect.Descriptor instead. +func (*ValidatePlanRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{57} +} + +func (x *ValidatePlanRequest) GetPlan() *IaCPlan { + if x != nil { + return x.Plan + } + return nil +} + +type ValidatePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*PlanDiagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidatePlanResponse) Reset() { + *x = ValidatePlanResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidatePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePlanResponse) ProtoMessage() {} + +func (x *ValidatePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePlanResponse.ProtoReflect.Descriptor instead. +func (*ValidatePlanResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{58} +} + +func (x *ValidatePlanResponse) GetDiagnostics() []*PlanDiagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderDriftConfigDetector messages. +// Mirrors the existing interfaces.DriftConfigDetector.DetectDriftWithSpecs +// contract: refs + per-ref applied-config specs → drift classifications. +// Carried as a separate optional service per design §Optional services. +// ───────────────────────────────────────────────────────────────────────────── +type DetectDriftConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Refs []*ResourceRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` + Specs map[string]*ResourceSpec `protobuf:"bytes,2,rep,name=specs,proto3" json:"specs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftConfigRequest) Reset() { + *x = DetectDriftConfigRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftConfigRequest) ProtoMessage() {} + +func (x *DetectDriftConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftConfigRequest.ProtoReflect.Descriptor instead. +func (*DetectDriftConfigRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{59} +} + +func (x *DetectDriftConfigRequest) GetRefs() []*ResourceRef { + if x != nil { + return x.Refs + } + return nil +} + +func (x *DetectDriftConfigRequest) GetSpecs() map[string]*ResourceSpec { + if x != nil { + return x.Specs + } + return nil +} + +type DetectDriftConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Drifts []*DriftResult `protobuf:"bytes,1,rep,name=drifts,proto3" json:"drifts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetectDriftConfigResponse) Reset() { + *x = DetectDriftConfigResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetectDriftConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetectDriftConfigResponse) ProtoMessage() {} + +func (x *DetectDriftConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetectDriftConfigResponse.ProtoReflect.Descriptor instead. +func (*DetectDriftConfigResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{60} +} + +func (x *DetectDriftConfigResponse) GetDrifts() []*DriftResult { + if x != nil { + return x.Drifts + } + return nil +} + +// ───────────────────────────────────────────────────────────────────────────── +// ResourceDriver request/response messages. +// Each request carries resource_type so a single ResourceDriver server can +// dispatch to the per-type driver implementation (matches DO plugin's +// 14-driver type-routing pattern in Task 11). +// ───────────────────────────────────────────────────────────────────────────── +type ResourceCreateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Spec *ResourceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceCreateRequest) Reset() { + *x = ResourceCreateRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceCreateRequest) ProtoMessage() {} + +func (x *ResourceCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceCreateRequest.ProtoReflect.Descriptor instead. +func (*ResourceCreateRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{61} +} + +func (x *ResourceCreateRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceCreateRequest) GetSpec() *ResourceSpec { + if x != nil { + return x.Spec + } + return nil +} + +type ResourceCreateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Output *ResourceOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceCreateResponse) Reset() { + *x = ResourceCreateResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceCreateResponse) ProtoMessage() {} + +func (x *ResourceCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceCreateResponse.ProtoReflect.Descriptor instead. +func (*ResourceCreateResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{62} +} + +func (x *ResourceCreateResponse) GetOutput() *ResourceOutput { + if x != nil { + return x.Output + } + return nil +} + +type ResourceReadRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceReadRequest) Reset() { + *x = ResourceReadRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceReadRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceReadRequest) ProtoMessage() {} + +func (x *ResourceReadRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceReadRequest.ProtoReflect.Descriptor instead. +func (*ResourceReadRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{63} +} + +func (x *ResourceReadRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceReadRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +type ResourceReadResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Output *ResourceOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceReadResponse) Reset() { + *x = ResourceReadResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceReadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceReadResponse) ProtoMessage() {} + +func (x *ResourceReadResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceReadResponse.ProtoReflect.Descriptor instead. +func (*ResourceReadResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{64} +} + +func (x *ResourceReadResponse) GetOutput() *ResourceOutput { + if x != nil { + return x.Output + } + return nil +} + +type ResourceUpdateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + Spec *ResourceSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceUpdateRequest) Reset() { + *x = ResourceUpdateRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceUpdateRequest) ProtoMessage() {} + +func (x *ResourceUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceUpdateRequest.ProtoReflect.Descriptor instead. +func (*ResourceUpdateRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{65} +} + +func (x *ResourceUpdateRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceUpdateRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *ResourceUpdateRequest) GetSpec() *ResourceSpec { + if x != nil { + return x.Spec + } + return nil +} + +type ResourceUpdateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Output *ResourceOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceUpdateResponse) Reset() { + *x = ResourceUpdateResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceUpdateResponse) ProtoMessage() {} + +func (x *ResourceUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceUpdateResponse.ProtoReflect.Descriptor instead. +func (*ResourceUpdateResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{66} +} + +func (x *ResourceUpdateResponse) GetOutput() *ResourceOutput { + if x != nil { + return x.Output + } + return nil +} + +type ResourceDeleteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceDeleteRequest) Reset() { + *x = ResourceDeleteRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDeleteRequest) ProtoMessage() {} + +func (x *ResourceDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceDeleteRequest.ProtoReflect.Descriptor instead. +func (*ResourceDeleteRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{67} +} + +func (x *ResourceDeleteRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceDeleteRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +type ResourceDeleteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceDeleteResponse) Reset() { + *x = ResourceDeleteResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDeleteResponse) ProtoMessage() {} + +func (x *ResourceDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceDeleteResponse.ProtoReflect.Descriptor instead. +func (*ResourceDeleteResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{68} +} + +type ResourceDiffRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Desired *ResourceSpec `protobuf:"bytes,2,opt,name=desired,proto3" json:"desired,omitempty"` + Current *ResourceOutput `protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceDiffRequest) Reset() { + *x = ResourceDiffRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceDiffRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDiffRequest) ProtoMessage() {} + +func (x *ResourceDiffRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceDiffRequest.ProtoReflect.Descriptor instead. +func (*ResourceDiffRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{69} +} + +func (x *ResourceDiffRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceDiffRequest) GetDesired() *ResourceSpec { + if x != nil { + return x.Desired + } + return nil +} + +func (x *ResourceDiffRequest) GetCurrent() *ResourceOutput { + if x != nil { + return x.Current + } + return nil +} + +type ResourceDiffResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *DiffResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceDiffResponse) Reset() { + *x = ResourceDiffResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceDiffResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDiffResponse) ProtoMessage() {} + +func (x *ResourceDiffResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceDiffResponse.ProtoReflect.Descriptor instead. +func (*ResourceDiffResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{70} +} + +func (x *ResourceDiffResponse) GetResult() *DiffResult { + if x != nil { + return x.Result + } + return nil +} + +type ResourceScaleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + Replicas int32 `protobuf:"varint,3,opt,name=replicas,proto3" json:"replicas,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceScaleRequest) Reset() { + *x = ResourceScaleRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceScaleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceScaleRequest) ProtoMessage() {} + +func (x *ResourceScaleRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceScaleRequest.ProtoReflect.Descriptor instead. +func (*ResourceScaleRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{71} +} + +func (x *ResourceScaleRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceScaleRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *ResourceScaleRequest) GetReplicas() int32 { + if x != nil { + return x.Replicas + } + return 0 +} + +type ResourceScaleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Output *ResourceOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceScaleResponse) Reset() { + *x = ResourceScaleResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceScaleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceScaleResponse) ProtoMessage() {} + +func (x *ResourceScaleResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceScaleResponse.ProtoReflect.Descriptor instead. +func (*ResourceScaleResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{72} +} + +func (x *ResourceScaleResponse) GetOutput() *ResourceOutput { + if x != nil { + return x.Output + } + return nil +} + +type ResourceHealthCheckRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceHealthCheckRequest) Reset() { + *x = ResourceHealthCheckRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceHealthCheckRequest) ProtoMessage() {} + +func (x *ResourceHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*ResourceHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{73} +} + +func (x *ResourceHealthCheckRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceHealthCheckRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +type ResourceHealthCheckResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *HealthResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceHealthCheckResponse) Reset() { + *x = ResourceHealthCheckResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceHealthCheckResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceHealthCheckResponse) ProtoMessage() {} + +func (x *ResourceHealthCheckResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceHealthCheckResponse.ProtoReflect.Descriptor instead. +func (*ResourceHealthCheckResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{74} +} + +func (x *ResourceHealthCheckResponse) GetResult() *HealthResult { + if x != nil { + return x.Result + } + return nil +} + +type SensitiveKeysRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SensitiveKeysRequest) Reset() { + *x = SensitiveKeysRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SensitiveKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SensitiveKeysRequest) ProtoMessage() {} + +func (x *SensitiveKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SensitiveKeysRequest.ProtoReflect.Descriptor instead. +func (*SensitiveKeysRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{75} +} + +func (x *SensitiveKeysRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +type SensitiveKeysResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SensitiveKeysResponse) Reset() { + *x = SensitiveKeysResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SensitiveKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SensitiveKeysResponse) ProtoMessage() {} + +func (x *SensitiveKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SensitiveKeysResponse.ProtoReflect.Descriptor instead. +func (*SensitiveKeysResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{76} +} + +func (x *SensitiveKeysResponse) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type TroubleshootRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Ref *ResourceRef `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` + FailureMsg string `protobuf:"bytes,3,opt,name=failure_msg,json=failureMsg,proto3" json:"failure_msg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TroubleshootRequest) Reset() { + *x = TroubleshootRequest{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TroubleshootRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TroubleshootRequest) ProtoMessage() {} + +func (x *TroubleshootRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TroubleshootRequest.ProtoReflect.Descriptor instead. +func (*TroubleshootRequest) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{77} +} + +func (x *TroubleshootRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *TroubleshootRequest) GetRef() *ResourceRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *TroubleshootRequest) GetFailureMsg() string { + if x != nil { + return x.FailureMsg + } + return "" +} + +type TroubleshootResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*Diagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TroubleshootResponse) Reset() { + *x = TroubleshootResponse{} + mi := &file_plugin_external_proto_iac_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TroubleshootResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TroubleshootResponse) ProtoMessage() {} + +func (x *TroubleshootResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_external_proto_iac_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TroubleshootResponse.ProtoReflect.Descriptor instead. +func (*TroubleshootResponse) Descriptor() ([]byte, []int) { + return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{78} +} + +func (x *TroubleshootResponse) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +var File_plugin_external_proto_iac_proto protoreflect.FileDescriptor + +const file_plugin_external_proto_iac_proto_rawDesc = "" + + "\n" + + "\x1fplugin/external/proto/iac.proto\x12\x1cworkflow.plugin.external.iac\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcd\x01\n" + + "\fResourceSpec\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x1f\n" + + "\vconfig_json\x18\x03 \x01(\fR\n" + + "configJson\x12\x12\n" + + "\x04size\x18\x04 \x01(\tR\x04size\x12A\n" + + "\x05hints\x18\x05 \x01(\v2+.workflow.plugin.external.iac.ResourceHintsR\x05hints\x12\x1d\n" + + "\n" + + "depends_on\x18\x06 \x03(\tR\tdependsOn\"V\n" + + "\vResourceRef\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x1f\n" + + "\vprovider_id\x18\x03 \x01(\tR\n" + + "providerId\"S\n" + + "\rResourceHints\x12\x10\n" + + "\x03cpu\x18\x01 \x01(\tR\x03cpu\x12\x16\n" + + "\x06memory\x18\x02 \x01(\tR\x06memory\x12\x18\n" + + "\astorage\x18\x03 \x01(\tR\astorage\"T\n" + + "\x0eProviderSizing\x12#\n" + + "\rinstance_type\x18\x01 \x01(\tR\finstanceType\x12\x1d\n" + + "\n" + + "specs_json\x18\x02 \x01(\fR\tspecsJson\"s\n" + + "\x18IaCCapabilityDeclaration\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12\x12\n" + + "\x04tier\x18\x02 \x01(\x05R\x04tier\x12\x1e\n" + + "\n" + + "operations\x18\x03 \x03(\tR\n" + + "operations\"\xaf\x04\n" + + "\rResourceState\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x03 \x01(\tR\x04type\x12\x1a\n" + + "\bprovider\x18\x04 \x01(\tR\bprovider\x12!\n" + + "\fprovider_ref\x18\x05 \x01(\tR\vproviderRef\x12\x1f\n" + + "\vprovider_id\x18\x06 \x01(\tR\n" + + "providerId\x12\x1f\n" + + "\vconfig_hash\x18\a \x01(\tR\n" + + "configHash\x12.\n" + + "\x13applied_config_json\x18\b \x01(\fR\x11appliedConfigJson\x122\n" + + "\x15applied_config_source\x18\t \x01(\tR\x13appliedConfigSource\x12!\n" + + "\foutputs_json\x18\n" + + " \x01(\fR\voutputsJson\x12\"\n" + + "\fdependencies\x18\v \x03(\tR\fdependencies\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12D\n" + + "\x10last_drift_check\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\x0elastDriftCheck\"\xad\x02\n" + + "\x0eResourceOutput\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x1f\n" + + "\vprovider_id\x18\x03 \x01(\tR\n" + + "providerId\x12!\n" + + "\foutputs_json\x18\x04 \x01(\fR\voutputsJson\x12Y\n" + + "\tsensitive\x18\x05 \x03(\v2;.workflow.plugin.external.iac.ResourceOutput.SensitiveEntryR\tsensitive\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x1a<\n" + + "\x0eSensitiveEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x94\x01\n" + + "\x0eResourceStatus\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x1f\n" + + "\vprovider_id\x18\x03 \x01(\tR\n" + + "providerId\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + + "\foutputs_json\x18\x05 \x01(\fR\voutputsJson\"t\n" + + "\vFieldChange\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\x12\x19\n" + + "\bold_json\x18\x02 \x01(\fR\aoldJson\x12\x19\n" + + "\bnew_json\x18\x03 \x01(\fR\anewJson\x12\x1b\n" + + "\tforce_new\x18\x04 \x01(\bR\bforceNew\"\x99\x01\n" + + "\n" + + "DiffResult\x12!\n" + + "\fneeds_update\x18\x01 \x01(\bR\vneedsUpdate\x12#\n" + + "\rneeds_replace\x18\x02 \x01(\bR\fneedsReplace\x12C\n" + + "\achanges\x18\x03 \x03(\v2).workflow.plugin.external.iac.FieldChangeR\achanges\"\xed\x01\n" + + "\vDriftResult\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n" + + "\adrifted\x18\x03 \x01(\bR\adrifted\x12>\n" + + "\x05class\x18\x04 \x01(\x0e2(.workflow.plugin.external.iac.DriftClassR\x05class\x12#\n" + + "\rexpected_json\x18\x05 \x01(\fR\fexpectedJson\x12\x1f\n" + + "\vactual_json\x18\x06 \x01(\fR\n" + + "actualJson\x12\x16\n" + + "\x06fields\x18\a \x03(\tR\x06fields\"x\n" + + "\n" + + "DriftEntry\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12)\n" + + "\x10plan_fingerprint\x18\x02 \x01(\tR\x0fplanFingerprint\x12+\n" + + "\x11apply_fingerprint\x18\x03 \x01(\tR\x10applyFingerprint\"B\n" + + "\fHealthResult\x12\x18\n" + + "\ahealthy\x18\x01 \x01(\bR\ahealthy\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\x8c\x01\n" + + "\n" + + "Diagnostic\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05phase\x18\x02 \x01(\tR\x05phase\x12\x14\n" + + "\x05cause\x18\x03 \x01(\tR\x05cause\x12*\n" + + "\x02at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x02at\x12\x16\n" + + "\x06detail\x18\x05 \x01(\tR\x06detail\"\xae\x01\n" + + "\x0ePlanDiagnostic\x12P\n" + + "\bseverity\x18\x01 \x01(\x0e24.workflow.plugin.external.iac.PlanDiagnosticSeverityR\bseverity\x12\x1a\n" + + "\bresource\x18\x02 \x01(\tR\bresource\x12\x14\n" + + "\x05field\x18\x03 \x01(\tR\x05field\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage\"\xaa\x02\n" + + "\n" + + "PlanAction\x12\x16\n" + + "\x06action\x18\x01 \x01(\tR\x06action\x12F\n" + + "\bresource\x18\x02 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\bresource\x12E\n" + + "\acurrent\x18\x03 \x01(\v2+.workflow.plugin.external.iac.ResourceStateR\acurrent\x12C\n" + + "\achanges\x18\x04 \x03(\v2).workflow.plugin.external.iac.FieldChangeR\achanges\x120\n" + + "\x14resolved_config_hash\x18\x05 \x01(\tR\x12resolvedConfigHash\"\x85\x03\n" + + "\aIaCPlan\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12B\n" + + "\aactions\x18\x02 \x03(\v2(.workflow.plugin.external.iac.PlanActionR\aactions\x129\n" + + "\n" + + "created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12!\n" + + "\fdesired_hash\x18\x04 \x01(\tR\vdesiredHash\x12%\n" + + "\x0eschema_version\x18\x05 \x01(\x05R\rschemaVersion\x12_\n" + + "\x0einput_snapshot\x18\x06 \x03(\v28.workflow.plugin.external.iac.IaCPlan.InputSnapshotEntryR\rinputSnapshot\x1a@\n" + + "\x12InputSnapshotEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"W\n" + + "\vActionError\x12\x1a\n" + + "\bresource\x18\x01 \x01(\tR\bresource\x12\x16\n" + + "\x06action\x18\x02 \x01(\tR\x06action\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"\xf5\x04\n" + + "\vApplyResult\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\x12J\n" + + "\tresources\x18\x02 \x03(\v2,.workflow.plugin.external.iac.ResourceOutputR\tresources\x12A\n" + + "\x06errors\x18\x03 \x03(\v2).workflow.plugin.external.iac.ActionErrorR\x06errors\x12y\n" + + "\x16initial_input_snapshot\x18\x04 \x03(\v2C.workflow.plugin.external.iac.ApplyResult.InitialInputSnapshotEntryR\x14initialInputSnapshot\x12V\n" + + "\x12input_drift_report\x18\x05 \x03(\v2(.workflow.plugin.external.iac.DriftEntryR\x10inputDriftReport\x12a\n" + + "\x0ereplace_id_map\x18\x06 \x03(\v2;.workflow.plugin.external.iac.ApplyResult.ReplaceIdMapEntryR\freplaceIdMap\x1aG\n" + + "\x19InitialInputSnapshotEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a?\n" + + "\x11ReplaceIdMapEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"p\n" + + "\rDestroyResult\x12\x1c\n" + + "\tdestroyed\x18\x01 \x03(\tR\tdestroyed\x12A\n" + + "\x06errors\x18\x02 \x03(\v2).workflow.plugin.external.iac.ActionErrorR\x06errors\"\xf0\x01\n" + + "\x0fBootstrapResult\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" + + "\x06region\x18\x02 \x01(\tR\x06region\x12\x1a\n" + + "\bendpoint\x18\x03 \x01(\tR\bendpoint\x12U\n" + + "\benv_vars\x18\x04 \x03(\v2:.workflow.plugin.external.iac.BootstrapResult.EnvVarsEntryR\aenvVars\x1a:\n" + + "\fEnvVarsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa1\x04\n" + + "\x16MigrationRepairRequest\x12*\n" + + "\x11app_resource_name\x18\x01 \x01(\tR\x0fappResourceName\x124\n" + + "\x16database_resource_name\x18\x02 \x01(\tR\x14databaseResourceName\x12\x1b\n" + + "\tjob_image\x18\x03 \x01(\tR\bjobImage\x12\x1d\n" + + "\n" + + "source_dir\x18\x04 \x01(\tR\tsourceDir\x124\n" + + "\x16expected_dirty_version\x18\x05 \x01(\tR\x14expectedDirtyVersion\x12#\n" + + "\rforce_version\x18\x06 \x01(\tR\fforceVersion\x12\x17\n" + + "\athen_up\x18\a \x01(\bR\x06thenUp\x12\x1e\n" + + "\vup_if_clean\x18\b \x01(\bR\tupIfClean\x12#\n" + + "\rconfirm_force\x18\t \x01(\tR\fconfirmForce\x12O\n" + + "\x03env\x18\n" + + " \x03(\v2=.workflow.plugin.external.iac.MigrationRepairRequest.EnvEntryR\x03env\x12'\n" + + "\x0ftimeout_seconds\x18\v \x01(\x05R\x0etimeoutSeconds\x1a6\n" + + "\bEnvEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd1\x01\n" + + "\x15MigrationRepairResult\x12&\n" + + "\x0fprovider_job_id\x18\x01 \x01(\tR\rproviderJobId\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12\x18\n" + + "\aapplied\x18\x03 \x03(\tR\aapplied\x12\x12\n" + + "\x04logs\x18\x04 \x01(\tR\x04logs\x12J\n" + + "\vdiagnostics\x18\x05 \x03(\v2(.workflow.plugin.external.iac.DiagnosticR\vdiagnostics\"4\n" + + "\x11InitializeRequest\x12\x1f\n" + + "\vconfig_json\x18\x01 \x01(\fR\n" + + "configJson\"\x14\n" + + "\x12InitializeResponse\"\r\n" + + "\vNameRequest\"\"\n" + + "\fNameResponse\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\x10\n" + + "\x0eVersionRequest\"+\n" + + "\x0fVersionResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\"\x15\n" + + "\x13CapabilitiesRequest\"r\n" + + "\x14CapabilitiesResponse\x12Z\n" + + "\fcapabilities\x18\x01 \x03(\v26.workflow.plugin.external.iac.IaCCapabilityDeclarationR\fcapabilities\"\x9a\x01\n" + + "\vPlanRequest\x12D\n" + + "\adesired\x18\x01 \x03(\v2*.workflow.plugin.external.iac.ResourceSpecR\adesired\x12E\n" + + "\acurrent\x18\x02 \x03(\v2+.workflow.plugin.external.iac.ResourceStateR\acurrent\"I\n" + + "\fPlanResponse\x129\n" + + "\x04plan\x18\x01 \x01(\v2%.workflow.plugin.external.iac.IaCPlanR\x04plan\"I\n" + + "\fApplyRequest\x129\n" + + "\x04plan\x18\x01 \x01(\v2%.workflow.plugin.external.iac.IaCPlanR\x04plan\"R\n" + + "\rApplyResponse\x12A\n" + + "\x06result\x18\x01 \x01(\v2).workflow.plugin.external.iac.ApplyResultR\x06result\"O\n" + + "\x0eDestroyRequest\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\"V\n" + + "\x0fDestroyResponse\x12C\n" + + "\x06result\x18\x01 \x01(\v2+.workflow.plugin.external.iac.DestroyResultR\x06result\"N\n" + + "\rStatusRequest\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\"Z\n" + + "\x0eStatusResponse\x12H\n" + + "\bstatuses\x18\x01 \x03(\v2,.workflow.plugin.external.iac.ResourceStatusR\bstatuses\"U\n" + + "\rImportRequest\x12\x1f\n" + + "\vprovider_id\x18\x01 \x01(\tR\n" + + "providerId\x12#\n" + + "\rresource_type\x18\x02 \x01(\tR\fresourceType\"S\n" + + "\x0eImportResponse\x12A\n" + + "\x05state\x18\x01 \x01(\v2+.workflow.plugin.external.iac.ResourceStateR\x05state\"\x92\x01\n" + + "\x14ResolveSizingRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12\x12\n" + + "\x04size\x18\x02 \x01(\tR\x04size\x12A\n" + + "\x05hints\x18\x03 \x01(\v2+.workflow.plugin.external.iac.ResourceHintsR\x05hints\"]\n" + + "\x15ResolveSizingResponse\x12D\n" + + "\x06sizing\x18\x01 \x01(\v2,.workflow.plugin.external.iac.ProviderSizingR\x06sizing\"?\n" + + "\x1cBootstrapStateBackendRequest\x12\x1f\n" + + "\vconfig_json\x18\x01 \x01(\fR\n" + + "configJson\"f\n" + + "\x1dBootstrapStateBackendResponse\x12E\n" + + "\x06result\x18\x01 \x01(\v2-.workflow.plugin.external.iac.BootstrapResultR\x06result\":\n" + + "\x13EnumerateAllRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\"^\n" + + "\x14EnumerateAllResponse\x12F\n" + + "\aoutputs\x18\x01 \x03(\v2,.workflow.plugin.external.iac.ResourceOutputR\aoutputs\")\n" + + "\x15EnumerateByTagRequest\x12\x10\n" + + "\x03tag\x18\x01 \x01(\tR\x03tag\"W\n" + + "\x16EnumerateByTagResponse\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\"S\n" + + "\x12DetectDriftRequest\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\"X\n" + + "\x13DetectDriftResponse\x12A\n" + + "\x06drifts\x18\x01 \x03(\v2).workflow.plugin.external.iac.DriftResultR\x06drifts\"\x9e\x02\n" + + "\x1bDetectDriftWithSpecsRequest\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\x12Z\n" + + "\x05specs\x18\x02 \x03(\v2D.workflow.plugin.external.iac.DetectDriftWithSpecsRequest.SpecsEntryR\x05specs\x1ad\n" + + "\n" + + "SpecsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12@\n" + + "\x05value\x18\x02 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\x05value:\x028\x01\"a\n" + + "\x1cDetectDriftWithSpecsResponse\x12A\n" + + "\x06drifts\x18\x01 \x03(\v2).workflow.plugin.external.iac.DriftResultR\x06drifts\"^\n" + + "\x1fRevokeProviderCredentialRequest\x12\x16\n" + + "\x06source\x18\x01 \x01(\tR\x06source\x12#\n" + + "\rcredential_id\x18\x02 \x01(\tR\fcredentialId\"\"\n" + + " RevokeProviderCredentialResponse\"m\n" + + "\x1bRepairDirtyMigrationRequest\x12N\n" + + "\arequest\x18\x01 \x01(\v24.workflow.plugin.external.iac.MigrationRepairRequestR\arequest\"k\n" + + "\x1cRepairDirtyMigrationResponse\x12K\n" + + "\x06result\x18\x01 \x01(\v23.workflow.plugin.external.iac.MigrationRepairResultR\x06result\"P\n" + + "\x13ValidatePlanRequest\x129\n" + + "\x04plan\x18\x01 \x01(\v2%.workflow.plugin.external.iac.IaCPlanR\x04plan\"f\n" + + "\x14ValidatePlanResponse\x12N\n" + + "\vdiagnostics\x18\x01 \x03(\v2,.workflow.plugin.external.iac.PlanDiagnosticR\vdiagnostics\"\x98\x02\n" + + "\x18DetectDriftConfigRequest\x12=\n" + + "\x04refs\x18\x01 \x03(\v2).workflow.plugin.external.iac.ResourceRefR\x04refs\x12W\n" + + "\x05specs\x18\x02 \x03(\v2A.workflow.plugin.external.iac.DetectDriftConfigRequest.SpecsEntryR\x05specs\x1ad\n" + + "\n" + + "SpecsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12@\n" + + "\x05value\x18\x02 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\x05value:\x028\x01\"^\n" + + "\x19DetectDriftConfigResponse\x12A\n" + + "\x06drifts\x18\x01 \x03(\v2).workflow.plugin.external.iac.DriftResultR\x06drifts\"|\n" + + "\x15ResourceCreateRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12>\n" + + "\x04spec\x18\x02 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\x04spec\"^\n" + + "\x16ResourceCreateResponse\x12D\n" + + "\x06output\x18\x01 \x01(\v2,.workflow.plugin.external.iac.ResourceOutputR\x06output\"w\n" + + "\x13ResourceReadRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\"\\\n" + + "\x14ResourceReadResponse\x12D\n" + + "\x06output\x18\x01 \x01(\v2,.workflow.plugin.external.iac.ResourceOutputR\x06output\"\xb9\x01\n" + + "\x15ResourceUpdateRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\x12>\n" + + "\x04spec\x18\x03 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\x04spec\"^\n" + + "\x16ResourceUpdateResponse\x12D\n" + + "\x06output\x18\x01 \x01(\v2,.workflow.plugin.external.iac.ResourceOutputR\x06output\"y\n" + + "\x15ResourceDeleteRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\"\x18\n" + + "\x16ResourceDeleteResponse\"\xc8\x01\n" + + "\x13ResourceDiffRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12D\n" + + "\adesired\x18\x02 \x01(\v2*.workflow.plugin.external.iac.ResourceSpecR\adesired\x12F\n" + + "\acurrent\x18\x03 \x01(\v2,.workflow.plugin.external.iac.ResourceOutputR\acurrent\"X\n" + + "\x14ResourceDiffResponse\x12@\n" + + "\x06result\x18\x01 \x01(\v2(.workflow.plugin.external.iac.DiffResultR\x06result\"\x94\x01\n" + + "\x14ResourceScaleRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\x12\x1a\n" + + "\breplicas\x18\x03 \x01(\x05R\breplicas\"]\n" + + "\x15ResourceScaleResponse\x12D\n" + + "\x06output\x18\x01 \x01(\v2,.workflow.plugin.external.iac.ResourceOutputR\x06output\"~\n" + + "\x1aResourceHealthCheckRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\"a\n" + + "\x1bResourceHealthCheckResponse\x12B\n" + + "\x06result\x18\x01 \x01(\v2*.workflow.plugin.external.iac.HealthResultR\x06result\";\n" + + "\x14SensitiveKeysRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\"+\n" + + "\x15SensitiveKeysResponse\x12\x12\n" + + "\x04keys\x18\x01 \x03(\tR\x04keys\"\x98\x01\n" + + "\x13TroubleshootRequest\x12#\n" + + "\rresource_type\x18\x01 \x01(\tR\fresourceType\x12;\n" + + "\x03ref\x18\x02 \x01(\v2).workflow.plugin.external.iac.ResourceRefR\x03ref\x12\x1f\n" + + "\vfailure_msg\x18\x03 \x01(\tR\n" + + "failureMsg\"b\n" + + "\x14TroubleshootResponse\x12J\n" + + "\vdiagnostics\x18\x01 \x03(\v2(.workflow.plugin.external.iac.DiagnosticR\vdiagnostics*m\n" + + "\n" + + "DriftClass\x12\x17\n" + + "\x13DRIFT_CLASS_UNKNOWN\x10\x00\x12\x17\n" + + "\x13DRIFT_CLASS_IN_SYNC\x10\x01\x12\x15\n" + + "\x11DRIFT_CLASS_GHOST\x10\x02\x12\x16\n" + + "\x12DRIFT_CLASS_CONFIG\x10\x03*j\n" + + "\x16PlanDiagnosticSeverity\x12\x18\n" + + "\x14PLAN_DIAGNOSTIC_INFO\x10\x00\x12\x1b\n" + + "\x17PLAN_DIAGNOSTIC_WARNING\x10\x01\x12\x19\n" + + "\x15PLAN_DIAGNOSTIC_ERROR\x10\x022\xc4\t\n" + + "\x13IaCProviderRequired\x12o\n" + + "\n" + + "Initialize\x12/.workflow.plugin.external.iac.InitializeRequest\x1a0.workflow.plugin.external.iac.InitializeResponse\x12]\n" + + "\x04Name\x12).workflow.plugin.external.iac.NameRequest\x1a*.workflow.plugin.external.iac.NameResponse\x12f\n" + + "\aVersion\x12,.workflow.plugin.external.iac.VersionRequest\x1a-.workflow.plugin.external.iac.VersionResponse\x12u\n" + + "\fCapabilities\x121.workflow.plugin.external.iac.CapabilitiesRequest\x1a2.workflow.plugin.external.iac.CapabilitiesResponse\x12]\n" + + "\x04Plan\x12).workflow.plugin.external.iac.PlanRequest\x1a*.workflow.plugin.external.iac.PlanResponse\x12`\n" + + "\x05Apply\x12*.workflow.plugin.external.iac.ApplyRequest\x1a+.workflow.plugin.external.iac.ApplyResponse\x12f\n" + + "\aDestroy\x12,.workflow.plugin.external.iac.DestroyRequest\x1a-.workflow.plugin.external.iac.DestroyResponse\x12c\n" + + "\x06Status\x12+.workflow.plugin.external.iac.StatusRequest\x1a,.workflow.plugin.external.iac.StatusResponse\x12c\n" + + "\x06Import\x12+.workflow.plugin.external.iac.ImportRequest\x1a,.workflow.plugin.external.iac.ImportResponse\x12x\n" + + "\rResolveSizing\x122.workflow.plugin.external.iac.ResolveSizingRequest\x1a3.workflow.plugin.external.iac.ResolveSizingResponse\x12\x90\x01\n" + + "\x15BootstrapStateBackend\x12:.workflow.plugin.external.iac.BootstrapStateBackendRequest\x1a;.workflow.plugin.external.iac.BootstrapStateBackendResponse2\x8b\x02\n" + + "\x15IaCProviderEnumerator\x12u\n" + + "\fEnumerateAll\x121.workflow.plugin.external.iac.EnumerateAllRequest\x1a2.workflow.plugin.external.iac.EnumerateAllResponse\x12{\n" + + "\x0eEnumerateByTag\x123.workflow.plugin.external.iac.EnumerateByTagRequest\x1a4.workflow.plugin.external.iac.EnumerateByTagResponse2\x9e\x02\n" + + "\x18IaCProviderDriftDetector\x12r\n" + + "\vDetectDrift\x120.workflow.plugin.external.iac.DetectDriftRequest\x1a1.workflow.plugin.external.iac.DetectDriftResponse\x12\x8d\x01\n" + + "\x14DetectDriftWithSpecs\x129.workflow.plugin.external.iac.DetectDriftWithSpecsRequest\x1a:.workflow.plugin.external.iac.DetectDriftWithSpecsResponse2\xba\x01\n" + + "\x1cIaCProviderCredentialRevoker\x12\x99\x01\n" + + "\x18RevokeProviderCredential\x12=.workflow.plugin.external.iac.RevokeProviderCredentialRequest\x1a>.workflow.plugin.external.iac.RevokeProviderCredentialResponse2\xae\x01\n" + + "\x1cIaCProviderMigrationRepairer\x12\x8d\x01\n" + + "\x14RepairDirtyMigration\x129.workflow.plugin.external.iac.RepairDirtyMigrationRequest\x1a:.workflow.plugin.external.iac.RepairDirtyMigrationResponse2\x8d\x01\n" + + "\x14IaCProviderValidator\x12u\n" + + "\fValidatePlan\x121.workflow.plugin.external.iac.ValidatePlanRequest\x1a2.workflow.plugin.external.iac.ValidatePlanResponse2\xa7\x01\n" + + "\x1eIaCProviderDriftConfigDetector\x12\x84\x01\n" + + "\x11DetectDriftConfig\x126.workflow.plugin.external.iac.DetectDriftConfigRequest\x1a7.workflow.plugin.external.iac.DetectDriftConfigResponse2\xb5\b\n" + + "\x0eResourceDriver\x12s\n" + + "\x06Create\x123.workflow.plugin.external.iac.ResourceCreateRequest\x1a4.workflow.plugin.external.iac.ResourceCreateResponse\x12m\n" + + "\x04Read\x121.workflow.plugin.external.iac.ResourceReadRequest\x1a2.workflow.plugin.external.iac.ResourceReadResponse\x12s\n" + + "\x06Update\x123.workflow.plugin.external.iac.ResourceUpdateRequest\x1a4.workflow.plugin.external.iac.ResourceUpdateResponse\x12s\n" + + "\x06Delete\x123.workflow.plugin.external.iac.ResourceDeleteRequest\x1a4.workflow.plugin.external.iac.ResourceDeleteResponse\x12m\n" + + "\x04Diff\x121.workflow.plugin.external.iac.ResourceDiffRequest\x1a2.workflow.plugin.external.iac.ResourceDiffResponse\x12p\n" + + "\x05Scale\x122.workflow.plugin.external.iac.ResourceScaleRequest\x1a3.workflow.plugin.external.iac.ResourceScaleResponse\x12\x82\x01\n" + + "\vHealthCheck\x128.workflow.plugin.external.iac.ResourceHealthCheckRequest\x1a9.workflow.plugin.external.iac.ResourceHealthCheckResponse\x12x\n" + + "\rSensitiveKeys\x122.workflow.plugin.external.iac.SensitiveKeysRequest\x1a3.workflow.plugin.external.iac.SensitiveKeysResponse\x12u\n" + + "\fTroubleshoot\x121.workflow.plugin.external.iac.TroubleshootRequest\x1a2.workflow.plugin.external.iac.TroubleshootResponseB=Z;github.com/GoCodeAlone/workflow/plugin/external/proto;protob\x06proto3" + +var ( + file_plugin_external_proto_iac_proto_rawDescOnce sync.Once + file_plugin_external_proto_iac_proto_rawDescData []byte +) + +func file_plugin_external_proto_iac_proto_rawDescGZIP() []byte { + file_plugin_external_proto_iac_proto_rawDescOnce.Do(func() { + file_plugin_external_proto_iac_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_plugin_external_proto_iac_proto_rawDesc), len(file_plugin_external_proto_iac_proto_rawDesc))) + }) + return file_plugin_external_proto_iac_proto_rawDescData +} + +var file_plugin_external_proto_iac_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_plugin_external_proto_iac_proto_msgTypes = make([]protoimpl.MessageInfo, 87) +var file_plugin_external_proto_iac_proto_goTypes = []any{ + (DriftClass)(0), // 0: workflow.plugin.external.iac.DriftClass + (PlanDiagnosticSeverity)(0), // 1: workflow.plugin.external.iac.PlanDiagnosticSeverity + (*ResourceSpec)(nil), // 2: workflow.plugin.external.iac.ResourceSpec + (*ResourceRef)(nil), // 3: workflow.plugin.external.iac.ResourceRef + (*ResourceHints)(nil), // 4: workflow.plugin.external.iac.ResourceHints + (*ProviderSizing)(nil), // 5: workflow.plugin.external.iac.ProviderSizing + (*IaCCapabilityDeclaration)(nil), // 6: workflow.plugin.external.iac.IaCCapabilityDeclaration + (*ResourceState)(nil), // 7: workflow.plugin.external.iac.ResourceState + (*ResourceOutput)(nil), // 8: workflow.plugin.external.iac.ResourceOutput + (*ResourceStatus)(nil), // 9: workflow.plugin.external.iac.ResourceStatus + (*FieldChange)(nil), // 10: workflow.plugin.external.iac.FieldChange + (*DiffResult)(nil), // 11: workflow.plugin.external.iac.DiffResult + (*DriftResult)(nil), // 12: workflow.plugin.external.iac.DriftResult + (*DriftEntry)(nil), // 13: workflow.plugin.external.iac.DriftEntry + (*HealthResult)(nil), // 14: workflow.plugin.external.iac.HealthResult + (*Diagnostic)(nil), // 15: workflow.plugin.external.iac.Diagnostic + (*PlanDiagnostic)(nil), // 16: workflow.plugin.external.iac.PlanDiagnostic + (*PlanAction)(nil), // 17: workflow.plugin.external.iac.PlanAction + (*IaCPlan)(nil), // 18: workflow.plugin.external.iac.IaCPlan + (*ActionError)(nil), // 19: workflow.plugin.external.iac.ActionError + (*ApplyResult)(nil), // 20: workflow.plugin.external.iac.ApplyResult + (*DestroyResult)(nil), // 21: workflow.plugin.external.iac.DestroyResult + (*BootstrapResult)(nil), // 22: workflow.plugin.external.iac.BootstrapResult + (*MigrationRepairRequest)(nil), // 23: workflow.plugin.external.iac.MigrationRepairRequest + (*MigrationRepairResult)(nil), // 24: workflow.plugin.external.iac.MigrationRepairResult + (*InitializeRequest)(nil), // 25: workflow.plugin.external.iac.InitializeRequest + (*InitializeResponse)(nil), // 26: workflow.plugin.external.iac.InitializeResponse + (*NameRequest)(nil), // 27: workflow.plugin.external.iac.NameRequest + (*NameResponse)(nil), // 28: workflow.plugin.external.iac.NameResponse + (*VersionRequest)(nil), // 29: workflow.plugin.external.iac.VersionRequest + (*VersionResponse)(nil), // 30: workflow.plugin.external.iac.VersionResponse + (*CapabilitiesRequest)(nil), // 31: workflow.plugin.external.iac.CapabilitiesRequest + (*CapabilitiesResponse)(nil), // 32: workflow.plugin.external.iac.CapabilitiesResponse + (*PlanRequest)(nil), // 33: workflow.plugin.external.iac.PlanRequest + (*PlanResponse)(nil), // 34: workflow.plugin.external.iac.PlanResponse + (*ApplyRequest)(nil), // 35: workflow.plugin.external.iac.ApplyRequest + (*ApplyResponse)(nil), // 36: workflow.plugin.external.iac.ApplyResponse + (*DestroyRequest)(nil), // 37: workflow.plugin.external.iac.DestroyRequest + (*DestroyResponse)(nil), // 38: workflow.plugin.external.iac.DestroyResponse + (*StatusRequest)(nil), // 39: workflow.plugin.external.iac.StatusRequest + (*StatusResponse)(nil), // 40: workflow.plugin.external.iac.StatusResponse + (*ImportRequest)(nil), // 41: workflow.plugin.external.iac.ImportRequest + (*ImportResponse)(nil), // 42: workflow.plugin.external.iac.ImportResponse + (*ResolveSizingRequest)(nil), // 43: workflow.plugin.external.iac.ResolveSizingRequest + (*ResolveSizingResponse)(nil), // 44: workflow.plugin.external.iac.ResolveSizingResponse + (*BootstrapStateBackendRequest)(nil), // 45: workflow.plugin.external.iac.BootstrapStateBackendRequest + (*BootstrapStateBackendResponse)(nil), // 46: workflow.plugin.external.iac.BootstrapStateBackendResponse + (*EnumerateAllRequest)(nil), // 47: workflow.plugin.external.iac.EnumerateAllRequest + (*EnumerateAllResponse)(nil), // 48: workflow.plugin.external.iac.EnumerateAllResponse + (*EnumerateByTagRequest)(nil), // 49: workflow.plugin.external.iac.EnumerateByTagRequest + (*EnumerateByTagResponse)(nil), // 50: workflow.plugin.external.iac.EnumerateByTagResponse + (*DetectDriftRequest)(nil), // 51: workflow.plugin.external.iac.DetectDriftRequest + (*DetectDriftResponse)(nil), // 52: workflow.plugin.external.iac.DetectDriftResponse + (*DetectDriftWithSpecsRequest)(nil), // 53: workflow.plugin.external.iac.DetectDriftWithSpecsRequest + (*DetectDriftWithSpecsResponse)(nil), // 54: workflow.plugin.external.iac.DetectDriftWithSpecsResponse + (*RevokeProviderCredentialRequest)(nil), // 55: workflow.plugin.external.iac.RevokeProviderCredentialRequest + (*RevokeProviderCredentialResponse)(nil), // 56: workflow.plugin.external.iac.RevokeProviderCredentialResponse + (*RepairDirtyMigrationRequest)(nil), // 57: workflow.plugin.external.iac.RepairDirtyMigrationRequest + (*RepairDirtyMigrationResponse)(nil), // 58: workflow.plugin.external.iac.RepairDirtyMigrationResponse + (*ValidatePlanRequest)(nil), // 59: workflow.plugin.external.iac.ValidatePlanRequest + (*ValidatePlanResponse)(nil), // 60: workflow.plugin.external.iac.ValidatePlanResponse + (*DetectDriftConfigRequest)(nil), // 61: workflow.plugin.external.iac.DetectDriftConfigRequest + (*DetectDriftConfigResponse)(nil), // 62: workflow.plugin.external.iac.DetectDriftConfigResponse + (*ResourceCreateRequest)(nil), // 63: workflow.plugin.external.iac.ResourceCreateRequest + (*ResourceCreateResponse)(nil), // 64: workflow.plugin.external.iac.ResourceCreateResponse + (*ResourceReadRequest)(nil), // 65: workflow.plugin.external.iac.ResourceReadRequest + (*ResourceReadResponse)(nil), // 66: workflow.plugin.external.iac.ResourceReadResponse + (*ResourceUpdateRequest)(nil), // 67: workflow.plugin.external.iac.ResourceUpdateRequest + (*ResourceUpdateResponse)(nil), // 68: workflow.plugin.external.iac.ResourceUpdateResponse + (*ResourceDeleteRequest)(nil), // 69: workflow.plugin.external.iac.ResourceDeleteRequest + (*ResourceDeleteResponse)(nil), // 70: workflow.plugin.external.iac.ResourceDeleteResponse + (*ResourceDiffRequest)(nil), // 71: workflow.plugin.external.iac.ResourceDiffRequest + (*ResourceDiffResponse)(nil), // 72: workflow.plugin.external.iac.ResourceDiffResponse + (*ResourceScaleRequest)(nil), // 73: workflow.plugin.external.iac.ResourceScaleRequest + (*ResourceScaleResponse)(nil), // 74: workflow.plugin.external.iac.ResourceScaleResponse + (*ResourceHealthCheckRequest)(nil), // 75: workflow.plugin.external.iac.ResourceHealthCheckRequest + (*ResourceHealthCheckResponse)(nil), // 76: workflow.plugin.external.iac.ResourceHealthCheckResponse + (*SensitiveKeysRequest)(nil), // 77: workflow.plugin.external.iac.SensitiveKeysRequest + (*SensitiveKeysResponse)(nil), // 78: workflow.plugin.external.iac.SensitiveKeysResponse + (*TroubleshootRequest)(nil), // 79: workflow.plugin.external.iac.TroubleshootRequest + (*TroubleshootResponse)(nil), // 80: workflow.plugin.external.iac.TroubleshootResponse + nil, // 81: workflow.plugin.external.iac.ResourceOutput.SensitiveEntry + nil, // 82: workflow.plugin.external.iac.IaCPlan.InputSnapshotEntry + nil, // 83: workflow.plugin.external.iac.ApplyResult.InitialInputSnapshotEntry + nil, // 84: workflow.plugin.external.iac.ApplyResult.ReplaceIdMapEntry + nil, // 85: workflow.plugin.external.iac.BootstrapResult.EnvVarsEntry + nil, // 86: workflow.plugin.external.iac.MigrationRepairRequest.EnvEntry + nil, // 87: workflow.plugin.external.iac.DetectDriftWithSpecsRequest.SpecsEntry + nil, // 88: workflow.plugin.external.iac.DetectDriftConfigRequest.SpecsEntry + (*timestamppb.Timestamp)(nil), // 89: google.protobuf.Timestamp +} +var file_plugin_external_proto_iac_proto_depIdxs = []int32{ + 4, // 0: workflow.plugin.external.iac.ResourceSpec.hints:type_name -> workflow.plugin.external.iac.ResourceHints + 89, // 1: workflow.plugin.external.iac.ResourceState.created_at:type_name -> google.protobuf.Timestamp + 89, // 2: workflow.plugin.external.iac.ResourceState.updated_at:type_name -> google.protobuf.Timestamp + 89, // 3: workflow.plugin.external.iac.ResourceState.last_drift_check:type_name -> google.protobuf.Timestamp + 81, // 4: workflow.plugin.external.iac.ResourceOutput.sensitive:type_name -> workflow.plugin.external.iac.ResourceOutput.SensitiveEntry + 10, // 5: workflow.plugin.external.iac.DiffResult.changes:type_name -> workflow.plugin.external.iac.FieldChange + 0, // 6: workflow.plugin.external.iac.DriftResult.class:type_name -> workflow.plugin.external.iac.DriftClass + 89, // 7: workflow.plugin.external.iac.Diagnostic.at:type_name -> google.protobuf.Timestamp + 1, // 8: workflow.plugin.external.iac.PlanDiagnostic.severity:type_name -> workflow.plugin.external.iac.PlanDiagnosticSeverity + 2, // 9: workflow.plugin.external.iac.PlanAction.resource:type_name -> workflow.plugin.external.iac.ResourceSpec + 7, // 10: workflow.plugin.external.iac.PlanAction.current:type_name -> workflow.plugin.external.iac.ResourceState + 10, // 11: workflow.plugin.external.iac.PlanAction.changes:type_name -> workflow.plugin.external.iac.FieldChange + 17, // 12: workflow.plugin.external.iac.IaCPlan.actions:type_name -> workflow.plugin.external.iac.PlanAction + 89, // 13: workflow.plugin.external.iac.IaCPlan.created_at:type_name -> google.protobuf.Timestamp + 82, // 14: workflow.plugin.external.iac.IaCPlan.input_snapshot:type_name -> workflow.plugin.external.iac.IaCPlan.InputSnapshotEntry + 8, // 15: workflow.plugin.external.iac.ApplyResult.resources:type_name -> workflow.plugin.external.iac.ResourceOutput + 19, // 16: workflow.plugin.external.iac.ApplyResult.errors:type_name -> workflow.plugin.external.iac.ActionError + 83, // 17: workflow.plugin.external.iac.ApplyResult.initial_input_snapshot:type_name -> workflow.plugin.external.iac.ApplyResult.InitialInputSnapshotEntry + 13, // 18: workflow.plugin.external.iac.ApplyResult.input_drift_report:type_name -> workflow.plugin.external.iac.DriftEntry + 84, // 19: workflow.plugin.external.iac.ApplyResult.replace_id_map:type_name -> workflow.plugin.external.iac.ApplyResult.ReplaceIdMapEntry + 19, // 20: workflow.plugin.external.iac.DestroyResult.errors:type_name -> workflow.plugin.external.iac.ActionError + 85, // 21: workflow.plugin.external.iac.BootstrapResult.env_vars:type_name -> workflow.plugin.external.iac.BootstrapResult.EnvVarsEntry + 86, // 22: workflow.plugin.external.iac.MigrationRepairRequest.env:type_name -> workflow.plugin.external.iac.MigrationRepairRequest.EnvEntry + 15, // 23: workflow.plugin.external.iac.MigrationRepairResult.diagnostics:type_name -> workflow.plugin.external.iac.Diagnostic + 6, // 24: workflow.plugin.external.iac.CapabilitiesResponse.capabilities:type_name -> workflow.plugin.external.iac.IaCCapabilityDeclaration + 2, // 25: workflow.plugin.external.iac.PlanRequest.desired:type_name -> workflow.plugin.external.iac.ResourceSpec + 7, // 26: workflow.plugin.external.iac.PlanRequest.current:type_name -> workflow.plugin.external.iac.ResourceState + 18, // 27: workflow.plugin.external.iac.PlanResponse.plan:type_name -> workflow.plugin.external.iac.IaCPlan + 18, // 28: workflow.plugin.external.iac.ApplyRequest.plan:type_name -> workflow.plugin.external.iac.IaCPlan + 20, // 29: workflow.plugin.external.iac.ApplyResponse.result:type_name -> workflow.plugin.external.iac.ApplyResult + 3, // 30: workflow.plugin.external.iac.DestroyRequest.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 21, // 31: workflow.plugin.external.iac.DestroyResponse.result:type_name -> workflow.plugin.external.iac.DestroyResult + 3, // 32: workflow.plugin.external.iac.StatusRequest.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 9, // 33: workflow.plugin.external.iac.StatusResponse.statuses:type_name -> workflow.plugin.external.iac.ResourceStatus + 7, // 34: workflow.plugin.external.iac.ImportResponse.state:type_name -> workflow.plugin.external.iac.ResourceState + 4, // 35: workflow.plugin.external.iac.ResolveSizingRequest.hints:type_name -> workflow.plugin.external.iac.ResourceHints + 5, // 36: workflow.plugin.external.iac.ResolveSizingResponse.sizing:type_name -> workflow.plugin.external.iac.ProviderSizing + 22, // 37: workflow.plugin.external.iac.BootstrapStateBackendResponse.result:type_name -> workflow.plugin.external.iac.BootstrapResult + 8, // 38: workflow.plugin.external.iac.EnumerateAllResponse.outputs:type_name -> workflow.plugin.external.iac.ResourceOutput + 3, // 39: workflow.plugin.external.iac.EnumerateByTagResponse.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 3, // 40: workflow.plugin.external.iac.DetectDriftRequest.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 12, // 41: workflow.plugin.external.iac.DetectDriftResponse.drifts:type_name -> workflow.plugin.external.iac.DriftResult + 3, // 42: workflow.plugin.external.iac.DetectDriftWithSpecsRequest.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 87, // 43: workflow.plugin.external.iac.DetectDriftWithSpecsRequest.specs:type_name -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest.SpecsEntry + 12, // 44: workflow.plugin.external.iac.DetectDriftWithSpecsResponse.drifts:type_name -> workflow.plugin.external.iac.DriftResult + 23, // 45: workflow.plugin.external.iac.RepairDirtyMigrationRequest.request:type_name -> workflow.plugin.external.iac.MigrationRepairRequest + 24, // 46: workflow.plugin.external.iac.RepairDirtyMigrationResponse.result:type_name -> workflow.plugin.external.iac.MigrationRepairResult + 18, // 47: workflow.plugin.external.iac.ValidatePlanRequest.plan:type_name -> workflow.plugin.external.iac.IaCPlan + 16, // 48: workflow.plugin.external.iac.ValidatePlanResponse.diagnostics:type_name -> workflow.plugin.external.iac.PlanDiagnostic + 3, // 49: workflow.plugin.external.iac.DetectDriftConfigRequest.refs:type_name -> workflow.plugin.external.iac.ResourceRef + 88, // 50: workflow.plugin.external.iac.DetectDriftConfigRequest.specs:type_name -> workflow.plugin.external.iac.DetectDriftConfigRequest.SpecsEntry + 12, // 51: workflow.plugin.external.iac.DetectDriftConfigResponse.drifts:type_name -> workflow.plugin.external.iac.DriftResult + 2, // 52: workflow.plugin.external.iac.ResourceCreateRequest.spec:type_name -> workflow.plugin.external.iac.ResourceSpec + 8, // 53: workflow.plugin.external.iac.ResourceCreateResponse.output:type_name -> workflow.plugin.external.iac.ResourceOutput + 3, // 54: workflow.plugin.external.iac.ResourceReadRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 8, // 55: workflow.plugin.external.iac.ResourceReadResponse.output:type_name -> workflow.plugin.external.iac.ResourceOutput + 3, // 56: workflow.plugin.external.iac.ResourceUpdateRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 2, // 57: workflow.plugin.external.iac.ResourceUpdateRequest.spec:type_name -> workflow.plugin.external.iac.ResourceSpec + 8, // 58: workflow.plugin.external.iac.ResourceUpdateResponse.output:type_name -> workflow.plugin.external.iac.ResourceOutput + 3, // 59: workflow.plugin.external.iac.ResourceDeleteRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 2, // 60: workflow.plugin.external.iac.ResourceDiffRequest.desired:type_name -> workflow.plugin.external.iac.ResourceSpec + 8, // 61: workflow.plugin.external.iac.ResourceDiffRequest.current:type_name -> workflow.plugin.external.iac.ResourceOutput + 11, // 62: workflow.plugin.external.iac.ResourceDiffResponse.result:type_name -> workflow.plugin.external.iac.DiffResult + 3, // 63: workflow.plugin.external.iac.ResourceScaleRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 8, // 64: workflow.plugin.external.iac.ResourceScaleResponse.output:type_name -> workflow.plugin.external.iac.ResourceOutput + 3, // 65: workflow.plugin.external.iac.ResourceHealthCheckRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 14, // 66: workflow.plugin.external.iac.ResourceHealthCheckResponse.result:type_name -> workflow.plugin.external.iac.HealthResult + 3, // 67: workflow.plugin.external.iac.TroubleshootRequest.ref:type_name -> workflow.plugin.external.iac.ResourceRef + 15, // 68: workflow.plugin.external.iac.TroubleshootResponse.diagnostics:type_name -> workflow.plugin.external.iac.Diagnostic + 2, // 69: workflow.plugin.external.iac.DetectDriftWithSpecsRequest.SpecsEntry.value:type_name -> workflow.plugin.external.iac.ResourceSpec + 2, // 70: workflow.plugin.external.iac.DetectDriftConfigRequest.SpecsEntry.value:type_name -> workflow.plugin.external.iac.ResourceSpec + 25, // 71: workflow.plugin.external.iac.IaCProviderRequired.Initialize:input_type -> workflow.plugin.external.iac.InitializeRequest + 27, // 72: workflow.plugin.external.iac.IaCProviderRequired.Name:input_type -> workflow.plugin.external.iac.NameRequest + 29, // 73: workflow.plugin.external.iac.IaCProviderRequired.Version:input_type -> workflow.plugin.external.iac.VersionRequest + 31, // 74: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:input_type -> workflow.plugin.external.iac.CapabilitiesRequest + 33, // 75: workflow.plugin.external.iac.IaCProviderRequired.Plan:input_type -> workflow.plugin.external.iac.PlanRequest + 35, // 76: workflow.plugin.external.iac.IaCProviderRequired.Apply:input_type -> workflow.plugin.external.iac.ApplyRequest + 37, // 77: workflow.plugin.external.iac.IaCProviderRequired.Destroy:input_type -> workflow.plugin.external.iac.DestroyRequest + 39, // 78: workflow.plugin.external.iac.IaCProviderRequired.Status:input_type -> workflow.plugin.external.iac.StatusRequest + 41, // 79: workflow.plugin.external.iac.IaCProviderRequired.Import:input_type -> workflow.plugin.external.iac.ImportRequest + 43, // 80: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:input_type -> workflow.plugin.external.iac.ResolveSizingRequest + 45, // 81: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:input_type -> workflow.plugin.external.iac.BootstrapStateBackendRequest + 47, // 82: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:input_type -> workflow.plugin.external.iac.EnumerateAllRequest + 49, // 83: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:input_type -> workflow.plugin.external.iac.EnumerateByTagRequest + 51, // 84: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:input_type -> workflow.plugin.external.iac.DetectDriftRequest + 53, // 85: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:input_type -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest + 55, // 86: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:input_type -> workflow.plugin.external.iac.RevokeProviderCredentialRequest + 57, // 87: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:input_type -> workflow.plugin.external.iac.RepairDirtyMigrationRequest + 59, // 88: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:input_type -> workflow.plugin.external.iac.ValidatePlanRequest + 61, // 89: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:input_type -> workflow.plugin.external.iac.DetectDriftConfigRequest + 63, // 90: workflow.plugin.external.iac.ResourceDriver.Create:input_type -> workflow.plugin.external.iac.ResourceCreateRequest + 65, // 91: workflow.plugin.external.iac.ResourceDriver.Read:input_type -> workflow.plugin.external.iac.ResourceReadRequest + 67, // 92: workflow.plugin.external.iac.ResourceDriver.Update:input_type -> workflow.plugin.external.iac.ResourceUpdateRequest + 69, // 93: workflow.plugin.external.iac.ResourceDriver.Delete:input_type -> workflow.plugin.external.iac.ResourceDeleteRequest + 71, // 94: workflow.plugin.external.iac.ResourceDriver.Diff:input_type -> workflow.plugin.external.iac.ResourceDiffRequest + 73, // 95: workflow.plugin.external.iac.ResourceDriver.Scale:input_type -> workflow.plugin.external.iac.ResourceScaleRequest + 75, // 96: workflow.plugin.external.iac.ResourceDriver.HealthCheck:input_type -> workflow.plugin.external.iac.ResourceHealthCheckRequest + 77, // 97: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:input_type -> workflow.plugin.external.iac.SensitiveKeysRequest + 79, // 98: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:input_type -> workflow.plugin.external.iac.TroubleshootRequest + 26, // 99: workflow.plugin.external.iac.IaCProviderRequired.Initialize:output_type -> workflow.plugin.external.iac.InitializeResponse + 28, // 100: workflow.plugin.external.iac.IaCProviderRequired.Name:output_type -> workflow.plugin.external.iac.NameResponse + 30, // 101: workflow.plugin.external.iac.IaCProviderRequired.Version:output_type -> workflow.plugin.external.iac.VersionResponse + 32, // 102: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:output_type -> workflow.plugin.external.iac.CapabilitiesResponse + 34, // 103: workflow.plugin.external.iac.IaCProviderRequired.Plan:output_type -> workflow.plugin.external.iac.PlanResponse + 36, // 104: workflow.plugin.external.iac.IaCProviderRequired.Apply:output_type -> workflow.plugin.external.iac.ApplyResponse + 38, // 105: workflow.plugin.external.iac.IaCProviderRequired.Destroy:output_type -> workflow.plugin.external.iac.DestroyResponse + 40, // 106: workflow.plugin.external.iac.IaCProviderRequired.Status:output_type -> workflow.plugin.external.iac.StatusResponse + 42, // 107: workflow.plugin.external.iac.IaCProviderRequired.Import:output_type -> workflow.plugin.external.iac.ImportResponse + 44, // 108: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:output_type -> workflow.plugin.external.iac.ResolveSizingResponse + 46, // 109: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:output_type -> workflow.plugin.external.iac.BootstrapStateBackendResponse + 48, // 110: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:output_type -> workflow.plugin.external.iac.EnumerateAllResponse + 50, // 111: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:output_type -> workflow.plugin.external.iac.EnumerateByTagResponse + 52, // 112: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:output_type -> workflow.plugin.external.iac.DetectDriftResponse + 54, // 113: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:output_type -> workflow.plugin.external.iac.DetectDriftWithSpecsResponse + 56, // 114: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:output_type -> workflow.plugin.external.iac.RevokeProviderCredentialResponse + 58, // 115: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:output_type -> workflow.plugin.external.iac.RepairDirtyMigrationResponse + 60, // 116: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:output_type -> workflow.plugin.external.iac.ValidatePlanResponse + 62, // 117: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:output_type -> workflow.plugin.external.iac.DetectDriftConfigResponse + 64, // 118: workflow.plugin.external.iac.ResourceDriver.Create:output_type -> workflow.plugin.external.iac.ResourceCreateResponse + 66, // 119: workflow.plugin.external.iac.ResourceDriver.Read:output_type -> workflow.plugin.external.iac.ResourceReadResponse + 68, // 120: workflow.plugin.external.iac.ResourceDriver.Update:output_type -> workflow.plugin.external.iac.ResourceUpdateResponse + 70, // 121: workflow.plugin.external.iac.ResourceDriver.Delete:output_type -> workflow.plugin.external.iac.ResourceDeleteResponse + 72, // 122: workflow.plugin.external.iac.ResourceDriver.Diff:output_type -> workflow.plugin.external.iac.ResourceDiffResponse + 74, // 123: workflow.plugin.external.iac.ResourceDriver.Scale:output_type -> workflow.plugin.external.iac.ResourceScaleResponse + 76, // 124: workflow.plugin.external.iac.ResourceDriver.HealthCheck:output_type -> workflow.plugin.external.iac.ResourceHealthCheckResponse + 78, // 125: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:output_type -> workflow.plugin.external.iac.SensitiveKeysResponse + 80, // 126: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:output_type -> workflow.plugin.external.iac.TroubleshootResponse + 99, // [99:127] is the sub-list for method output_type + 71, // [71:99] is the sub-list for method input_type + 71, // [71:71] is the sub-list for extension type_name + 71, // [71:71] is the sub-list for extension extendee + 0, // [0:71] is the sub-list for field type_name +} + +func init() { file_plugin_external_proto_iac_proto_init() } +func file_plugin_external_proto_iac_proto_init() { + if File_plugin_external_proto_iac_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_plugin_external_proto_iac_proto_rawDesc), len(file_plugin_external_proto_iac_proto_rawDesc)), + NumEnums: 2, + NumMessages: 87, + NumExtensions: 0, + NumServices: 8, + }, + GoTypes: file_plugin_external_proto_iac_proto_goTypes, + DependencyIndexes: file_plugin_external_proto_iac_proto_depIdxs, + EnumInfos: file_plugin_external_proto_iac_proto_enumTypes, + MessageInfos: file_plugin_external_proto_iac_proto_msgTypes, + }.Build() + File_plugin_external_proto_iac_proto = out.File + file_plugin_external_proto_iac_proto_goTypes = nil + file_plugin_external_proto_iac_proto_depIdxs = nil +} diff --git a/plugin/external/proto/iac.proto b/plugin/external/proto/iac.proto new file mode 100644 index 00000000..766b3f12 --- /dev/null +++ b/plugin/external/proto/iac.proto @@ -0,0 +1,578 @@ +// iac.proto — typed gRPC contract for IaCProvider + ResourceDriver plugins. +// +// Design: docs/plans/2026-05-10-strict-contracts-force-cutover-design.md +// Plan: docs/plans/2026-05-10-strict-contracts-force-cutover.md (Task 3) +// +// Hard invariants (per cycle 4 §Acceptance criteria): +// - NO google.protobuf.Struct, NO google.protobuf.Any used in any message. +// - Free-form per-resource Config / Outputs payloads cross the wire as +// bytes _json, JSON-encoded by the plugin/host. The plugin owns +// the serialization shape; the proto layer carries opaque bytes. +// - ResourceOutput.sensitive uses typed map (NOT structpb). +// - REQUIRED service: every method must be implemented by every plugin. +// Compile fails on the SDK type-assert if a method is missing. +// - OPTIONAL services: providers register only the services they support. +// Absence of registration IS the negative signal — no NotSupported flag. +syntax = "proto3"; + +package workflow.plugin.external.iac; + +option go_package = "github.com/GoCodeAlone/workflow/plugin/external/proto;proto"; + +import "google/protobuf/timestamp.proto"; + +// ───────────────────────────────────────────────────────────────────────────── +// REQUIRED service — every IaC provider MUST implement every RPC. +// Go compiler enforces full interface satisfaction at the SDK type-assert. +// ───────────────────────────────────────────────────────────────────────────── +service IaCProviderRequired { + rpc Initialize(InitializeRequest) returns (InitializeResponse); + rpc Name(NameRequest) returns (NameResponse); + rpc Version(VersionRequest) returns (VersionResponse); + rpc Capabilities(CapabilitiesRequest) returns (CapabilitiesResponse); + rpc Plan(PlanRequest) returns (PlanResponse); + rpc Apply(ApplyRequest) returns (ApplyResponse); + rpc Destroy(DestroyRequest) returns (DestroyResponse); + rpc Status(StatusRequest) returns (StatusResponse); + rpc Import(ImportRequest) returns (ImportResponse); + rpc ResolveSizing(ResolveSizingRequest) returns (ResolveSizingResponse); + rpc BootstrapStateBackend(BootstrapStateBackendRequest) returns (BootstrapStateBackendResponse); +} + +// ───────────────────────────────────────────────────────────────────────────── +// OPTIONAL services — providers register only the services they implement. +// wfctl checks at handle-open which optional services are registered via +// the existing ContractRegistry RPC. The absence of a registration is the +// negative signal; there is no NotSupported field on any optional response. +// ───────────────────────────────────────────────────────────────────────────── +service IaCProviderEnumerator { + rpc EnumerateAll(EnumerateAllRequest) returns (EnumerateAllResponse); + rpc EnumerateByTag(EnumerateByTagRequest) returns (EnumerateByTagResponse); +} + +service IaCProviderDriftDetector { + rpc DetectDrift(DetectDriftRequest) returns (DetectDriftResponse); + rpc DetectDriftWithSpecs(DetectDriftWithSpecsRequest) returns (DetectDriftWithSpecsResponse); +} + +service IaCProviderCredentialRevoker { + rpc RevokeProviderCredential(RevokeProviderCredentialRequest) returns (RevokeProviderCredentialResponse); +} + +service IaCProviderMigrationRepairer { + rpc RepairDirtyMigration(RepairDirtyMigrationRequest) returns (RepairDirtyMigrationResponse); +} + +service IaCProviderValidator { + rpc ValidatePlan(ValidatePlanRequest) returns (ValidatePlanResponse); +} + +service IaCProviderDriftConfigDetector { + rpc DetectDriftConfig(DetectDriftConfigRequest) returns (DetectDriftConfigResponse); +} + +// ───────────────────────────────────────────────────────────────────────────── +// ResourceDriver — separate gRPC service for per-resource-type CRUD dispatch. +// The driver instance is identified by (resource_type) carried on every RPC. +// ───────────────────────────────────────────────────────────────────────────── +service ResourceDriver { + rpc Create(ResourceCreateRequest) returns (ResourceCreateResponse); + rpc Read(ResourceReadRequest) returns (ResourceReadResponse); + rpc Update(ResourceUpdateRequest) returns (ResourceUpdateResponse); + rpc Delete(ResourceDeleteRequest) returns (ResourceDeleteResponse); + rpc Diff(ResourceDiffRequest) returns (ResourceDiffResponse); + rpc Scale(ResourceScaleRequest) returns (ResourceScaleResponse); + rpc HealthCheck(ResourceHealthCheckRequest) returns (ResourceHealthCheckResponse); + rpc SensitiveKeys(SensitiveKeysRequest) returns (SensitiveKeysResponse); + rpc Troubleshoot(TroubleshootRequest) returns (TroubleshootResponse); +} + +// ───────────────────────────────────────────────────────────────────────────── +// Common typed messages. +// +// JSON-bytes fields (config_json, outputs_json, applied_config_json, +// old_json, new_json) carry provider-specific free-form payloads that +// cannot be statically typed at the engine boundary. They are the +// strict-contract replacement for *structpb.Struct: the plugin owns +// json.Marshal/Unmarshal directly, eliminating the structpb conversion +// surface that previously dropped map[string]bool entries silently +// (T3.9 runtime-launch-validation finding). +// ───────────────────────────────────────────────────────────────────────────── + +// ResourceSpec mirrors interfaces.ResourceSpec. +message ResourceSpec { + string name = 1; + string type = 2; + // config_json is a JSON-encoded map[string]any of provider-specific + // configuration. Plugins parse it with encoding/json. + bytes config_json = 3; + string size = 4; // interfaces.Size string ("xs","s","m","l","xl") + ResourceHints hints = 5; + repeated string depends_on = 6; +} + +// ResourceRef mirrors interfaces.ResourceRef. +message ResourceRef { + string name = 1; + string type = 2; + string provider_id = 3; +} + +// ResourceHints mirrors interfaces.ResourceHints. +message ResourceHints { + string cpu = 1; + string memory = 2; + string storage = 3; +} + +// ProviderSizing mirrors interfaces.ProviderSizing. +message ProviderSizing { + string instance_type = 1; + bytes specs_json = 2; // JSON-encoded map[string]any of provider-specific specs +} + +// IaCCapabilityDeclaration mirrors interfaces.IaCCapabilityDeclaration. +message IaCCapabilityDeclaration { + string resource_type = 1; + int32 tier = 2; + repeated string operations = 3; +} + +// ResourceState mirrors interfaces.ResourceState. The on-disk JSON state +// file format is unchanged across the cutover (per design §State-file +// compat invariant); this proto carries the in-flight RPC representation. +message ResourceState { + string id = 1; + string name = 2; + string type = 3; + string provider = 4; + string provider_ref = 5; + string provider_id = 6; + string config_hash = 7; + // applied_config_json is the JSON-encoded map[string]any. + bytes applied_config_json = 8; + // applied_config_source: "" | "apply" | "adoption" (provenance discriminator). + string applied_config_source = 9; + // outputs_json is the JSON-encoded map[string]any. + bytes outputs_json = 10; + repeated string dependencies = 11; + google.protobuf.Timestamp created_at = 12; + google.protobuf.Timestamp updated_at = 13; + google.protobuf.Timestamp last_drift_check = 14; +} + +// ResourceOutput mirrors interfaces.ResourceOutput. The sensitive map is +// typed map per the design — the structpb roundtrip that +// previously dropped this map silently is eliminated. +message ResourceOutput { + string name = 1; + string type = 2; + string provider_id = 3; + // outputs_json is the JSON-encoded map[string]any of provider-emitted + // fields (IPs, endpoints, connection strings, etc.). + bytes outputs_json = 4; + map sensitive = 5; + string status = 6; +} + +// ResourceStatus mirrors interfaces.ResourceStatus. +message ResourceStatus { + string name = 1; + string type = 2; + string provider_id = 3; + string status = 4; // running | stopped | degraded | unknown + bytes outputs_json = 5; +} + +// FieldChange mirrors interfaces.FieldChange. +message FieldChange { + string path = 1; + // old_json / new_json carry arbitrary scalar/map/list values JSON-encoded. + bytes old_json = 2; + bytes new_json = 3; + bool force_new = 4; +} + +// DiffResult mirrors interfaces.DiffResult. +message DiffResult { + bool needs_update = 1; + bool needs_replace = 2; + repeated FieldChange changes = 3; +} + +// DriftClass mirrors interfaces.DriftClass. Wire-stable string-equivalent +// enum: zero value is UNKNOWN (matches Go's "" zero value), with explicit +// IN_SYNC / GHOST / CONFIG variants. +enum DriftClass { + DRIFT_CLASS_UNKNOWN = 0; + DRIFT_CLASS_IN_SYNC = 1; + DRIFT_CLASS_GHOST = 2; + DRIFT_CLASS_CONFIG = 3; +} + +// DriftResult mirrors interfaces.DriftResult. +message DriftResult { + string name = 1; + string type = 2; + bool drifted = 3; + DriftClass class = 4; + bytes expected_json = 5; // JSON-encoded map[string]any + bytes actual_json = 6; // JSON-encoded map[string]any + repeated string fields = 7; +} + +// DriftEntry mirrors interfaces.DriftEntry. +message DriftEntry { + string name = 1; + string plan_fingerprint = 2; + string apply_fingerprint = 3; +} + +// HealthResult mirrors interfaces.HealthResult. +message HealthResult { + bool healthy = 1; + string message = 2; +} + +// Diagnostic mirrors interfaces.Diagnostic (Troubleshooter type). +message Diagnostic { + string id = 1; + string phase = 2; + string cause = 3; + google.protobuf.Timestamp at = 4; + string detail = 5; +} + +// PlanDiagnosticSeverity mirrors interfaces.PlanDiagnosticSeverity. +// Wire ordering matches the Go iota: INFO=0, WARNING=1, ERROR=2. +enum PlanDiagnosticSeverity { + PLAN_DIAGNOSTIC_INFO = 0; + PLAN_DIAGNOSTIC_WARNING = 1; + PLAN_DIAGNOSTIC_ERROR = 2; +} + +// PlanDiagnostic mirrors interfaces.PlanDiagnostic. +message PlanDiagnostic { + PlanDiagnosticSeverity severity = 1; + string resource = 2; + string field = 3; + string message = 4; +} + +// PlanAction mirrors interfaces.PlanAction. +message PlanAction { + string action = 1; // create | update | replace | delete + ResourceSpec resource = 2; + ResourceState current = 3; + repeated FieldChange changes = 4; + string resolved_config_hash = 5; +} + +// IaCPlan mirrors interfaces.IaCPlan. +message IaCPlan { + string id = 1; + repeated PlanAction actions = 2; + google.protobuf.Timestamp created_at = 3; + string desired_hash = 4; + int32 schema_version = 5; + map input_snapshot = 6; +} + +// ActionError mirrors interfaces.ActionError. +message ActionError { + string resource = 1; + string action = 2; + string error = 3; +} + +// ApplyResult mirrors interfaces.ApplyResult. +message ApplyResult { + string plan_id = 1; + repeated ResourceOutput resources = 2; + repeated ActionError errors = 3; + map initial_input_snapshot = 4; + repeated DriftEntry input_drift_report = 5; + map replace_id_map = 6; +} + +// DestroyResult mirrors interfaces.DestroyResult. +message DestroyResult { + repeated string destroyed = 1; + repeated ActionError errors = 2; +} + +// BootstrapResult mirrors interfaces.BootstrapResult. +message BootstrapResult { + string bucket = 1; + string region = 2; + string endpoint = 3; + map env_vars = 4; +} + +// MigrationRepairRequest mirrors interfaces.MigrationRepairRequest. +message MigrationRepairRequest { + string app_resource_name = 1; + string database_resource_name = 2; + string job_image = 3; + string source_dir = 4; + string expected_dirty_version = 5; + string force_version = 6; + bool then_up = 7; + bool up_if_clean = 8; + // confirm_force MUST equal interfaces.MigrationRepairConfirmation + // ("FORCE_MIGRATION_METADATA"); the plugin re-validates server-side. + string confirm_force = 9; + map env = 10; + int32 timeout_seconds = 11; +} + +// MigrationRepairResult mirrors interfaces.MigrationRepairResult. +message MigrationRepairResult { + string provider_job_id = 1; + // status is one of MigrationRepairStatusSucceeded / Failed / + // ApprovalRequired / Unsupported (interfaces/migration_repair.go). + string status = 2; + repeated string applied = 3; + string logs = 4; + repeated Diagnostic diagnostics = 5; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderRequired request/response messages. +// ───────────────────────────────────────────────────────────────────────────── + +message InitializeRequest { + // config_json is the JSON-encoded provider-config map[string]any. + bytes config_json = 1; +} +message InitializeResponse {} + +message NameRequest {} +message NameResponse { + string name = 1; +} + +message VersionRequest {} +message VersionResponse { + string version = 1; +} + +message CapabilitiesRequest {} +message CapabilitiesResponse { + repeated IaCCapabilityDeclaration capabilities = 1; +} + +message PlanRequest { + repeated ResourceSpec desired = 1; + repeated ResourceState current = 2; +} +message PlanResponse { + IaCPlan plan = 1; +} + +message ApplyRequest { + IaCPlan plan = 1; +} +message ApplyResponse { + ApplyResult result = 1; +} + +message DestroyRequest { + repeated ResourceRef refs = 1; +} +message DestroyResponse { + DestroyResult result = 1; +} + +message StatusRequest { + repeated ResourceRef refs = 1; +} +message StatusResponse { + repeated ResourceStatus statuses = 1; +} + +message ImportRequest { + string provider_id = 1; + string resource_type = 2; +} +message ImportResponse { + ResourceState state = 1; +} + +message ResolveSizingRequest { + string resource_type = 1; + string size = 2; // interfaces.Size string + ResourceHints hints = 3; +} +message ResolveSizingResponse { + ProviderSizing sizing = 1; +} + +message BootstrapStateBackendRequest { + // config_json is the JSON-encoded iac.state module config map[string]any. + bytes config_json = 1; +} +message BootstrapStateBackendResponse { + BootstrapResult result = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderEnumerator messages. +// ───────────────────────────────────────────────────────────────────────────── +message EnumerateAllRequest { + string resource_type = 1; +} +message EnumerateAllResponse { + repeated ResourceOutput outputs = 1; +} + +message EnumerateByTagRequest { + string tag = 1; +} +message EnumerateByTagResponse { + repeated ResourceRef refs = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderDriftDetector messages. +// ───────────────────────────────────────────────────────────────────────────── +message DetectDriftRequest { + repeated ResourceRef refs = 1; +} +message DetectDriftResponse { + repeated DriftResult drifts = 1; +} + +message DetectDriftWithSpecsRequest { + repeated ResourceRef refs = 1; + // specs is keyed by ResourceRef.Name (matches ResourceState.Name) per the + // Go DriftConfigDetector.DetectDriftWithSpecs contract. + map specs = 2; +} +message DetectDriftWithSpecsResponse { + repeated DriftResult drifts = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderCredentialRevoker messages. +// ───────────────────────────────────────────────────────────────────────────── +message RevokeProviderCredentialRequest { + // source is the provider_credential source string (e.g. "digitalocean.spaces"). + string source = 1; + // credential_id is the provider-specific identifier of the OLD credential. + string credential_id = 2; +} +message RevokeProviderCredentialResponse {} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderMigrationRepairer messages. +// ───────────────────────────────────────────────────────────────────────────── +message RepairDirtyMigrationRequest { + MigrationRepairRequest request = 1; +} +message RepairDirtyMigrationResponse { + MigrationRepairResult result = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderValidator messages. +// ───────────────────────────────────────────────────────────────────────────── +message ValidatePlanRequest { + IaCPlan plan = 1; +} +message ValidatePlanResponse { + repeated PlanDiagnostic diagnostics = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// IaCProviderDriftConfigDetector messages. +// Mirrors the existing interfaces.DriftConfigDetector.DetectDriftWithSpecs +// contract: refs + per-ref applied-config specs → drift classifications. +// Carried as a separate optional service per design §Optional services. +// ───────────────────────────────────────────────────────────────────────────── +message DetectDriftConfigRequest { + repeated ResourceRef refs = 1; + map specs = 2; +} +message DetectDriftConfigResponse { + repeated DriftResult drifts = 1; +} + +// ───────────────────────────────────────────────────────────────────────────── +// ResourceDriver request/response messages. +// Each request carries resource_type so a single ResourceDriver server can +// dispatch to the per-type driver implementation (matches DO plugin's +// 14-driver type-routing pattern in Task 11). +// ───────────────────────────────────────────────────────────────────────────── +message ResourceCreateRequest { + string resource_type = 1; + ResourceSpec spec = 2; +} +message ResourceCreateResponse { + ResourceOutput output = 1; +} + +message ResourceReadRequest { + string resource_type = 1; + ResourceRef ref = 2; +} +message ResourceReadResponse { + ResourceOutput output = 1; +} + +message ResourceUpdateRequest { + string resource_type = 1; + ResourceRef ref = 2; + ResourceSpec spec = 3; +} +message ResourceUpdateResponse { + ResourceOutput output = 1; +} + +message ResourceDeleteRequest { + string resource_type = 1; + ResourceRef ref = 2; +} +message ResourceDeleteResponse {} + +message ResourceDiffRequest { + string resource_type = 1; + ResourceSpec desired = 2; + ResourceOutput current = 3; +} +message ResourceDiffResponse { + DiffResult result = 1; +} + +message ResourceScaleRequest { + string resource_type = 1; + ResourceRef ref = 2; + int32 replicas = 3; +} +message ResourceScaleResponse { + ResourceOutput output = 1; +} + +message ResourceHealthCheckRequest { + string resource_type = 1; + ResourceRef ref = 2; +} +message ResourceHealthCheckResponse { + HealthResult result = 1; +} + +message SensitiveKeysRequest { + string resource_type = 1; +} +message SensitiveKeysResponse { + repeated string keys = 1; +} + +message TroubleshootRequest { + string resource_type = 1; + ResourceRef ref = 2; + string failure_msg = 3; +} +message TroubleshootResponse { + repeated Diagnostic diagnostics = 1; +} diff --git a/plugin/external/proto/iac_grpc.pb.go b/plugin/external/proto/iac_grpc.pb.go new file mode 100644 index 00000000..7b8a99ea --- /dev/null +++ b/plugin/external/proto/iac_grpc.pb.go @@ -0,0 +1,1649 @@ +// iac.proto — typed gRPC contract for IaCProvider + ResourceDriver plugins. +// +// Design: docs/plans/2026-05-10-strict-contracts-force-cutover-design.md +// Plan: docs/plans/2026-05-10-strict-contracts-force-cutover.md (Task 3) +// +// Hard invariants (per cycle 4 §Acceptance criteria): +// - NO google.protobuf.Struct, NO google.protobuf.Any used in any message. +// - Free-form per-resource Config / Outputs payloads cross the wire as +// bytes _json, JSON-encoded by the plugin/host. The plugin owns +// the serialization shape; the proto layer carries opaque bytes. +// - ResourceOutput.sensitive uses typed map (NOT structpb). +// - REQUIRED service: every method must be implemented by every plugin. +// Compile fails on the SDK type-assert if a method is missing. +// - OPTIONAL services: providers register only the services they support. +// Absence of registration IS the negative signal — no NotSupported flag. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v7.34.1 +// source: plugin/external/proto/iac.proto + +package proto + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + IaCProviderRequired_Initialize_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Initialize" + IaCProviderRequired_Name_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Name" + IaCProviderRequired_Version_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Version" + IaCProviderRequired_Capabilities_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Capabilities" + IaCProviderRequired_Plan_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Plan" + IaCProviderRequired_Apply_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Apply" + IaCProviderRequired_Destroy_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Destroy" + IaCProviderRequired_Status_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Status" + IaCProviderRequired_Import_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Import" + IaCProviderRequired_ResolveSizing_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/ResolveSizing" + IaCProviderRequired_BootstrapStateBackend_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/BootstrapStateBackend" +) + +// IaCProviderRequiredClient is the client API for IaCProviderRequired service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ───────────────────────────────────────────────────────────────────────────── +// REQUIRED service — every IaC provider MUST implement every RPC. +// Go compiler enforces full interface satisfaction at the SDK type-assert. +// ───────────────────────────────────────────────────────────────────────────── +type IaCProviderRequiredClient interface { + Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) + Name(ctx context.Context, in *NameRequest, opts ...grpc.CallOption) (*NameResponse, error) + Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) + Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error) + Plan(ctx context.Context, in *PlanRequest, opts ...grpc.CallOption) (*PlanResponse, error) + Apply(ctx context.Context, in *ApplyRequest, opts ...grpc.CallOption) (*ApplyResponse, error) + Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) + Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) + Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) + ResolveSizing(ctx context.Context, in *ResolveSizingRequest, opts ...grpc.CallOption) (*ResolveSizingResponse, error) + BootstrapStateBackend(ctx context.Context, in *BootstrapStateBackendRequest, opts ...grpc.CallOption) (*BootstrapStateBackendResponse, error) +} + +type iaCProviderRequiredClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderRequiredClient(cc grpc.ClientConnInterface) IaCProviderRequiredClient { + return &iaCProviderRequiredClient{cc} +} + +func (c *iaCProviderRequiredClient) Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(InitializeResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Initialize_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Name(ctx context.Context, in *NameRequest, opts ...grpc.CallOption) (*NameResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(NameResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Name_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VersionResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Version_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CapabilitiesResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Capabilities_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Plan(ctx context.Context, in *PlanRequest, opts ...grpc.CallOption) (*PlanResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PlanResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Plan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Apply(ctx context.Context, in *ApplyRequest, opts ...grpc.CallOption) (*ApplyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ApplyResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Apply_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DestroyResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Destroy_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Status_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ImportResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Import_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) ResolveSizing(ctx context.Context, in *ResolveSizingRequest, opts ...grpc.CallOption) (*ResolveSizingResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResolveSizingResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_ResolveSizing_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderRequiredClient) BootstrapStateBackend(ctx context.Context, in *BootstrapStateBackendRequest, opts ...grpc.CallOption) (*BootstrapStateBackendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(BootstrapStateBackendResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_BootstrapStateBackend_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderRequiredServer is the server API for IaCProviderRequired service. +// All implementations must embed UnimplementedIaCProviderRequiredServer +// for forward compatibility. +// +// ───────────────────────────────────────────────────────────────────────────── +// REQUIRED service — every IaC provider MUST implement every RPC. +// Go compiler enforces full interface satisfaction at the SDK type-assert. +// ───────────────────────────────────────────────────────────────────────────── +type IaCProviderRequiredServer interface { + Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) + Name(context.Context, *NameRequest) (*NameResponse, error) + Version(context.Context, *VersionRequest) (*VersionResponse, error) + Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error) + Plan(context.Context, *PlanRequest) (*PlanResponse, error) + Apply(context.Context, *ApplyRequest) (*ApplyResponse, error) + Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) + Status(context.Context, *StatusRequest) (*StatusResponse, error) + Import(context.Context, *ImportRequest) (*ImportResponse, error) + ResolveSizing(context.Context, *ResolveSizingRequest) (*ResolveSizingResponse, error) + BootstrapStateBackend(context.Context, *BootstrapStateBackendRequest) (*BootstrapStateBackendResponse, error) + mustEmbedUnimplementedIaCProviderRequiredServer() +} + +// UnimplementedIaCProviderRequiredServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderRequiredServer struct{} + +func (UnimplementedIaCProviderRequiredServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Initialize not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Name(context.Context, *NameRequest) (*NameResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Name not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Version(context.Context, *VersionRequest) (*VersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Version not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Capabilities not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Plan(context.Context, *PlanRequest) (*PlanResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Plan not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Apply(context.Context, *ApplyRequest) (*ApplyResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Apply not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Destroy not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Status(context.Context, *StatusRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Status not implemented") +} +func (UnimplementedIaCProviderRequiredServer) Import(context.Context, *ImportRequest) (*ImportResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Import not implemented") +} +func (UnimplementedIaCProviderRequiredServer) ResolveSizing(context.Context, *ResolveSizingRequest) (*ResolveSizingResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ResolveSizing not implemented") +} +func (UnimplementedIaCProviderRequiredServer) BootstrapStateBackend(context.Context, *BootstrapStateBackendRequest) (*BootstrapStateBackendResponse, error) { + return nil, status.Error(codes.Unimplemented, "method BootstrapStateBackend not implemented") +} +func (UnimplementedIaCProviderRequiredServer) mustEmbedUnimplementedIaCProviderRequiredServer() {} +func (UnimplementedIaCProviderRequiredServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderRequiredServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderRequiredServer will +// result in compilation errors. +type UnsafeIaCProviderRequiredServer interface { + mustEmbedUnimplementedIaCProviderRequiredServer() +} + +func RegisterIaCProviderRequiredServer(s grpc.ServiceRegistrar, srv IaCProviderRequiredServer) { + // If the following call panics, it indicates UnimplementedIaCProviderRequiredServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderRequired_ServiceDesc, srv) +} + +func _IaCProviderRequired_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InitializeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Initialize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Initialize_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Initialize(ctx, req.(*InitializeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Name_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NameRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Name(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Name_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Name(ctx, req.(*NameRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Version(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Version_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Version(ctx, req.(*VersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Capabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CapabilitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Capabilities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Capabilities_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Capabilities(ctx, req.(*CapabilitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Plan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Plan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Plan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Plan(ctx, req.(*PlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Apply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Apply(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Apply_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Apply(ctx, req.(*ApplyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Destroy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DestroyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Destroy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Destroy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Destroy(ctx, req.(*DestroyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Status(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Status_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Status(ctx, req.(*StatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Import(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Import_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Import(ctx, req.(*ImportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_ResolveSizing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResolveSizingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).ResolveSizing(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_ResolveSizing_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).ResolveSizing(ctx, req.(*ResolveSizingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderRequired_BootstrapStateBackend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BootstrapStateBackendRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).BootstrapStateBackend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_BootstrapStateBackend_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).BootstrapStateBackend(ctx, req.(*BootstrapStateBackendRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderRequired_ServiceDesc is the grpc.ServiceDesc for IaCProviderRequired service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderRequired_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderRequired", + HandlerType: (*IaCProviderRequiredServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Initialize", + Handler: _IaCProviderRequired_Initialize_Handler, + }, + { + MethodName: "Name", + Handler: _IaCProviderRequired_Name_Handler, + }, + { + MethodName: "Version", + Handler: _IaCProviderRequired_Version_Handler, + }, + { + MethodName: "Capabilities", + Handler: _IaCProviderRequired_Capabilities_Handler, + }, + { + MethodName: "Plan", + Handler: _IaCProviderRequired_Plan_Handler, + }, + { + MethodName: "Apply", + Handler: _IaCProviderRequired_Apply_Handler, + }, + { + MethodName: "Destroy", + Handler: _IaCProviderRequired_Destroy_Handler, + }, + { + MethodName: "Status", + Handler: _IaCProviderRequired_Status_Handler, + }, + { + MethodName: "Import", + Handler: _IaCProviderRequired_Import_Handler, + }, + { + MethodName: "ResolveSizing", + Handler: _IaCProviderRequired_ResolveSizing_Handler, + }, + { + MethodName: "BootstrapStateBackend", + Handler: _IaCProviderRequired_BootstrapStateBackend_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderEnumerator_EnumerateAll_FullMethodName = "/workflow.plugin.external.iac.IaCProviderEnumerator/EnumerateAll" + IaCProviderEnumerator_EnumerateByTag_FullMethodName = "/workflow.plugin.external.iac.IaCProviderEnumerator/EnumerateByTag" +) + +// IaCProviderEnumeratorClient is the client API for IaCProviderEnumerator service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ───────────────────────────────────────────────────────────────────────────── +// OPTIONAL services — providers register only the services they implement. +// wfctl checks at handle-open which optional services are registered via +// the existing ContractRegistry RPC. The absence of a registration is the +// negative signal; there is no NotSupported field on any optional response. +// ───────────────────────────────────────────────────────────────────────────── +type IaCProviderEnumeratorClient interface { + EnumerateAll(ctx context.Context, in *EnumerateAllRequest, opts ...grpc.CallOption) (*EnumerateAllResponse, error) + EnumerateByTag(ctx context.Context, in *EnumerateByTagRequest, opts ...grpc.CallOption) (*EnumerateByTagResponse, error) +} + +type iaCProviderEnumeratorClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderEnumeratorClient(cc grpc.ClientConnInterface) IaCProviderEnumeratorClient { + return &iaCProviderEnumeratorClient{cc} +} + +func (c *iaCProviderEnumeratorClient) EnumerateAll(ctx context.Context, in *EnumerateAllRequest, opts ...grpc.CallOption) (*EnumerateAllResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EnumerateAllResponse) + err := c.cc.Invoke(ctx, IaCProviderEnumerator_EnumerateAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderEnumeratorClient) EnumerateByTag(ctx context.Context, in *EnumerateByTagRequest, opts ...grpc.CallOption) (*EnumerateByTagResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EnumerateByTagResponse) + err := c.cc.Invoke(ctx, IaCProviderEnumerator_EnumerateByTag_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderEnumeratorServer is the server API for IaCProviderEnumerator service. +// All implementations must embed UnimplementedIaCProviderEnumeratorServer +// for forward compatibility. +// +// ───────────────────────────────────────────────────────────────────────────── +// OPTIONAL services — providers register only the services they implement. +// wfctl checks at handle-open which optional services are registered via +// the existing ContractRegistry RPC. The absence of a registration is the +// negative signal; there is no NotSupported field on any optional response. +// ───────────────────────────────────────────────────────────────────────────── +type IaCProviderEnumeratorServer interface { + EnumerateAll(context.Context, *EnumerateAllRequest) (*EnumerateAllResponse, error) + EnumerateByTag(context.Context, *EnumerateByTagRequest) (*EnumerateByTagResponse, error) + mustEmbedUnimplementedIaCProviderEnumeratorServer() +} + +// UnimplementedIaCProviderEnumeratorServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderEnumeratorServer struct{} + +func (UnimplementedIaCProviderEnumeratorServer) EnumerateAll(context.Context, *EnumerateAllRequest) (*EnumerateAllResponse, error) { + return nil, status.Error(codes.Unimplemented, "method EnumerateAll not implemented") +} +func (UnimplementedIaCProviderEnumeratorServer) EnumerateByTag(context.Context, *EnumerateByTagRequest) (*EnumerateByTagResponse, error) { + return nil, status.Error(codes.Unimplemented, "method EnumerateByTag not implemented") +} +func (UnimplementedIaCProviderEnumeratorServer) mustEmbedUnimplementedIaCProviderEnumeratorServer() {} +func (UnimplementedIaCProviderEnumeratorServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderEnumeratorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderEnumeratorServer will +// result in compilation errors. +type UnsafeIaCProviderEnumeratorServer interface { + mustEmbedUnimplementedIaCProviderEnumeratorServer() +} + +func RegisterIaCProviderEnumeratorServer(s grpc.ServiceRegistrar, srv IaCProviderEnumeratorServer) { + // If the following call panics, it indicates UnimplementedIaCProviderEnumeratorServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderEnumerator_ServiceDesc, srv) +} + +func _IaCProviderEnumerator_EnumerateAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnumerateAllRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderEnumeratorServer).EnumerateAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderEnumerator_EnumerateAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderEnumeratorServer).EnumerateAll(ctx, req.(*EnumerateAllRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderEnumerator_EnumerateByTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnumerateByTagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderEnumeratorServer).EnumerateByTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderEnumerator_EnumerateByTag_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderEnumeratorServer).EnumerateByTag(ctx, req.(*EnumerateByTagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderEnumerator_ServiceDesc is the grpc.ServiceDesc for IaCProviderEnumerator service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderEnumerator_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderEnumerator", + HandlerType: (*IaCProviderEnumeratorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "EnumerateAll", + Handler: _IaCProviderEnumerator_EnumerateAll_Handler, + }, + { + MethodName: "EnumerateByTag", + Handler: _IaCProviderEnumerator_EnumerateByTag_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderDriftDetector_DetectDrift_FullMethodName = "/workflow.plugin.external.iac.IaCProviderDriftDetector/DetectDrift" + IaCProviderDriftDetector_DetectDriftWithSpecs_FullMethodName = "/workflow.plugin.external.iac.IaCProviderDriftDetector/DetectDriftWithSpecs" +) + +// IaCProviderDriftDetectorClient is the client API for IaCProviderDriftDetector service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IaCProviderDriftDetectorClient interface { + DetectDrift(ctx context.Context, in *DetectDriftRequest, opts ...grpc.CallOption) (*DetectDriftResponse, error) + DetectDriftWithSpecs(ctx context.Context, in *DetectDriftWithSpecsRequest, opts ...grpc.CallOption) (*DetectDriftWithSpecsResponse, error) +} + +type iaCProviderDriftDetectorClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderDriftDetectorClient(cc grpc.ClientConnInterface) IaCProviderDriftDetectorClient { + return &iaCProviderDriftDetectorClient{cc} +} + +func (c *iaCProviderDriftDetectorClient) DetectDrift(ctx context.Context, in *DetectDriftRequest, opts ...grpc.CallOption) (*DetectDriftResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DetectDriftResponse) + err := c.cc.Invoke(ctx, IaCProviderDriftDetector_DetectDrift_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iaCProviderDriftDetectorClient) DetectDriftWithSpecs(ctx context.Context, in *DetectDriftWithSpecsRequest, opts ...grpc.CallOption) (*DetectDriftWithSpecsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DetectDriftWithSpecsResponse) + err := c.cc.Invoke(ctx, IaCProviderDriftDetector_DetectDriftWithSpecs_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderDriftDetectorServer is the server API for IaCProviderDriftDetector service. +// All implementations must embed UnimplementedIaCProviderDriftDetectorServer +// for forward compatibility. +type IaCProviderDriftDetectorServer interface { + DetectDrift(context.Context, *DetectDriftRequest) (*DetectDriftResponse, error) + DetectDriftWithSpecs(context.Context, *DetectDriftWithSpecsRequest) (*DetectDriftWithSpecsResponse, error) + mustEmbedUnimplementedIaCProviderDriftDetectorServer() +} + +// UnimplementedIaCProviderDriftDetectorServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderDriftDetectorServer struct{} + +func (UnimplementedIaCProviderDriftDetectorServer) DetectDrift(context.Context, *DetectDriftRequest) (*DetectDriftResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DetectDrift not implemented") +} +func (UnimplementedIaCProviderDriftDetectorServer) DetectDriftWithSpecs(context.Context, *DetectDriftWithSpecsRequest) (*DetectDriftWithSpecsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DetectDriftWithSpecs not implemented") +} +func (UnimplementedIaCProviderDriftDetectorServer) mustEmbedUnimplementedIaCProviderDriftDetectorServer() { +} +func (UnimplementedIaCProviderDriftDetectorServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderDriftDetectorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderDriftDetectorServer will +// result in compilation errors. +type UnsafeIaCProviderDriftDetectorServer interface { + mustEmbedUnimplementedIaCProviderDriftDetectorServer() +} + +func RegisterIaCProviderDriftDetectorServer(s grpc.ServiceRegistrar, srv IaCProviderDriftDetectorServer) { + // If the following call panics, it indicates UnimplementedIaCProviderDriftDetectorServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderDriftDetector_ServiceDesc, srv) +} + +func _IaCProviderDriftDetector_DetectDrift_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DetectDriftRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderDriftDetectorServer).DetectDrift(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderDriftDetector_DetectDrift_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderDriftDetectorServer).DetectDrift(ctx, req.(*DetectDriftRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IaCProviderDriftDetector_DetectDriftWithSpecs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DetectDriftWithSpecsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderDriftDetectorServer).DetectDriftWithSpecs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderDriftDetector_DetectDriftWithSpecs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderDriftDetectorServer).DetectDriftWithSpecs(ctx, req.(*DetectDriftWithSpecsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderDriftDetector_ServiceDesc is the grpc.ServiceDesc for IaCProviderDriftDetector service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderDriftDetector_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderDriftDetector", + HandlerType: (*IaCProviderDriftDetectorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "DetectDrift", + Handler: _IaCProviderDriftDetector_DetectDrift_Handler, + }, + { + MethodName: "DetectDriftWithSpecs", + Handler: _IaCProviderDriftDetector_DetectDriftWithSpecs_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderCredentialRevoker_RevokeProviderCredential_FullMethodName = "/workflow.plugin.external.iac.IaCProviderCredentialRevoker/RevokeProviderCredential" +) + +// IaCProviderCredentialRevokerClient is the client API for IaCProviderCredentialRevoker service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IaCProviderCredentialRevokerClient interface { + RevokeProviderCredential(ctx context.Context, in *RevokeProviderCredentialRequest, opts ...grpc.CallOption) (*RevokeProviderCredentialResponse, error) +} + +type iaCProviderCredentialRevokerClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderCredentialRevokerClient(cc grpc.ClientConnInterface) IaCProviderCredentialRevokerClient { + return &iaCProviderCredentialRevokerClient{cc} +} + +func (c *iaCProviderCredentialRevokerClient) RevokeProviderCredential(ctx context.Context, in *RevokeProviderCredentialRequest, opts ...grpc.CallOption) (*RevokeProviderCredentialResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RevokeProviderCredentialResponse) + err := c.cc.Invoke(ctx, IaCProviderCredentialRevoker_RevokeProviderCredential_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderCredentialRevokerServer is the server API for IaCProviderCredentialRevoker service. +// All implementations must embed UnimplementedIaCProviderCredentialRevokerServer +// for forward compatibility. +type IaCProviderCredentialRevokerServer interface { + RevokeProviderCredential(context.Context, *RevokeProviderCredentialRequest) (*RevokeProviderCredentialResponse, error) + mustEmbedUnimplementedIaCProviderCredentialRevokerServer() +} + +// UnimplementedIaCProviderCredentialRevokerServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderCredentialRevokerServer struct{} + +func (UnimplementedIaCProviderCredentialRevokerServer) RevokeProviderCredential(context.Context, *RevokeProviderCredentialRequest) (*RevokeProviderCredentialResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RevokeProviderCredential not implemented") +} +func (UnimplementedIaCProviderCredentialRevokerServer) mustEmbedUnimplementedIaCProviderCredentialRevokerServer() { +} +func (UnimplementedIaCProviderCredentialRevokerServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderCredentialRevokerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderCredentialRevokerServer will +// result in compilation errors. +type UnsafeIaCProviderCredentialRevokerServer interface { + mustEmbedUnimplementedIaCProviderCredentialRevokerServer() +} + +func RegisterIaCProviderCredentialRevokerServer(s grpc.ServiceRegistrar, srv IaCProviderCredentialRevokerServer) { + // If the following call panics, it indicates UnimplementedIaCProviderCredentialRevokerServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderCredentialRevoker_ServiceDesc, srv) +} + +func _IaCProviderCredentialRevoker_RevokeProviderCredential_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RevokeProviderCredentialRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderCredentialRevokerServer).RevokeProviderCredential(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderCredentialRevoker_RevokeProviderCredential_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderCredentialRevokerServer).RevokeProviderCredential(ctx, req.(*RevokeProviderCredentialRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderCredentialRevoker_ServiceDesc is the grpc.ServiceDesc for IaCProviderCredentialRevoker service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderCredentialRevoker_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderCredentialRevoker", + HandlerType: (*IaCProviderCredentialRevokerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RevokeProviderCredential", + Handler: _IaCProviderCredentialRevoker_RevokeProviderCredential_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderMigrationRepairer_RepairDirtyMigration_FullMethodName = "/workflow.plugin.external.iac.IaCProviderMigrationRepairer/RepairDirtyMigration" +) + +// IaCProviderMigrationRepairerClient is the client API for IaCProviderMigrationRepairer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IaCProviderMigrationRepairerClient interface { + RepairDirtyMigration(ctx context.Context, in *RepairDirtyMigrationRequest, opts ...grpc.CallOption) (*RepairDirtyMigrationResponse, error) +} + +type iaCProviderMigrationRepairerClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderMigrationRepairerClient(cc grpc.ClientConnInterface) IaCProviderMigrationRepairerClient { + return &iaCProviderMigrationRepairerClient{cc} +} + +func (c *iaCProviderMigrationRepairerClient) RepairDirtyMigration(ctx context.Context, in *RepairDirtyMigrationRequest, opts ...grpc.CallOption) (*RepairDirtyMigrationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RepairDirtyMigrationResponse) + err := c.cc.Invoke(ctx, IaCProviderMigrationRepairer_RepairDirtyMigration_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderMigrationRepairerServer is the server API for IaCProviderMigrationRepairer service. +// All implementations must embed UnimplementedIaCProviderMigrationRepairerServer +// for forward compatibility. +type IaCProviderMigrationRepairerServer interface { + RepairDirtyMigration(context.Context, *RepairDirtyMigrationRequest) (*RepairDirtyMigrationResponse, error) + mustEmbedUnimplementedIaCProviderMigrationRepairerServer() +} + +// UnimplementedIaCProviderMigrationRepairerServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderMigrationRepairerServer struct{} + +func (UnimplementedIaCProviderMigrationRepairerServer) RepairDirtyMigration(context.Context, *RepairDirtyMigrationRequest) (*RepairDirtyMigrationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RepairDirtyMigration not implemented") +} +func (UnimplementedIaCProviderMigrationRepairerServer) mustEmbedUnimplementedIaCProviderMigrationRepairerServer() { +} +func (UnimplementedIaCProviderMigrationRepairerServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderMigrationRepairerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderMigrationRepairerServer will +// result in compilation errors. +type UnsafeIaCProviderMigrationRepairerServer interface { + mustEmbedUnimplementedIaCProviderMigrationRepairerServer() +} + +func RegisterIaCProviderMigrationRepairerServer(s grpc.ServiceRegistrar, srv IaCProviderMigrationRepairerServer) { + // If the following call panics, it indicates UnimplementedIaCProviderMigrationRepairerServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderMigrationRepairer_ServiceDesc, srv) +} + +func _IaCProviderMigrationRepairer_RepairDirtyMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RepairDirtyMigrationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderMigrationRepairerServer).RepairDirtyMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderMigrationRepairer_RepairDirtyMigration_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderMigrationRepairerServer).RepairDirtyMigration(ctx, req.(*RepairDirtyMigrationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderMigrationRepairer_ServiceDesc is the grpc.ServiceDesc for IaCProviderMigrationRepairer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderMigrationRepairer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderMigrationRepairer", + HandlerType: (*IaCProviderMigrationRepairerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RepairDirtyMigration", + Handler: _IaCProviderMigrationRepairer_RepairDirtyMigration_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderValidator_ValidatePlan_FullMethodName = "/workflow.plugin.external.iac.IaCProviderValidator/ValidatePlan" +) + +// IaCProviderValidatorClient is the client API for IaCProviderValidator service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IaCProviderValidatorClient interface { + ValidatePlan(ctx context.Context, in *ValidatePlanRequest, opts ...grpc.CallOption) (*ValidatePlanResponse, error) +} + +type iaCProviderValidatorClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderValidatorClient(cc grpc.ClientConnInterface) IaCProviderValidatorClient { + return &iaCProviderValidatorClient{cc} +} + +func (c *iaCProviderValidatorClient) ValidatePlan(ctx context.Context, in *ValidatePlanRequest, opts ...grpc.CallOption) (*ValidatePlanResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ValidatePlanResponse) + err := c.cc.Invoke(ctx, IaCProviderValidator_ValidatePlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderValidatorServer is the server API for IaCProviderValidator service. +// All implementations must embed UnimplementedIaCProviderValidatorServer +// for forward compatibility. +type IaCProviderValidatorServer interface { + ValidatePlan(context.Context, *ValidatePlanRequest) (*ValidatePlanResponse, error) + mustEmbedUnimplementedIaCProviderValidatorServer() +} + +// UnimplementedIaCProviderValidatorServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderValidatorServer struct{} + +func (UnimplementedIaCProviderValidatorServer) ValidatePlan(context.Context, *ValidatePlanRequest) (*ValidatePlanResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ValidatePlan not implemented") +} +func (UnimplementedIaCProviderValidatorServer) mustEmbedUnimplementedIaCProviderValidatorServer() {} +func (UnimplementedIaCProviderValidatorServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderValidatorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderValidatorServer will +// result in compilation errors. +type UnsafeIaCProviderValidatorServer interface { + mustEmbedUnimplementedIaCProviderValidatorServer() +} + +func RegisterIaCProviderValidatorServer(s grpc.ServiceRegistrar, srv IaCProviderValidatorServer) { + // If the following call panics, it indicates UnimplementedIaCProviderValidatorServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderValidator_ServiceDesc, srv) +} + +func _IaCProviderValidator_ValidatePlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ValidatePlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderValidatorServer).ValidatePlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderValidator_ValidatePlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderValidatorServer).ValidatePlan(ctx, req.(*ValidatePlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderValidator_ServiceDesc is the grpc.ServiceDesc for IaCProviderValidator service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderValidator_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderValidator", + HandlerType: (*IaCProviderValidatorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ValidatePlan", + Handler: _IaCProviderValidator_ValidatePlan_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + IaCProviderDriftConfigDetector_DetectDriftConfig_FullMethodName = "/workflow.plugin.external.iac.IaCProviderDriftConfigDetector/DetectDriftConfig" +) + +// IaCProviderDriftConfigDetectorClient is the client API for IaCProviderDriftConfigDetector service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IaCProviderDriftConfigDetectorClient interface { + DetectDriftConfig(ctx context.Context, in *DetectDriftConfigRequest, opts ...grpc.CallOption) (*DetectDriftConfigResponse, error) +} + +type iaCProviderDriftConfigDetectorClient struct { + cc grpc.ClientConnInterface +} + +func NewIaCProviderDriftConfigDetectorClient(cc grpc.ClientConnInterface) IaCProviderDriftConfigDetectorClient { + return &iaCProviderDriftConfigDetectorClient{cc} +} + +func (c *iaCProviderDriftConfigDetectorClient) DetectDriftConfig(ctx context.Context, in *DetectDriftConfigRequest, opts ...grpc.CallOption) (*DetectDriftConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DetectDriftConfigResponse) + err := c.cc.Invoke(ctx, IaCProviderDriftConfigDetector_DetectDriftConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IaCProviderDriftConfigDetectorServer is the server API for IaCProviderDriftConfigDetector service. +// All implementations must embed UnimplementedIaCProviderDriftConfigDetectorServer +// for forward compatibility. +type IaCProviderDriftConfigDetectorServer interface { + DetectDriftConfig(context.Context, *DetectDriftConfigRequest) (*DetectDriftConfigResponse, error) + mustEmbedUnimplementedIaCProviderDriftConfigDetectorServer() +} + +// UnimplementedIaCProviderDriftConfigDetectorServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedIaCProviderDriftConfigDetectorServer struct{} + +func (UnimplementedIaCProviderDriftConfigDetectorServer) DetectDriftConfig(context.Context, *DetectDriftConfigRequest) (*DetectDriftConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DetectDriftConfig not implemented") +} +func (UnimplementedIaCProviderDriftConfigDetectorServer) mustEmbedUnimplementedIaCProviderDriftConfigDetectorServer() { +} +func (UnimplementedIaCProviderDriftConfigDetectorServer) testEmbeddedByValue() {} + +// UnsafeIaCProviderDriftConfigDetectorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IaCProviderDriftConfigDetectorServer will +// result in compilation errors. +type UnsafeIaCProviderDriftConfigDetectorServer interface { + mustEmbedUnimplementedIaCProviderDriftConfigDetectorServer() +} + +func RegisterIaCProviderDriftConfigDetectorServer(s grpc.ServiceRegistrar, srv IaCProviderDriftConfigDetectorServer) { + // If the following call panics, it indicates UnimplementedIaCProviderDriftConfigDetectorServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&IaCProviderDriftConfigDetector_ServiceDesc, srv) +} + +func _IaCProviderDriftConfigDetector_DetectDriftConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DetectDriftConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderDriftConfigDetectorServer).DetectDriftConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderDriftConfigDetector_DetectDriftConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderDriftConfigDetectorServer).DetectDriftConfig(ctx, req.(*DetectDriftConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IaCProviderDriftConfigDetector_ServiceDesc is the grpc.ServiceDesc for IaCProviderDriftConfigDetector service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IaCProviderDriftConfigDetector_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.IaCProviderDriftConfigDetector", + HandlerType: (*IaCProviderDriftConfigDetectorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "DetectDriftConfig", + Handler: _IaCProviderDriftConfigDetector_DetectDriftConfig_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} + +const ( + ResourceDriver_Create_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Create" + ResourceDriver_Read_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Read" + ResourceDriver_Update_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Update" + ResourceDriver_Delete_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Delete" + ResourceDriver_Diff_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Diff" + ResourceDriver_Scale_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Scale" + ResourceDriver_HealthCheck_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/HealthCheck" + ResourceDriver_SensitiveKeys_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/SensitiveKeys" + ResourceDriver_Troubleshoot_FullMethodName = "/workflow.plugin.external.iac.ResourceDriver/Troubleshoot" +) + +// ResourceDriverClient is the client API for ResourceDriver service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ───────────────────────────────────────────────────────────────────────────── +// ResourceDriver — separate gRPC service for per-resource-type CRUD dispatch. +// The driver instance is identified by (resource_type) carried on every RPC. +// ───────────────────────────────────────────────────────────────────────────── +type ResourceDriverClient interface { + Create(ctx context.Context, in *ResourceCreateRequest, opts ...grpc.CallOption) (*ResourceCreateResponse, error) + Read(ctx context.Context, in *ResourceReadRequest, opts ...grpc.CallOption) (*ResourceReadResponse, error) + Update(ctx context.Context, in *ResourceUpdateRequest, opts ...grpc.CallOption) (*ResourceUpdateResponse, error) + Delete(ctx context.Context, in *ResourceDeleteRequest, opts ...grpc.CallOption) (*ResourceDeleteResponse, error) + Diff(ctx context.Context, in *ResourceDiffRequest, opts ...grpc.CallOption) (*ResourceDiffResponse, error) + Scale(ctx context.Context, in *ResourceScaleRequest, opts ...grpc.CallOption) (*ResourceScaleResponse, error) + HealthCheck(ctx context.Context, in *ResourceHealthCheckRequest, opts ...grpc.CallOption) (*ResourceHealthCheckResponse, error) + SensitiveKeys(ctx context.Context, in *SensitiveKeysRequest, opts ...grpc.CallOption) (*SensitiveKeysResponse, error) + Troubleshoot(ctx context.Context, in *TroubleshootRequest, opts ...grpc.CallOption) (*TroubleshootResponse, error) +} + +type resourceDriverClient struct { + cc grpc.ClientConnInterface +} + +func NewResourceDriverClient(cc grpc.ClientConnInterface) ResourceDriverClient { + return &resourceDriverClient{cc} +} + +func (c *resourceDriverClient) Create(ctx context.Context, in *ResourceCreateRequest, opts ...grpc.CallOption) (*ResourceCreateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceCreateResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Create_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Read(ctx context.Context, in *ResourceReadRequest, opts ...grpc.CallOption) (*ResourceReadResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceReadResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Read_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Update(ctx context.Context, in *ResourceUpdateRequest, opts ...grpc.CallOption) (*ResourceUpdateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceUpdateResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Update_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Delete(ctx context.Context, in *ResourceDeleteRequest, opts ...grpc.CallOption) (*ResourceDeleteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceDeleteResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Delete_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Diff(ctx context.Context, in *ResourceDiffRequest, opts ...grpc.CallOption) (*ResourceDiffResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceDiffResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Diff_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Scale(ctx context.Context, in *ResourceScaleRequest, opts ...grpc.CallOption) (*ResourceScaleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceScaleResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Scale_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) HealthCheck(ctx context.Context, in *ResourceHealthCheckRequest, opts ...grpc.CallOption) (*ResourceHealthCheckResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResourceHealthCheckResponse) + err := c.cc.Invoke(ctx, ResourceDriver_HealthCheck_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) SensitiveKeys(ctx context.Context, in *SensitiveKeysRequest, opts ...grpc.CallOption) (*SensitiveKeysResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SensitiveKeysResponse) + err := c.cc.Invoke(ctx, ResourceDriver_SensitiveKeys_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *resourceDriverClient) Troubleshoot(ctx context.Context, in *TroubleshootRequest, opts ...grpc.CallOption) (*TroubleshootResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(TroubleshootResponse) + err := c.cc.Invoke(ctx, ResourceDriver_Troubleshoot_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ResourceDriverServer is the server API for ResourceDriver service. +// All implementations must embed UnimplementedResourceDriverServer +// for forward compatibility. +// +// ───────────────────────────────────────────────────────────────────────────── +// ResourceDriver — separate gRPC service for per-resource-type CRUD dispatch. +// The driver instance is identified by (resource_type) carried on every RPC. +// ───────────────────────────────────────────────────────────────────────────── +type ResourceDriverServer interface { + Create(context.Context, *ResourceCreateRequest) (*ResourceCreateResponse, error) + Read(context.Context, *ResourceReadRequest) (*ResourceReadResponse, error) + Update(context.Context, *ResourceUpdateRequest) (*ResourceUpdateResponse, error) + Delete(context.Context, *ResourceDeleteRequest) (*ResourceDeleteResponse, error) + Diff(context.Context, *ResourceDiffRequest) (*ResourceDiffResponse, error) + Scale(context.Context, *ResourceScaleRequest) (*ResourceScaleResponse, error) + HealthCheck(context.Context, *ResourceHealthCheckRequest) (*ResourceHealthCheckResponse, error) + SensitiveKeys(context.Context, *SensitiveKeysRequest) (*SensitiveKeysResponse, error) + Troubleshoot(context.Context, *TroubleshootRequest) (*TroubleshootResponse, error) + mustEmbedUnimplementedResourceDriverServer() +} + +// UnimplementedResourceDriverServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedResourceDriverServer struct{} + +func (UnimplementedResourceDriverServer) Create(context.Context, *ResourceCreateRequest) (*ResourceCreateResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Create not implemented") +} +func (UnimplementedResourceDriverServer) Read(context.Context, *ResourceReadRequest) (*ResourceReadResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Read not implemented") +} +func (UnimplementedResourceDriverServer) Update(context.Context, *ResourceUpdateRequest) (*ResourceUpdateResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedResourceDriverServer) Delete(context.Context, *ResourceDeleteRequest) (*ResourceDeleteResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedResourceDriverServer) Diff(context.Context, *ResourceDiffRequest) (*ResourceDiffResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Diff not implemented") +} +func (UnimplementedResourceDriverServer) Scale(context.Context, *ResourceScaleRequest) (*ResourceScaleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Scale not implemented") +} +func (UnimplementedResourceDriverServer) HealthCheck(context.Context, *ResourceHealthCheckRequest) (*ResourceHealthCheckResponse, error) { + return nil, status.Error(codes.Unimplemented, "method HealthCheck not implemented") +} +func (UnimplementedResourceDriverServer) SensitiveKeys(context.Context, *SensitiveKeysRequest) (*SensitiveKeysResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SensitiveKeys not implemented") +} +func (UnimplementedResourceDriverServer) Troubleshoot(context.Context, *TroubleshootRequest) (*TroubleshootResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Troubleshoot not implemented") +} +func (UnimplementedResourceDriverServer) mustEmbedUnimplementedResourceDriverServer() {} +func (UnimplementedResourceDriverServer) testEmbeddedByValue() {} + +// UnsafeResourceDriverServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ResourceDriverServer will +// result in compilation errors. +type UnsafeResourceDriverServer interface { + mustEmbedUnimplementedResourceDriverServer() +} + +func RegisterResourceDriverServer(s grpc.ServiceRegistrar, srv ResourceDriverServer) { + // If the following call panics, it indicates UnimplementedResourceDriverServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&ResourceDriver_ServiceDesc, srv) +} + +func _ResourceDriver_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Create_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Create(ctx, req.(*ResourceCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceReadRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Read(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Read_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Read(ctx, req.(*ResourceReadRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Update_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Update(ctx, req.(*ResourceUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Delete(ctx, req.(*ResourceDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Diff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceDiffRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Diff(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Diff_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Diff(ctx, req.(*ResourceDiffRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Scale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceScaleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Scale(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Scale_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Scale(ctx, req.(*ResourceScaleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResourceHealthCheckRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).HealthCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_HealthCheck_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).HealthCheck(ctx, req.(*ResourceHealthCheckRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_SensitiveKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SensitiveKeysRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).SensitiveKeys(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_SensitiveKeys_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).SensitiveKeys(ctx, req.(*SensitiveKeysRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResourceDriver_Troubleshoot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TroubleshootRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResourceDriverServer).Troubleshoot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ResourceDriver_Troubleshoot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResourceDriverServer).Troubleshoot(ctx, req.(*TroubleshootRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ResourceDriver_ServiceDesc is the grpc.ServiceDesc for ResourceDriver service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ResourceDriver_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "workflow.plugin.external.iac.ResourceDriver", + HandlerType: (*ResourceDriverServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Create", + Handler: _ResourceDriver_Create_Handler, + }, + { + MethodName: "Read", + Handler: _ResourceDriver_Read_Handler, + }, + { + MethodName: "Update", + Handler: _ResourceDriver_Update_Handler, + }, + { + MethodName: "Delete", + Handler: _ResourceDriver_Delete_Handler, + }, + { + MethodName: "Diff", + Handler: _ResourceDriver_Diff_Handler, + }, + { + MethodName: "Scale", + Handler: _ResourceDriver_Scale_Handler, + }, + { + MethodName: "HealthCheck", + Handler: _ResourceDriver_HealthCheck_Handler, + }, + { + MethodName: "SensitiveKeys", + Handler: _ResourceDriver_SensitiveKeys_Handler, + }, + { + MethodName: "Troubleshoot", + Handler: _ResourceDriver_Troubleshoot_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin/external/proto/iac.proto", +} diff --git a/plugin/external/proto/iac_proto_test.go b/plugin/external/proto/iac_proto_test.go new file mode 100644 index 00000000..38ad568c --- /dev/null +++ b/plugin/external/proto/iac_proto_test.go @@ -0,0 +1,64 @@ +package proto_test + +import ( + "testing" + + pb "github.com/GoCodeAlone/workflow/plugin/external/proto" +) + +// TestIaCProviderRequiredServerHasAllRequiredMethods asserts that the +// generated server interface has every method named in the design. +// Catches accidental method drops in iac.proto. +// +// The test passes at build time via the unused type-assert: if the proto +// dropped a method, the embedded UnimplementedIaCProviderRequiredServer +// would no longer satisfy IaCProviderRequiredServer and this file would +// fail to compile. +func TestIaCProviderRequiredServerHasAllRequiredMethods(t *testing.T) { + var srv pb.IaCProviderRequiredServer = (*requiredStub)(nil) + _ = srv // type-assert satisfaction is checked at compile time + + // Methods are checked at compile time via the type assertion above. + // The stub MUST satisfy: Initialize, Name, Version, Capabilities, + // Plan, Apply, Destroy, Status, Import, ResolveSizing, + // BootstrapStateBackend. +} + +type requiredStub struct { + pb.UnimplementedIaCProviderRequiredServer +} + +// TestOptionalServicesHaveDistinctInterfaces asserts each optional +// service has its own server interface (not method-on-required). +func TestOptionalServicesHaveDistinctInterfaces(t *testing.T) { + type optional interface { + pb.IaCProviderEnumeratorServer + pb.IaCProviderDriftDetectorServer + pb.IaCProviderCredentialRevokerServer + pb.IaCProviderMigrationRepairerServer + pb.IaCProviderValidatorServer + pb.IaCProviderDriftConfigDetectorServer + } + var _ optional = (*allOptionalStub)(nil) +} + +type allOptionalStub struct { + pb.UnimplementedIaCProviderEnumeratorServer + pb.UnimplementedIaCProviderDriftDetectorServer + pb.UnimplementedIaCProviderCredentialRevokerServer + pb.UnimplementedIaCProviderMigrationRepairerServer + pb.UnimplementedIaCProviderValidatorServer + pb.UnimplementedIaCProviderDriftConfigDetectorServer +} + +// TestResourceDriverServerInterfaceExists asserts the generated +// ResourceDriverServer interface exists with the 9 RPC methods from the +// design (Create, Read, Update, Delete, Diff, Scale, HealthCheck, +// SensitiveKeys, Troubleshoot). +func TestResourceDriverServerInterfaceExists(t *testing.T) { + var _ pb.ResourceDriverServer = (*resourceDriverStub)(nil) +} + +type resourceDriverStub struct { + pb.UnimplementedResourceDriverServer +} From 86416756049f49921e7b45a583177508692cce02 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Sun, 10 May 2026 03:00:58 -0400 Subject: [PATCH 2/4] test(proto): pin RPC method-set + drift-guard MigrationRepairConfirmation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three review-feedback fixes for PR 598 (Task 3 iac.proto), per team-lead's follow-up directive on the test that silently followed the proto: - Important-1: rewrite TestIaCProviderRequiredServerHasAllRequiredMethods and TestResourceDriverServerInterfaceExists to use locally-enumerated method-signature interfaces (`iacRequiredMethodsCheck`, `resourceDriverMethodsCheck`) and assert pb.X(nil) satisfies them. Drop an RPC from iac.proto + regenerate, and these blank assertions fail to compile — the previous form would silently follow the proto regen. - Minor-2: rewrite the DriftClass enum comment in iac.proto with an explicit translation table (DRIFT_CLASS_UNKNOWN ↔ "" / IN_SYNC ↔ "in-sync" / GHOST ↔ "ghost" / CONFIG ↔ "config") and a marshal-boundary warning. Regenerated iac.pb.go picks up the new doc. - Minor-4: add TestMigrationRepairConfirmationStringMatchesProtoComment to guard interfaces.MigrationRepairConfirmation == "FORCE_MIGRATION_METADATA" against drift from the proto comment. Verified locally: `GOWORK=off go test ./plugin/external/proto/... -count=1` => ok 0.301s. --- plugin/external/proto/iac.pb.go | 552 ++++++++++++------------ plugin/external/proto/iac.proto | 12 +- plugin/external/proto/iac_grpc.pb.go | 20 +- plugin/external/proto/iac_proto_test.go | 85 ++-- 4 files changed, 358 insertions(+), 311 deletions(-) diff --git a/plugin/external/proto/iac.pb.go b/plugin/external/proto/iac.pb.go index 8bff86bb..cb581c71 100644 --- a/plugin/external/proto/iac.pb.go +++ b/plugin/external/proto/iac.pb.go @@ -17,8 +17,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.1 -// source: plugin/external/proto/iac.proto +// protoc (unknown) +// source: iac.proto package proto @@ -38,9 +38,17 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// DriftClass mirrors interfaces.DriftClass. Wire-stable string-equivalent -// enum: zero value is UNKNOWN (matches Go's "" zero value), with explicit -// IN_SYNC / GHOST / CONFIG variants. +// DriftClass mirrors interfaces.DriftClass. +// +// Wire-stable enum (int32). Translation table to interfaces.DriftClass (string): +// +// DRIFT_CLASS_UNKNOWN ↔ "" (DriftClassUnknown zero value) +// DRIFT_CLASS_IN_SYNC ↔ "in-sync" +// DRIFT_CLASS_GHOST ↔ "ghost" +// DRIFT_CLASS_CONFIG ↔ "config" +// +// Plugin/host MUST translate at the marshal boundary; missed translation +// silently coerces all values to UNKNOWN. type DriftClass int32 const ( @@ -77,11 +85,11 @@ func (x DriftClass) String() string { } func (DriftClass) Descriptor() protoreflect.EnumDescriptor { - return file_plugin_external_proto_iac_proto_enumTypes[0].Descriptor() + return file_iac_proto_enumTypes[0].Descriptor() } func (DriftClass) Type() protoreflect.EnumType { - return &file_plugin_external_proto_iac_proto_enumTypes[0] + return &file_iac_proto_enumTypes[0] } func (x DriftClass) Number() protoreflect.EnumNumber { @@ -90,7 +98,7 @@ func (x DriftClass) Number() protoreflect.EnumNumber { // Deprecated: Use DriftClass.Descriptor instead. func (DriftClass) EnumDescriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{0} + return file_iac_proto_rawDescGZIP(), []int{0} } // PlanDiagnosticSeverity mirrors interfaces.PlanDiagnosticSeverity. @@ -128,11 +136,11 @@ func (x PlanDiagnosticSeverity) String() string { } func (PlanDiagnosticSeverity) Descriptor() protoreflect.EnumDescriptor { - return file_plugin_external_proto_iac_proto_enumTypes[1].Descriptor() + return file_iac_proto_enumTypes[1].Descriptor() } func (PlanDiagnosticSeverity) Type() protoreflect.EnumType { - return &file_plugin_external_proto_iac_proto_enumTypes[1] + return &file_iac_proto_enumTypes[1] } func (x PlanDiagnosticSeverity) Number() protoreflect.EnumNumber { @@ -141,7 +149,7 @@ func (x PlanDiagnosticSeverity) Number() protoreflect.EnumNumber { // Deprecated: Use PlanDiagnosticSeverity.Descriptor instead. func (PlanDiagnosticSeverity) EnumDescriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{1} + return file_iac_proto_rawDescGZIP(), []int{1} } // ResourceSpec mirrors interfaces.ResourceSpec. @@ -161,7 +169,7 @@ type ResourceSpec struct { func (x *ResourceSpec) Reset() { *x = ResourceSpec{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[0] + mi := &file_iac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -173,7 +181,7 @@ func (x *ResourceSpec) String() string { func (*ResourceSpec) ProtoMessage() {} func (x *ResourceSpec) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[0] + mi := &file_iac_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -186,7 +194,7 @@ func (x *ResourceSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceSpec.ProtoReflect.Descriptor instead. func (*ResourceSpec) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{0} + return file_iac_proto_rawDescGZIP(), []int{0} } func (x *ResourceSpec) GetName() string { @@ -243,7 +251,7 @@ type ResourceRef struct { func (x *ResourceRef) Reset() { *x = ResourceRef{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[1] + mi := &file_iac_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -255,7 +263,7 @@ func (x *ResourceRef) String() string { func (*ResourceRef) ProtoMessage() {} func (x *ResourceRef) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[1] + mi := &file_iac_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -268,7 +276,7 @@ func (x *ResourceRef) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceRef.ProtoReflect.Descriptor instead. func (*ResourceRef) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{1} + return file_iac_proto_rawDescGZIP(), []int{1} } func (x *ResourceRef) GetName() string { @@ -304,7 +312,7 @@ type ResourceHints struct { func (x *ResourceHints) Reset() { *x = ResourceHints{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[2] + mi := &file_iac_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -316,7 +324,7 @@ func (x *ResourceHints) String() string { func (*ResourceHints) ProtoMessage() {} func (x *ResourceHints) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[2] + mi := &file_iac_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -329,7 +337,7 @@ func (x *ResourceHints) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceHints.ProtoReflect.Descriptor instead. func (*ResourceHints) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{2} + return file_iac_proto_rawDescGZIP(), []int{2} } func (x *ResourceHints) GetCpu() string { @@ -364,7 +372,7 @@ type ProviderSizing struct { func (x *ProviderSizing) Reset() { *x = ProviderSizing{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[3] + mi := &file_iac_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -376,7 +384,7 @@ func (x *ProviderSizing) String() string { func (*ProviderSizing) ProtoMessage() {} func (x *ProviderSizing) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[3] + mi := &file_iac_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -389,7 +397,7 @@ func (x *ProviderSizing) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderSizing.ProtoReflect.Descriptor instead. func (*ProviderSizing) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{3} + return file_iac_proto_rawDescGZIP(), []int{3} } func (x *ProviderSizing) GetInstanceType() string { @@ -418,7 +426,7 @@ type IaCCapabilityDeclaration struct { func (x *IaCCapabilityDeclaration) Reset() { *x = IaCCapabilityDeclaration{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[4] + mi := &file_iac_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -430,7 +438,7 @@ func (x *IaCCapabilityDeclaration) String() string { func (*IaCCapabilityDeclaration) ProtoMessage() {} func (x *IaCCapabilityDeclaration) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[4] + mi := &file_iac_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -443,7 +451,7 @@ func (x *IaCCapabilityDeclaration) ProtoReflect() protoreflect.Message { // Deprecated: Use IaCCapabilityDeclaration.ProtoReflect.Descriptor instead. func (*IaCCapabilityDeclaration) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{4} + return file_iac_proto_rawDescGZIP(), []int{4} } func (x *IaCCapabilityDeclaration) GetResourceType() string { @@ -495,7 +503,7 @@ type ResourceState struct { func (x *ResourceState) Reset() { *x = ResourceState{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[5] + mi := &file_iac_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -507,7 +515,7 @@ func (x *ResourceState) String() string { func (*ResourceState) ProtoMessage() {} func (x *ResourceState) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[5] + mi := &file_iac_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -520,7 +528,7 @@ func (x *ResourceState) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceState.ProtoReflect.Descriptor instead. func (*ResourceState) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{5} + return file_iac_proto_rawDescGZIP(), []int{5} } func (x *ResourceState) GetId() string { @@ -640,7 +648,7 @@ type ResourceOutput struct { func (x *ResourceOutput) Reset() { *x = ResourceOutput{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[6] + mi := &file_iac_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -652,7 +660,7 @@ func (x *ResourceOutput) String() string { func (*ResourceOutput) ProtoMessage() {} func (x *ResourceOutput) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[6] + mi := &file_iac_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -665,7 +673,7 @@ func (x *ResourceOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceOutput.ProtoReflect.Descriptor instead. func (*ResourceOutput) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{6} + return file_iac_proto_rawDescGZIP(), []int{6} } func (x *ResourceOutput) GetName() string { @@ -724,7 +732,7 @@ type ResourceStatus struct { func (x *ResourceStatus) Reset() { *x = ResourceStatus{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[7] + mi := &file_iac_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -736,7 +744,7 @@ func (x *ResourceStatus) String() string { func (*ResourceStatus) ProtoMessage() {} func (x *ResourceStatus) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[7] + mi := &file_iac_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -749,7 +757,7 @@ func (x *ResourceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceStatus.ProtoReflect.Descriptor instead. func (*ResourceStatus) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{7} + return file_iac_proto_rawDescGZIP(), []int{7} } func (x *ResourceStatus) GetName() string { @@ -801,7 +809,7 @@ type FieldChange struct { func (x *FieldChange) Reset() { *x = FieldChange{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[8] + mi := &file_iac_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -813,7 +821,7 @@ func (x *FieldChange) String() string { func (*FieldChange) ProtoMessage() {} func (x *FieldChange) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[8] + mi := &file_iac_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -826,7 +834,7 @@ func (x *FieldChange) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldChange.ProtoReflect.Descriptor instead. func (*FieldChange) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{8} + return file_iac_proto_rawDescGZIP(), []int{8} } func (x *FieldChange) GetPath() string { @@ -869,7 +877,7 @@ type DiffResult struct { func (x *DiffResult) Reset() { *x = DiffResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[9] + mi := &file_iac_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -881,7 +889,7 @@ func (x *DiffResult) String() string { func (*DiffResult) ProtoMessage() {} func (x *DiffResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[9] + mi := &file_iac_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -894,7 +902,7 @@ func (x *DiffResult) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffResult.ProtoReflect.Descriptor instead. func (*DiffResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{9} + return file_iac_proto_rawDescGZIP(), []int{9} } func (x *DiffResult) GetNeedsUpdate() bool { @@ -934,7 +942,7 @@ type DriftResult struct { func (x *DriftResult) Reset() { *x = DriftResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[10] + mi := &file_iac_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -946,7 +954,7 @@ func (x *DriftResult) String() string { func (*DriftResult) ProtoMessage() {} func (x *DriftResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[10] + mi := &file_iac_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -959,7 +967,7 @@ func (x *DriftResult) ProtoReflect() protoreflect.Message { // Deprecated: Use DriftResult.ProtoReflect.Descriptor instead. func (*DriftResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{10} + return file_iac_proto_rawDescGZIP(), []int{10} } func (x *DriftResult) GetName() string { @@ -1023,7 +1031,7 @@ type DriftEntry struct { func (x *DriftEntry) Reset() { *x = DriftEntry{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[11] + mi := &file_iac_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1035,7 +1043,7 @@ func (x *DriftEntry) String() string { func (*DriftEntry) ProtoMessage() {} func (x *DriftEntry) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[11] + mi := &file_iac_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1048,7 +1056,7 @@ func (x *DriftEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use DriftEntry.ProtoReflect.Descriptor instead. func (*DriftEntry) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{11} + return file_iac_proto_rawDescGZIP(), []int{11} } func (x *DriftEntry) GetName() string { @@ -1083,7 +1091,7 @@ type HealthResult struct { func (x *HealthResult) Reset() { *x = HealthResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[12] + mi := &file_iac_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1095,7 +1103,7 @@ func (x *HealthResult) String() string { func (*HealthResult) ProtoMessage() {} func (x *HealthResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[12] + mi := &file_iac_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1108,7 +1116,7 @@ func (x *HealthResult) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthResult.ProtoReflect.Descriptor instead. func (*HealthResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{12} + return file_iac_proto_rawDescGZIP(), []int{12} } func (x *HealthResult) GetHealthy() bool { @@ -1139,7 +1147,7 @@ type Diagnostic struct { func (x *Diagnostic) Reset() { *x = Diagnostic{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[13] + mi := &file_iac_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1151,7 +1159,7 @@ func (x *Diagnostic) String() string { func (*Diagnostic) ProtoMessage() {} func (x *Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[13] + mi := &file_iac_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1164,7 +1172,7 @@ func (x *Diagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use Diagnostic.ProtoReflect.Descriptor instead. func (*Diagnostic) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{13} + return file_iac_proto_rawDescGZIP(), []int{13} } func (x *Diagnostic) GetId() string { @@ -1215,7 +1223,7 @@ type PlanDiagnostic struct { func (x *PlanDiagnostic) Reset() { *x = PlanDiagnostic{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[14] + mi := &file_iac_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1235,7 @@ func (x *PlanDiagnostic) String() string { func (*PlanDiagnostic) ProtoMessage() {} func (x *PlanDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[14] + mi := &file_iac_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1248,7 @@ func (x *PlanDiagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanDiagnostic.ProtoReflect.Descriptor instead. func (*PlanDiagnostic) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{14} + return file_iac_proto_rawDescGZIP(), []int{14} } func (x *PlanDiagnostic) GetSeverity() PlanDiagnosticSeverity { @@ -1285,7 +1293,7 @@ type PlanAction struct { func (x *PlanAction) Reset() { *x = PlanAction{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[15] + mi := &file_iac_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1297,7 +1305,7 @@ func (x *PlanAction) String() string { func (*PlanAction) ProtoMessage() {} func (x *PlanAction) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[15] + mi := &file_iac_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1310,7 +1318,7 @@ func (x *PlanAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanAction.ProtoReflect.Descriptor instead. func (*PlanAction) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{15} + return file_iac_proto_rawDescGZIP(), []int{15} } func (x *PlanAction) GetAction() string { @@ -1363,7 +1371,7 @@ type IaCPlan struct { func (x *IaCPlan) Reset() { *x = IaCPlan{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[16] + mi := &file_iac_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1375,7 +1383,7 @@ func (x *IaCPlan) String() string { func (*IaCPlan) ProtoMessage() {} func (x *IaCPlan) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[16] + mi := &file_iac_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1388,7 +1396,7 @@ func (x *IaCPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use IaCPlan.ProtoReflect.Descriptor instead. func (*IaCPlan) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{16} + return file_iac_proto_rawDescGZIP(), []int{16} } func (x *IaCPlan) GetId() string { @@ -1445,7 +1453,7 @@ type ActionError struct { func (x *ActionError) Reset() { *x = ActionError{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[17] + mi := &file_iac_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1457,7 +1465,7 @@ func (x *ActionError) String() string { func (*ActionError) ProtoMessage() {} func (x *ActionError) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[17] + mi := &file_iac_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1470,7 +1478,7 @@ func (x *ActionError) ProtoReflect() protoreflect.Message { // Deprecated: Use ActionError.ProtoReflect.Descriptor instead. func (*ActionError) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{17} + return file_iac_proto_rawDescGZIP(), []int{17} } func (x *ActionError) GetResource() string { @@ -1509,7 +1517,7 @@ type ApplyResult struct { func (x *ApplyResult) Reset() { *x = ApplyResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[18] + mi := &file_iac_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1521,7 +1529,7 @@ func (x *ApplyResult) String() string { func (*ApplyResult) ProtoMessage() {} func (x *ApplyResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[18] + mi := &file_iac_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1534,7 +1542,7 @@ func (x *ApplyResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyResult.ProtoReflect.Descriptor instead. func (*ApplyResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{18} + return file_iac_proto_rawDescGZIP(), []int{18} } func (x *ApplyResult) GetPlanId() string { @@ -1590,7 +1598,7 @@ type DestroyResult struct { func (x *DestroyResult) Reset() { *x = DestroyResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[19] + mi := &file_iac_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1602,7 +1610,7 @@ func (x *DestroyResult) String() string { func (*DestroyResult) ProtoMessage() {} func (x *DestroyResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[19] + mi := &file_iac_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1615,7 +1623,7 @@ func (x *DestroyResult) ProtoReflect() protoreflect.Message { // Deprecated: Use DestroyResult.ProtoReflect.Descriptor instead. func (*DestroyResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{19} + return file_iac_proto_rawDescGZIP(), []int{19} } func (x *DestroyResult) GetDestroyed() []string { @@ -1645,7 +1653,7 @@ type BootstrapResult struct { func (x *BootstrapResult) Reset() { *x = BootstrapResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[20] + mi := &file_iac_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1657,7 +1665,7 @@ func (x *BootstrapResult) String() string { func (*BootstrapResult) ProtoMessage() {} func (x *BootstrapResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[20] + mi := &file_iac_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1670,7 +1678,7 @@ func (x *BootstrapResult) ProtoReflect() protoreflect.Message { // Deprecated: Use BootstrapResult.ProtoReflect.Descriptor instead. func (*BootstrapResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{20} + return file_iac_proto_rawDescGZIP(), []int{20} } func (x *BootstrapResult) GetBucket() string { @@ -1723,7 +1731,7 @@ type MigrationRepairRequest struct { func (x *MigrationRepairRequest) Reset() { *x = MigrationRepairRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[21] + mi := &file_iac_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1735,7 +1743,7 @@ func (x *MigrationRepairRequest) String() string { func (*MigrationRepairRequest) ProtoMessage() {} func (x *MigrationRepairRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[21] + mi := &file_iac_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1748,7 +1756,7 @@ func (x *MigrationRepairRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrationRepairRequest.ProtoReflect.Descriptor instead. func (*MigrationRepairRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{21} + return file_iac_proto_rawDescGZIP(), []int{21} } func (x *MigrationRepairRequest) GetAppResourceName() string { @@ -1844,7 +1852,7 @@ type MigrationRepairResult struct { func (x *MigrationRepairResult) Reset() { *x = MigrationRepairResult{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[22] + mi := &file_iac_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1856,7 +1864,7 @@ func (x *MigrationRepairResult) String() string { func (*MigrationRepairResult) ProtoMessage() {} func (x *MigrationRepairResult) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[22] + mi := &file_iac_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1869,7 +1877,7 @@ func (x *MigrationRepairResult) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrationRepairResult.ProtoReflect.Descriptor instead. func (*MigrationRepairResult) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{22} + return file_iac_proto_rawDescGZIP(), []int{22} } func (x *MigrationRepairResult) GetProviderJobId() string { @@ -1917,7 +1925,7 @@ type InitializeRequest struct { func (x *InitializeRequest) Reset() { *x = InitializeRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[23] + mi := &file_iac_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1929,7 +1937,7 @@ func (x *InitializeRequest) String() string { func (*InitializeRequest) ProtoMessage() {} func (x *InitializeRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[23] + mi := &file_iac_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1942,7 +1950,7 @@ func (x *InitializeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. func (*InitializeRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{23} + return file_iac_proto_rawDescGZIP(), []int{23} } func (x *InitializeRequest) GetConfigJson() []byte { @@ -1960,7 +1968,7 @@ type InitializeResponse struct { func (x *InitializeResponse) Reset() { *x = InitializeResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[24] + mi := &file_iac_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1972,7 +1980,7 @@ func (x *InitializeResponse) String() string { func (*InitializeResponse) ProtoMessage() {} func (x *InitializeResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[24] + mi := &file_iac_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1985,7 +1993,7 @@ func (x *InitializeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InitializeResponse.ProtoReflect.Descriptor instead. func (*InitializeResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{24} + return file_iac_proto_rawDescGZIP(), []int{24} } type NameRequest struct { @@ -1996,7 +2004,7 @@ type NameRequest struct { func (x *NameRequest) Reset() { *x = NameRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[25] + mi := &file_iac_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2008,7 +2016,7 @@ func (x *NameRequest) String() string { func (*NameRequest) ProtoMessage() {} func (x *NameRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[25] + mi := &file_iac_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2021,7 +2029,7 @@ func (x *NameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NameRequest.ProtoReflect.Descriptor instead. func (*NameRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{25} + return file_iac_proto_rawDescGZIP(), []int{25} } type NameResponse struct { @@ -2033,7 +2041,7 @@ type NameResponse struct { func (x *NameResponse) Reset() { *x = NameResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[26] + mi := &file_iac_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2045,7 +2053,7 @@ func (x *NameResponse) String() string { func (*NameResponse) ProtoMessage() {} func (x *NameResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[26] + mi := &file_iac_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2058,7 +2066,7 @@ func (x *NameResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NameResponse.ProtoReflect.Descriptor instead. func (*NameResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{26} + return file_iac_proto_rawDescGZIP(), []int{26} } func (x *NameResponse) GetName() string { @@ -2076,7 +2084,7 @@ type VersionRequest struct { func (x *VersionRequest) Reset() { *x = VersionRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[27] + mi := &file_iac_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2088,7 +2096,7 @@ func (x *VersionRequest) String() string { func (*VersionRequest) ProtoMessage() {} func (x *VersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[27] + mi := &file_iac_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2101,7 +2109,7 @@ func (x *VersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. func (*VersionRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{27} + return file_iac_proto_rawDescGZIP(), []int{27} } type VersionResponse struct { @@ -2113,7 +2121,7 @@ type VersionResponse struct { func (x *VersionResponse) Reset() { *x = VersionResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[28] + mi := &file_iac_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2125,7 +2133,7 @@ func (x *VersionResponse) String() string { func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[28] + mi := &file_iac_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2138,7 +2146,7 @@ func (x *VersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{28} + return file_iac_proto_rawDescGZIP(), []int{28} } func (x *VersionResponse) GetVersion() string { @@ -2156,7 +2164,7 @@ type CapabilitiesRequest struct { func (x *CapabilitiesRequest) Reset() { *x = CapabilitiesRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[29] + mi := &file_iac_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2168,7 +2176,7 @@ func (x *CapabilitiesRequest) String() string { func (*CapabilitiesRequest) ProtoMessage() {} func (x *CapabilitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[29] + mi := &file_iac_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2181,7 +2189,7 @@ func (x *CapabilitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CapabilitiesRequest.ProtoReflect.Descriptor instead. func (*CapabilitiesRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{29} + return file_iac_proto_rawDescGZIP(), []int{29} } type CapabilitiesResponse struct { @@ -2193,7 +2201,7 @@ type CapabilitiesResponse struct { func (x *CapabilitiesResponse) Reset() { *x = CapabilitiesResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[30] + mi := &file_iac_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2205,7 +2213,7 @@ func (x *CapabilitiesResponse) String() string { func (*CapabilitiesResponse) ProtoMessage() {} func (x *CapabilitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[30] + mi := &file_iac_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2218,7 +2226,7 @@ func (x *CapabilitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CapabilitiesResponse.ProtoReflect.Descriptor instead. func (*CapabilitiesResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{30} + return file_iac_proto_rawDescGZIP(), []int{30} } func (x *CapabilitiesResponse) GetCapabilities() []*IaCCapabilityDeclaration { @@ -2238,7 +2246,7 @@ type PlanRequest struct { func (x *PlanRequest) Reset() { *x = PlanRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[31] + mi := &file_iac_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2250,7 +2258,7 @@ func (x *PlanRequest) String() string { func (*PlanRequest) ProtoMessage() {} func (x *PlanRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[31] + mi := &file_iac_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2263,7 +2271,7 @@ func (x *PlanRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanRequest.ProtoReflect.Descriptor instead. func (*PlanRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{31} + return file_iac_proto_rawDescGZIP(), []int{31} } func (x *PlanRequest) GetDesired() []*ResourceSpec { @@ -2289,7 +2297,7 @@ type PlanResponse struct { func (x *PlanResponse) Reset() { *x = PlanResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[32] + mi := &file_iac_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2301,7 +2309,7 @@ func (x *PlanResponse) String() string { func (*PlanResponse) ProtoMessage() {} func (x *PlanResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[32] + mi := &file_iac_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2314,7 +2322,7 @@ func (x *PlanResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanResponse.ProtoReflect.Descriptor instead. func (*PlanResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{32} + return file_iac_proto_rawDescGZIP(), []int{32} } func (x *PlanResponse) GetPlan() *IaCPlan { @@ -2333,7 +2341,7 @@ type ApplyRequest struct { func (x *ApplyRequest) Reset() { *x = ApplyRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[33] + mi := &file_iac_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2345,7 +2353,7 @@ func (x *ApplyRequest) String() string { func (*ApplyRequest) ProtoMessage() {} func (x *ApplyRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[33] + mi := &file_iac_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2358,7 +2366,7 @@ func (x *ApplyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyRequest.ProtoReflect.Descriptor instead. func (*ApplyRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{33} + return file_iac_proto_rawDescGZIP(), []int{33} } func (x *ApplyRequest) GetPlan() *IaCPlan { @@ -2377,7 +2385,7 @@ type ApplyResponse struct { func (x *ApplyResponse) Reset() { *x = ApplyResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[34] + mi := &file_iac_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2389,7 +2397,7 @@ func (x *ApplyResponse) String() string { func (*ApplyResponse) ProtoMessage() {} func (x *ApplyResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[34] + mi := &file_iac_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2402,7 +2410,7 @@ func (x *ApplyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyResponse.ProtoReflect.Descriptor instead. func (*ApplyResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{34} + return file_iac_proto_rawDescGZIP(), []int{34} } func (x *ApplyResponse) GetResult() *ApplyResult { @@ -2421,7 +2429,7 @@ type DestroyRequest struct { func (x *DestroyRequest) Reset() { *x = DestroyRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[35] + mi := &file_iac_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2441,7 @@ func (x *DestroyRequest) String() string { func (*DestroyRequest) ProtoMessage() {} func (x *DestroyRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[35] + mi := &file_iac_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2454,7 @@ func (x *DestroyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DestroyRequest.ProtoReflect.Descriptor instead. func (*DestroyRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{35} + return file_iac_proto_rawDescGZIP(), []int{35} } func (x *DestroyRequest) GetRefs() []*ResourceRef { @@ -2465,7 +2473,7 @@ type DestroyResponse struct { func (x *DestroyResponse) Reset() { *x = DestroyResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[36] + mi := &file_iac_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2477,7 +2485,7 @@ func (x *DestroyResponse) String() string { func (*DestroyResponse) ProtoMessage() {} func (x *DestroyResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[36] + mi := &file_iac_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2490,7 +2498,7 @@ func (x *DestroyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DestroyResponse.ProtoReflect.Descriptor instead. func (*DestroyResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{36} + return file_iac_proto_rawDescGZIP(), []int{36} } func (x *DestroyResponse) GetResult() *DestroyResult { @@ -2509,7 +2517,7 @@ type StatusRequest struct { func (x *StatusRequest) Reset() { *x = StatusRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[37] + mi := &file_iac_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2521,7 +2529,7 @@ func (x *StatusRequest) String() string { func (*StatusRequest) ProtoMessage() {} func (x *StatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[37] + mi := &file_iac_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2534,7 +2542,7 @@ func (x *StatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead. func (*StatusRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{37} + return file_iac_proto_rawDescGZIP(), []int{37} } func (x *StatusRequest) GetRefs() []*ResourceRef { @@ -2553,7 +2561,7 @@ type StatusResponse struct { func (x *StatusResponse) Reset() { *x = StatusResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[38] + mi := &file_iac_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2565,7 +2573,7 @@ func (x *StatusResponse) String() string { func (*StatusResponse) ProtoMessage() {} func (x *StatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[38] + mi := &file_iac_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2578,7 +2586,7 @@ func (x *StatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. func (*StatusResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{38} + return file_iac_proto_rawDescGZIP(), []int{38} } func (x *StatusResponse) GetStatuses() []*ResourceStatus { @@ -2598,7 +2606,7 @@ type ImportRequest struct { func (x *ImportRequest) Reset() { *x = ImportRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[39] + mi := &file_iac_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2610,7 +2618,7 @@ func (x *ImportRequest) String() string { func (*ImportRequest) ProtoMessage() {} func (x *ImportRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[39] + mi := &file_iac_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2623,7 +2631,7 @@ func (x *ImportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportRequest.ProtoReflect.Descriptor instead. func (*ImportRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{39} + return file_iac_proto_rawDescGZIP(), []int{39} } func (x *ImportRequest) GetProviderId() string { @@ -2649,7 +2657,7 @@ type ImportResponse struct { func (x *ImportResponse) Reset() { *x = ImportResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[40] + mi := &file_iac_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2661,7 +2669,7 @@ func (x *ImportResponse) String() string { func (*ImportResponse) ProtoMessage() {} func (x *ImportResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[40] + mi := &file_iac_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2674,7 +2682,7 @@ func (x *ImportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportResponse.ProtoReflect.Descriptor instead. func (*ImportResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{40} + return file_iac_proto_rawDescGZIP(), []int{40} } func (x *ImportResponse) GetState() *ResourceState { @@ -2695,7 +2703,7 @@ type ResolveSizingRequest struct { func (x *ResolveSizingRequest) Reset() { *x = ResolveSizingRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[41] + mi := &file_iac_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2707,7 +2715,7 @@ func (x *ResolveSizingRequest) String() string { func (*ResolveSizingRequest) ProtoMessage() {} func (x *ResolveSizingRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[41] + mi := &file_iac_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2720,7 +2728,7 @@ func (x *ResolveSizingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveSizingRequest.ProtoReflect.Descriptor instead. func (*ResolveSizingRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{41} + return file_iac_proto_rawDescGZIP(), []int{41} } func (x *ResolveSizingRequest) GetResourceType() string { @@ -2753,7 +2761,7 @@ type ResolveSizingResponse struct { func (x *ResolveSizingResponse) Reset() { *x = ResolveSizingResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[42] + mi := &file_iac_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2765,7 +2773,7 @@ func (x *ResolveSizingResponse) String() string { func (*ResolveSizingResponse) ProtoMessage() {} func (x *ResolveSizingResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[42] + mi := &file_iac_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2778,7 +2786,7 @@ func (x *ResolveSizingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveSizingResponse.ProtoReflect.Descriptor instead. func (*ResolveSizingResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{42} + return file_iac_proto_rawDescGZIP(), []int{42} } func (x *ResolveSizingResponse) GetSizing() *ProviderSizing { @@ -2798,7 +2806,7 @@ type BootstrapStateBackendRequest struct { func (x *BootstrapStateBackendRequest) Reset() { *x = BootstrapStateBackendRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[43] + mi := &file_iac_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2810,7 +2818,7 @@ func (x *BootstrapStateBackendRequest) String() string { func (*BootstrapStateBackendRequest) ProtoMessage() {} func (x *BootstrapStateBackendRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[43] + mi := &file_iac_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2823,7 +2831,7 @@ func (x *BootstrapStateBackendRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BootstrapStateBackendRequest.ProtoReflect.Descriptor instead. func (*BootstrapStateBackendRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{43} + return file_iac_proto_rawDescGZIP(), []int{43} } func (x *BootstrapStateBackendRequest) GetConfigJson() []byte { @@ -2842,7 +2850,7 @@ type BootstrapStateBackendResponse struct { func (x *BootstrapStateBackendResponse) Reset() { *x = BootstrapStateBackendResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[44] + mi := &file_iac_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2854,7 +2862,7 @@ func (x *BootstrapStateBackendResponse) String() string { func (*BootstrapStateBackendResponse) ProtoMessage() {} func (x *BootstrapStateBackendResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[44] + mi := &file_iac_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2867,7 +2875,7 @@ func (x *BootstrapStateBackendResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BootstrapStateBackendResponse.ProtoReflect.Descriptor instead. func (*BootstrapStateBackendResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{44} + return file_iac_proto_rawDescGZIP(), []int{44} } func (x *BootstrapStateBackendResponse) GetResult() *BootstrapResult { @@ -2889,7 +2897,7 @@ type EnumerateAllRequest struct { func (x *EnumerateAllRequest) Reset() { *x = EnumerateAllRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[45] + mi := &file_iac_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2901,7 +2909,7 @@ func (x *EnumerateAllRequest) String() string { func (*EnumerateAllRequest) ProtoMessage() {} func (x *EnumerateAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[45] + mi := &file_iac_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2914,7 +2922,7 @@ func (x *EnumerateAllRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnumerateAllRequest.ProtoReflect.Descriptor instead. func (*EnumerateAllRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{45} + return file_iac_proto_rawDescGZIP(), []int{45} } func (x *EnumerateAllRequest) GetResourceType() string { @@ -2933,7 +2941,7 @@ type EnumerateAllResponse struct { func (x *EnumerateAllResponse) Reset() { *x = EnumerateAllResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[46] + mi := &file_iac_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2945,7 +2953,7 @@ func (x *EnumerateAllResponse) String() string { func (*EnumerateAllResponse) ProtoMessage() {} func (x *EnumerateAllResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[46] + mi := &file_iac_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2958,7 +2966,7 @@ func (x *EnumerateAllResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnumerateAllResponse.ProtoReflect.Descriptor instead. func (*EnumerateAllResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{46} + return file_iac_proto_rawDescGZIP(), []int{46} } func (x *EnumerateAllResponse) GetOutputs() []*ResourceOutput { @@ -2977,7 +2985,7 @@ type EnumerateByTagRequest struct { func (x *EnumerateByTagRequest) Reset() { *x = EnumerateByTagRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[47] + mi := &file_iac_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2989,7 +2997,7 @@ func (x *EnumerateByTagRequest) String() string { func (*EnumerateByTagRequest) ProtoMessage() {} func (x *EnumerateByTagRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[47] + mi := &file_iac_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3002,7 +3010,7 @@ func (x *EnumerateByTagRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnumerateByTagRequest.ProtoReflect.Descriptor instead. func (*EnumerateByTagRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{47} + return file_iac_proto_rawDescGZIP(), []int{47} } func (x *EnumerateByTagRequest) GetTag() string { @@ -3021,7 +3029,7 @@ type EnumerateByTagResponse struct { func (x *EnumerateByTagResponse) Reset() { *x = EnumerateByTagResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[48] + mi := &file_iac_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3033,7 +3041,7 @@ func (x *EnumerateByTagResponse) String() string { func (*EnumerateByTagResponse) ProtoMessage() {} func (x *EnumerateByTagResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[48] + mi := &file_iac_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3046,7 +3054,7 @@ func (x *EnumerateByTagResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnumerateByTagResponse.ProtoReflect.Descriptor instead. func (*EnumerateByTagResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{48} + return file_iac_proto_rawDescGZIP(), []int{48} } func (x *EnumerateByTagResponse) GetRefs() []*ResourceRef { @@ -3068,7 +3076,7 @@ type DetectDriftRequest struct { func (x *DetectDriftRequest) Reset() { *x = DetectDriftRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[49] + mi := &file_iac_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3080,7 +3088,7 @@ func (x *DetectDriftRequest) String() string { func (*DetectDriftRequest) ProtoMessage() {} func (x *DetectDriftRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[49] + mi := &file_iac_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3093,7 +3101,7 @@ func (x *DetectDriftRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftRequest.ProtoReflect.Descriptor instead. func (*DetectDriftRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{49} + return file_iac_proto_rawDescGZIP(), []int{49} } func (x *DetectDriftRequest) GetRefs() []*ResourceRef { @@ -3112,7 +3120,7 @@ type DetectDriftResponse struct { func (x *DetectDriftResponse) Reset() { *x = DetectDriftResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[50] + mi := &file_iac_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3124,7 +3132,7 @@ func (x *DetectDriftResponse) String() string { func (*DetectDriftResponse) ProtoMessage() {} func (x *DetectDriftResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[50] + mi := &file_iac_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3137,7 +3145,7 @@ func (x *DetectDriftResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftResponse.ProtoReflect.Descriptor instead. func (*DetectDriftResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{50} + return file_iac_proto_rawDescGZIP(), []int{50} } func (x *DetectDriftResponse) GetDrifts() []*DriftResult { @@ -3159,7 +3167,7 @@ type DetectDriftWithSpecsRequest struct { func (x *DetectDriftWithSpecsRequest) Reset() { *x = DetectDriftWithSpecsRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[51] + mi := &file_iac_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3171,7 +3179,7 @@ func (x *DetectDriftWithSpecsRequest) String() string { func (*DetectDriftWithSpecsRequest) ProtoMessage() {} func (x *DetectDriftWithSpecsRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[51] + mi := &file_iac_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3184,7 +3192,7 @@ func (x *DetectDriftWithSpecsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftWithSpecsRequest.ProtoReflect.Descriptor instead. func (*DetectDriftWithSpecsRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{51} + return file_iac_proto_rawDescGZIP(), []int{51} } func (x *DetectDriftWithSpecsRequest) GetRefs() []*ResourceRef { @@ -3210,7 +3218,7 @@ type DetectDriftWithSpecsResponse struct { func (x *DetectDriftWithSpecsResponse) Reset() { *x = DetectDriftWithSpecsResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[52] + mi := &file_iac_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3230,7 @@ func (x *DetectDriftWithSpecsResponse) String() string { func (*DetectDriftWithSpecsResponse) ProtoMessage() {} func (x *DetectDriftWithSpecsResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[52] + mi := &file_iac_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3243,7 @@ func (x *DetectDriftWithSpecsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftWithSpecsResponse.ProtoReflect.Descriptor instead. func (*DetectDriftWithSpecsResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{52} + return file_iac_proto_rawDescGZIP(), []int{52} } func (x *DetectDriftWithSpecsResponse) GetDrifts() []*DriftResult { @@ -3260,7 +3268,7 @@ type RevokeProviderCredentialRequest struct { func (x *RevokeProviderCredentialRequest) Reset() { *x = RevokeProviderCredentialRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[53] + mi := &file_iac_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3272,7 +3280,7 @@ func (x *RevokeProviderCredentialRequest) String() string { func (*RevokeProviderCredentialRequest) ProtoMessage() {} func (x *RevokeProviderCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[53] + mi := &file_iac_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3285,7 +3293,7 @@ func (x *RevokeProviderCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeProviderCredentialRequest.ProtoReflect.Descriptor instead. func (*RevokeProviderCredentialRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{53} + return file_iac_proto_rawDescGZIP(), []int{53} } func (x *RevokeProviderCredentialRequest) GetSource() string { @@ -3310,7 +3318,7 @@ type RevokeProviderCredentialResponse struct { func (x *RevokeProviderCredentialResponse) Reset() { *x = RevokeProviderCredentialResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[54] + mi := &file_iac_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3322,7 +3330,7 @@ func (x *RevokeProviderCredentialResponse) String() string { func (*RevokeProviderCredentialResponse) ProtoMessage() {} func (x *RevokeProviderCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[54] + mi := &file_iac_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3335,7 +3343,7 @@ func (x *RevokeProviderCredentialResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeProviderCredentialResponse.ProtoReflect.Descriptor instead. func (*RevokeProviderCredentialResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{54} + return file_iac_proto_rawDescGZIP(), []int{54} } // ───────────────────────────────────────────────────────────────────────────── @@ -3350,7 +3358,7 @@ type RepairDirtyMigrationRequest struct { func (x *RepairDirtyMigrationRequest) Reset() { *x = RepairDirtyMigrationRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[55] + mi := &file_iac_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3362,7 +3370,7 @@ func (x *RepairDirtyMigrationRequest) String() string { func (*RepairDirtyMigrationRequest) ProtoMessage() {} func (x *RepairDirtyMigrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[55] + mi := &file_iac_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3375,7 +3383,7 @@ func (x *RepairDirtyMigrationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RepairDirtyMigrationRequest.ProtoReflect.Descriptor instead. func (*RepairDirtyMigrationRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{55} + return file_iac_proto_rawDescGZIP(), []int{55} } func (x *RepairDirtyMigrationRequest) GetRequest() *MigrationRepairRequest { @@ -3394,7 +3402,7 @@ type RepairDirtyMigrationResponse struct { func (x *RepairDirtyMigrationResponse) Reset() { *x = RepairDirtyMigrationResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[56] + mi := &file_iac_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3406,7 +3414,7 @@ func (x *RepairDirtyMigrationResponse) String() string { func (*RepairDirtyMigrationResponse) ProtoMessage() {} func (x *RepairDirtyMigrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[56] + mi := &file_iac_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3419,7 +3427,7 @@ func (x *RepairDirtyMigrationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RepairDirtyMigrationResponse.ProtoReflect.Descriptor instead. func (*RepairDirtyMigrationResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{56} + return file_iac_proto_rawDescGZIP(), []int{56} } func (x *RepairDirtyMigrationResponse) GetResult() *MigrationRepairResult { @@ -3441,7 +3449,7 @@ type ValidatePlanRequest struct { func (x *ValidatePlanRequest) Reset() { *x = ValidatePlanRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[57] + mi := &file_iac_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3453,7 +3461,7 @@ func (x *ValidatePlanRequest) String() string { func (*ValidatePlanRequest) ProtoMessage() {} func (x *ValidatePlanRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[57] + mi := &file_iac_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3466,7 +3474,7 @@ func (x *ValidatePlanRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatePlanRequest.ProtoReflect.Descriptor instead. func (*ValidatePlanRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{57} + return file_iac_proto_rawDescGZIP(), []int{57} } func (x *ValidatePlanRequest) GetPlan() *IaCPlan { @@ -3485,7 +3493,7 @@ type ValidatePlanResponse struct { func (x *ValidatePlanResponse) Reset() { *x = ValidatePlanResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[58] + mi := &file_iac_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3497,7 +3505,7 @@ func (x *ValidatePlanResponse) String() string { func (*ValidatePlanResponse) ProtoMessage() {} func (x *ValidatePlanResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[58] + mi := &file_iac_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3510,7 +3518,7 @@ func (x *ValidatePlanResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatePlanResponse.ProtoReflect.Descriptor instead. func (*ValidatePlanResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{58} + return file_iac_proto_rawDescGZIP(), []int{58} } func (x *ValidatePlanResponse) GetDiagnostics() []*PlanDiagnostic { @@ -3536,7 +3544,7 @@ type DetectDriftConfigRequest struct { func (x *DetectDriftConfigRequest) Reset() { *x = DetectDriftConfigRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[59] + mi := &file_iac_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3548,7 +3556,7 @@ func (x *DetectDriftConfigRequest) String() string { func (*DetectDriftConfigRequest) ProtoMessage() {} func (x *DetectDriftConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[59] + mi := &file_iac_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3561,7 +3569,7 @@ func (x *DetectDriftConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftConfigRequest.ProtoReflect.Descriptor instead. func (*DetectDriftConfigRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{59} + return file_iac_proto_rawDescGZIP(), []int{59} } func (x *DetectDriftConfigRequest) GetRefs() []*ResourceRef { @@ -3587,7 +3595,7 @@ type DetectDriftConfigResponse struct { func (x *DetectDriftConfigResponse) Reset() { *x = DetectDriftConfigResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[60] + mi := &file_iac_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3599,7 +3607,7 @@ func (x *DetectDriftConfigResponse) String() string { func (*DetectDriftConfigResponse) ProtoMessage() {} func (x *DetectDriftConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[60] + mi := &file_iac_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3612,7 +3620,7 @@ func (x *DetectDriftConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetectDriftConfigResponse.ProtoReflect.Descriptor instead. func (*DetectDriftConfigResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{60} + return file_iac_proto_rawDescGZIP(), []int{60} } func (x *DetectDriftConfigResponse) GetDrifts() []*DriftResult { @@ -3638,7 +3646,7 @@ type ResourceCreateRequest struct { func (x *ResourceCreateRequest) Reset() { *x = ResourceCreateRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[61] + mi := &file_iac_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3650,7 +3658,7 @@ func (x *ResourceCreateRequest) String() string { func (*ResourceCreateRequest) ProtoMessage() {} func (x *ResourceCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[61] + mi := &file_iac_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3663,7 +3671,7 @@ func (x *ResourceCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceCreateRequest.ProtoReflect.Descriptor instead. func (*ResourceCreateRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{61} + return file_iac_proto_rawDescGZIP(), []int{61} } func (x *ResourceCreateRequest) GetResourceType() string { @@ -3689,7 +3697,7 @@ type ResourceCreateResponse struct { func (x *ResourceCreateResponse) Reset() { *x = ResourceCreateResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[62] + mi := &file_iac_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3701,7 +3709,7 @@ func (x *ResourceCreateResponse) String() string { func (*ResourceCreateResponse) ProtoMessage() {} func (x *ResourceCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[62] + mi := &file_iac_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3714,7 +3722,7 @@ func (x *ResourceCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceCreateResponse.ProtoReflect.Descriptor instead. func (*ResourceCreateResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{62} + return file_iac_proto_rawDescGZIP(), []int{62} } func (x *ResourceCreateResponse) GetOutput() *ResourceOutput { @@ -3734,7 +3742,7 @@ type ResourceReadRequest struct { func (x *ResourceReadRequest) Reset() { *x = ResourceReadRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[63] + mi := &file_iac_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3746,7 +3754,7 @@ func (x *ResourceReadRequest) String() string { func (*ResourceReadRequest) ProtoMessage() {} func (x *ResourceReadRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[63] + mi := &file_iac_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3759,7 +3767,7 @@ func (x *ResourceReadRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceReadRequest.ProtoReflect.Descriptor instead. func (*ResourceReadRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{63} + return file_iac_proto_rawDescGZIP(), []int{63} } func (x *ResourceReadRequest) GetResourceType() string { @@ -3785,7 +3793,7 @@ type ResourceReadResponse struct { func (x *ResourceReadResponse) Reset() { *x = ResourceReadResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[64] + mi := &file_iac_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3797,7 +3805,7 @@ func (x *ResourceReadResponse) String() string { func (*ResourceReadResponse) ProtoMessage() {} func (x *ResourceReadResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[64] + mi := &file_iac_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3810,7 +3818,7 @@ func (x *ResourceReadResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceReadResponse.ProtoReflect.Descriptor instead. func (*ResourceReadResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{64} + return file_iac_proto_rawDescGZIP(), []int{64} } func (x *ResourceReadResponse) GetOutput() *ResourceOutput { @@ -3831,7 +3839,7 @@ type ResourceUpdateRequest struct { func (x *ResourceUpdateRequest) Reset() { *x = ResourceUpdateRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[65] + mi := &file_iac_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3843,7 +3851,7 @@ func (x *ResourceUpdateRequest) String() string { func (*ResourceUpdateRequest) ProtoMessage() {} func (x *ResourceUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[65] + mi := &file_iac_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3856,7 +3864,7 @@ func (x *ResourceUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceUpdateRequest.ProtoReflect.Descriptor instead. func (*ResourceUpdateRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{65} + return file_iac_proto_rawDescGZIP(), []int{65} } func (x *ResourceUpdateRequest) GetResourceType() string { @@ -3889,7 +3897,7 @@ type ResourceUpdateResponse struct { func (x *ResourceUpdateResponse) Reset() { *x = ResourceUpdateResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[66] + mi := &file_iac_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3901,7 +3909,7 @@ func (x *ResourceUpdateResponse) String() string { func (*ResourceUpdateResponse) ProtoMessage() {} func (x *ResourceUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[66] + mi := &file_iac_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3914,7 +3922,7 @@ func (x *ResourceUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceUpdateResponse.ProtoReflect.Descriptor instead. func (*ResourceUpdateResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{66} + return file_iac_proto_rawDescGZIP(), []int{66} } func (x *ResourceUpdateResponse) GetOutput() *ResourceOutput { @@ -3934,7 +3942,7 @@ type ResourceDeleteRequest struct { func (x *ResourceDeleteRequest) Reset() { *x = ResourceDeleteRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[67] + mi := &file_iac_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3946,7 +3954,7 @@ func (x *ResourceDeleteRequest) String() string { func (*ResourceDeleteRequest) ProtoMessage() {} func (x *ResourceDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[67] + mi := &file_iac_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3959,7 +3967,7 @@ func (x *ResourceDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceDeleteRequest.ProtoReflect.Descriptor instead. func (*ResourceDeleteRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{67} + return file_iac_proto_rawDescGZIP(), []int{67} } func (x *ResourceDeleteRequest) GetResourceType() string { @@ -3984,7 +3992,7 @@ type ResourceDeleteResponse struct { func (x *ResourceDeleteResponse) Reset() { *x = ResourceDeleteResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[68] + mi := &file_iac_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3996,7 +4004,7 @@ func (x *ResourceDeleteResponse) String() string { func (*ResourceDeleteResponse) ProtoMessage() {} func (x *ResourceDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[68] + mi := &file_iac_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4009,7 +4017,7 @@ func (x *ResourceDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceDeleteResponse.ProtoReflect.Descriptor instead. func (*ResourceDeleteResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{68} + return file_iac_proto_rawDescGZIP(), []int{68} } type ResourceDiffRequest struct { @@ -4023,7 +4031,7 @@ type ResourceDiffRequest struct { func (x *ResourceDiffRequest) Reset() { *x = ResourceDiffRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[69] + mi := &file_iac_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4035,7 +4043,7 @@ func (x *ResourceDiffRequest) String() string { func (*ResourceDiffRequest) ProtoMessage() {} func (x *ResourceDiffRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[69] + mi := &file_iac_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4048,7 +4056,7 @@ func (x *ResourceDiffRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceDiffRequest.ProtoReflect.Descriptor instead. func (*ResourceDiffRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{69} + return file_iac_proto_rawDescGZIP(), []int{69} } func (x *ResourceDiffRequest) GetResourceType() string { @@ -4081,7 +4089,7 @@ type ResourceDiffResponse struct { func (x *ResourceDiffResponse) Reset() { *x = ResourceDiffResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[70] + mi := &file_iac_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4093,7 +4101,7 @@ func (x *ResourceDiffResponse) String() string { func (*ResourceDiffResponse) ProtoMessage() {} func (x *ResourceDiffResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[70] + mi := &file_iac_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4106,7 +4114,7 @@ func (x *ResourceDiffResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceDiffResponse.ProtoReflect.Descriptor instead. func (*ResourceDiffResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{70} + return file_iac_proto_rawDescGZIP(), []int{70} } func (x *ResourceDiffResponse) GetResult() *DiffResult { @@ -4127,7 +4135,7 @@ type ResourceScaleRequest struct { func (x *ResourceScaleRequest) Reset() { *x = ResourceScaleRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[71] + mi := &file_iac_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4139,7 +4147,7 @@ func (x *ResourceScaleRequest) String() string { func (*ResourceScaleRequest) ProtoMessage() {} func (x *ResourceScaleRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[71] + mi := &file_iac_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4152,7 +4160,7 @@ func (x *ResourceScaleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceScaleRequest.ProtoReflect.Descriptor instead. func (*ResourceScaleRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{71} + return file_iac_proto_rawDescGZIP(), []int{71} } func (x *ResourceScaleRequest) GetResourceType() string { @@ -4185,7 +4193,7 @@ type ResourceScaleResponse struct { func (x *ResourceScaleResponse) Reset() { *x = ResourceScaleResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[72] + mi := &file_iac_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4197,7 +4205,7 @@ func (x *ResourceScaleResponse) String() string { func (*ResourceScaleResponse) ProtoMessage() {} func (x *ResourceScaleResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[72] + mi := &file_iac_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4210,7 +4218,7 @@ func (x *ResourceScaleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceScaleResponse.ProtoReflect.Descriptor instead. func (*ResourceScaleResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{72} + return file_iac_proto_rawDescGZIP(), []int{72} } func (x *ResourceScaleResponse) GetOutput() *ResourceOutput { @@ -4230,7 +4238,7 @@ type ResourceHealthCheckRequest struct { func (x *ResourceHealthCheckRequest) Reset() { *x = ResourceHealthCheckRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[73] + mi := &file_iac_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4242,7 +4250,7 @@ func (x *ResourceHealthCheckRequest) String() string { func (*ResourceHealthCheckRequest) ProtoMessage() {} func (x *ResourceHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[73] + mi := &file_iac_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4255,7 +4263,7 @@ func (x *ResourceHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceHealthCheckRequest.ProtoReflect.Descriptor instead. func (*ResourceHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{73} + return file_iac_proto_rawDescGZIP(), []int{73} } func (x *ResourceHealthCheckRequest) GetResourceType() string { @@ -4281,7 +4289,7 @@ type ResourceHealthCheckResponse struct { func (x *ResourceHealthCheckResponse) Reset() { *x = ResourceHealthCheckResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[74] + mi := &file_iac_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4293,7 +4301,7 @@ func (x *ResourceHealthCheckResponse) String() string { func (*ResourceHealthCheckResponse) ProtoMessage() {} func (x *ResourceHealthCheckResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[74] + mi := &file_iac_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4306,7 +4314,7 @@ func (x *ResourceHealthCheckResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceHealthCheckResponse.ProtoReflect.Descriptor instead. func (*ResourceHealthCheckResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{74} + return file_iac_proto_rawDescGZIP(), []int{74} } func (x *ResourceHealthCheckResponse) GetResult() *HealthResult { @@ -4325,7 +4333,7 @@ type SensitiveKeysRequest struct { func (x *SensitiveKeysRequest) Reset() { *x = SensitiveKeysRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[75] + mi := &file_iac_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4337,7 +4345,7 @@ func (x *SensitiveKeysRequest) String() string { func (*SensitiveKeysRequest) ProtoMessage() {} func (x *SensitiveKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[75] + mi := &file_iac_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4350,7 +4358,7 @@ func (x *SensitiveKeysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SensitiveKeysRequest.ProtoReflect.Descriptor instead. func (*SensitiveKeysRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{75} + return file_iac_proto_rawDescGZIP(), []int{75} } func (x *SensitiveKeysRequest) GetResourceType() string { @@ -4369,7 +4377,7 @@ type SensitiveKeysResponse struct { func (x *SensitiveKeysResponse) Reset() { *x = SensitiveKeysResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[76] + mi := &file_iac_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4381,7 +4389,7 @@ func (x *SensitiveKeysResponse) String() string { func (*SensitiveKeysResponse) ProtoMessage() {} func (x *SensitiveKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[76] + mi := &file_iac_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4394,7 +4402,7 @@ func (x *SensitiveKeysResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SensitiveKeysResponse.ProtoReflect.Descriptor instead. func (*SensitiveKeysResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{76} + return file_iac_proto_rawDescGZIP(), []int{76} } func (x *SensitiveKeysResponse) GetKeys() []string { @@ -4415,7 +4423,7 @@ type TroubleshootRequest struct { func (x *TroubleshootRequest) Reset() { *x = TroubleshootRequest{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[77] + mi := &file_iac_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4427,7 +4435,7 @@ func (x *TroubleshootRequest) String() string { func (*TroubleshootRequest) ProtoMessage() {} func (x *TroubleshootRequest) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[77] + mi := &file_iac_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4440,7 +4448,7 @@ func (x *TroubleshootRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TroubleshootRequest.ProtoReflect.Descriptor instead. func (*TroubleshootRequest) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{77} + return file_iac_proto_rawDescGZIP(), []int{77} } func (x *TroubleshootRequest) GetResourceType() string { @@ -4473,7 +4481,7 @@ type TroubleshootResponse struct { func (x *TroubleshootResponse) Reset() { *x = TroubleshootResponse{} - mi := &file_plugin_external_proto_iac_proto_msgTypes[78] + mi := &file_iac_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4485,7 +4493,7 @@ func (x *TroubleshootResponse) String() string { func (*TroubleshootResponse) ProtoMessage() {} func (x *TroubleshootResponse) ProtoReflect() protoreflect.Message { - mi := &file_plugin_external_proto_iac_proto_msgTypes[78] + mi := &file_iac_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4498,7 +4506,7 @@ func (x *TroubleshootResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TroubleshootResponse.ProtoReflect.Descriptor instead. func (*TroubleshootResponse) Descriptor() ([]byte, []int) { - return file_plugin_external_proto_iac_proto_rawDescGZIP(), []int{78} + return file_iac_proto_rawDescGZIP(), []int{78} } func (x *TroubleshootResponse) GetDiagnostics() []*Diagnostic { @@ -4508,11 +4516,11 @@ func (x *TroubleshootResponse) GetDiagnostics() []*Diagnostic { return nil } -var File_plugin_external_proto_iac_proto protoreflect.FileDescriptor +var File_iac_proto protoreflect.FileDescriptor -const file_plugin_external_proto_iac_proto_rawDesc = "" + +const file_iac_proto_rawDesc = "" + "\n" + - "\x1fplugin/external/proto/iac.proto\x12\x1cworkflow.plugin.external.iac\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcd\x01\n" + + "\tiac.proto\x12\x1cworkflow.plugin.external.iac\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcd\x01\n" + "\fResourceSpec\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + "\x04type\x18\x02 \x01(\tR\x04type\x12\x1f\n" + @@ -4873,20 +4881,20 @@ const file_plugin_external_proto_iac_proto_rawDesc = "" + "\fTroubleshoot\x121.workflow.plugin.external.iac.TroubleshootRequest\x1a2.workflow.plugin.external.iac.TroubleshootResponseB=Z;github.com/GoCodeAlone/workflow/plugin/external/proto;protob\x06proto3" var ( - file_plugin_external_proto_iac_proto_rawDescOnce sync.Once - file_plugin_external_proto_iac_proto_rawDescData []byte + file_iac_proto_rawDescOnce sync.Once + file_iac_proto_rawDescData []byte ) -func file_plugin_external_proto_iac_proto_rawDescGZIP() []byte { - file_plugin_external_proto_iac_proto_rawDescOnce.Do(func() { - file_plugin_external_proto_iac_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_plugin_external_proto_iac_proto_rawDesc), len(file_plugin_external_proto_iac_proto_rawDesc))) +func file_iac_proto_rawDescGZIP() []byte { + file_iac_proto_rawDescOnce.Do(func() { + file_iac_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_iac_proto_rawDesc), len(file_iac_proto_rawDesc))) }) - return file_plugin_external_proto_iac_proto_rawDescData + return file_iac_proto_rawDescData } -var file_plugin_external_proto_iac_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_plugin_external_proto_iac_proto_msgTypes = make([]protoimpl.MessageInfo, 87) -var file_plugin_external_proto_iac_proto_goTypes = []any{ +var file_iac_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_iac_proto_msgTypes = make([]protoimpl.MessageInfo, 87) +var file_iac_proto_goTypes = []any{ (DriftClass)(0), // 0: workflow.plugin.external.iac.DriftClass (PlanDiagnosticSeverity)(0), // 1: workflow.plugin.external.iac.PlanDiagnosticSeverity (*ResourceSpec)(nil), // 2: workflow.plugin.external.iac.ResourceSpec @@ -4978,7 +4986,7 @@ var file_plugin_external_proto_iac_proto_goTypes = []any{ nil, // 88: workflow.plugin.external.iac.DetectDriftConfigRequest.SpecsEntry (*timestamppb.Timestamp)(nil), // 89: google.protobuf.Timestamp } -var file_plugin_external_proto_iac_proto_depIdxs = []int32{ +var file_iac_proto_depIdxs = []int32{ 4, // 0: workflow.plugin.external.iac.ResourceSpec.hints:type_name -> workflow.plugin.external.iac.ResourceHints 89, // 1: workflow.plugin.external.iac.ResourceState.created_at:type_name -> google.protobuf.Timestamp 89, // 2: workflow.plugin.external.iac.ResourceState.updated_at:type_name -> google.protobuf.Timestamp @@ -5113,27 +5121,27 @@ var file_plugin_external_proto_iac_proto_depIdxs = []int32{ 0, // [0:71] is the sub-list for field type_name } -func init() { file_plugin_external_proto_iac_proto_init() } -func file_plugin_external_proto_iac_proto_init() { - if File_plugin_external_proto_iac_proto != nil { +func init() { file_iac_proto_init() } +func file_iac_proto_init() { + if File_iac_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_plugin_external_proto_iac_proto_rawDesc), len(file_plugin_external_proto_iac_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_iac_proto_rawDesc), len(file_iac_proto_rawDesc)), NumEnums: 2, NumMessages: 87, NumExtensions: 0, NumServices: 8, }, - GoTypes: file_plugin_external_proto_iac_proto_goTypes, - DependencyIndexes: file_plugin_external_proto_iac_proto_depIdxs, - EnumInfos: file_plugin_external_proto_iac_proto_enumTypes, - MessageInfos: file_plugin_external_proto_iac_proto_msgTypes, + GoTypes: file_iac_proto_goTypes, + DependencyIndexes: file_iac_proto_depIdxs, + EnumInfos: file_iac_proto_enumTypes, + MessageInfos: file_iac_proto_msgTypes, }.Build() - File_plugin_external_proto_iac_proto = out.File - file_plugin_external_proto_iac_proto_goTypes = nil - file_plugin_external_proto_iac_proto_depIdxs = nil + File_iac_proto = out.File + file_iac_proto_goTypes = nil + file_iac_proto_depIdxs = nil } diff --git a/plugin/external/proto/iac.proto b/plugin/external/proto/iac.proto index 766b3f12..b6d6a110 100644 --- a/plugin/external/proto/iac.proto +++ b/plugin/external/proto/iac.proto @@ -200,9 +200,15 @@ message DiffResult { repeated FieldChange changes = 3; } -// DriftClass mirrors interfaces.DriftClass. Wire-stable string-equivalent -// enum: zero value is UNKNOWN (matches Go's "" zero value), with explicit -// IN_SYNC / GHOST / CONFIG variants. +// DriftClass mirrors interfaces.DriftClass. +// +// Wire-stable enum (int32). Translation table to interfaces.DriftClass (string): +// DRIFT_CLASS_UNKNOWN ↔ "" (DriftClassUnknown zero value) +// DRIFT_CLASS_IN_SYNC ↔ "in-sync" +// DRIFT_CLASS_GHOST ↔ "ghost" +// DRIFT_CLASS_CONFIG ↔ "config" +// Plugin/host MUST translate at the marshal boundary; missed translation +// silently coerces all values to UNKNOWN. enum DriftClass { DRIFT_CLASS_UNKNOWN = 0; DRIFT_CLASS_IN_SYNC = 1; diff --git a/plugin/external/proto/iac_grpc.pb.go b/plugin/external/proto/iac_grpc.pb.go index 7b8a99ea..aaa61c77 100644 --- a/plugin/external/proto/iac_grpc.pb.go +++ b/plugin/external/proto/iac_grpc.pb.go @@ -17,8 +17,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.1 -// - protoc v7.34.1 -// source: plugin/external/proto/iac.proto +// - protoc (unknown) +// source: iac.proto package proto @@ -523,7 +523,7 @@ var IaCProviderRequired_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -677,7 +677,7 @@ var IaCProviderEnumerator_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -818,7 +818,7 @@ var IaCProviderDriftDetector_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -921,7 +921,7 @@ var IaCProviderCredentialRevoker_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -1024,7 +1024,7 @@ var IaCProviderMigrationRepairer_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -1126,7 +1126,7 @@ var IaCProviderValidator_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -1229,7 +1229,7 @@ var IaCProviderDriftConfigDetector_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } const ( @@ -1645,5 +1645,5 @@ var ResourceDriver_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "plugin/external/proto/iac.proto", + Metadata: "iac.proto", } diff --git a/plugin/external/proto/iac_proto_test.go b/plugin/external/proto/iac_proto_test.go index 38ad568c..c4f05726 100644 --- a/plugin/external/proto/iac_proto_test.go +++ b/plugin/external/proto/iac_proto_test.go @@ -1,31 +1,65 @@ package proto_test import ( + "context" "testing" + "github.com/GoCodeAlone/workflow/interfaces" pb "github.com/GoCodeAlone/workflow/plugin/external/proto" ) -// TestIaCProviderRequiredServerHasAllRequiredMethods asserts that the -// generated server interface has every method named in the design. -// Catches accidental method drops in iac.proto. -// -// The test passes at build time via the unused type-assert: if the proto -// dropped a method, the embedded UnimplementedIaCProviderRequiredServer -// would no longer satisfy IaCProviderRequiredServer and this file would -// fail to compile. +// iacRequiredMethodsCheck is a locally-enumerated method-signature interface +// covering every RPC defined for the IaCProviderRequired service in +// iac.proto. The blank assertion below pins pb.IaCProviderRequiredServer's +// method set to this list at compile time: if a method is dropped from +// iac.proto and the bindings are regenerated, the assertion fails to compile +// and surfaces the drop loudly. The previous (`var _ pb.X = stub{}`) form +// would still compile because the regenerated stub would also lose the +// method — that test silently followed the proto rather than guarding it. +type iacRequiredMethodsCheck interface { + Initialize(context.Context, *pb.InitializeRequest) (*pb.InitializeResponse, error) + Name(context.Context, *pb.NameRequest) (*pb.NameResponse, error) + Version(context.Context, *pb.VersionRequest) (*pb.VersionResponse, error) + Capabilities(context.Context, *pb.CapabilitiesRequest) (*pb.CapabilitiesResponse, error) + Plan(context.Context, *pb.PlanRequest) (*pb.PlanResponse, error) + Apply(context.Context, *pb.ApplyRequest) (*pb.ApplyResponse, error) + Destroy(context.Context, *pb.DestroyRequest) (*pb.DestroyResponse, error) + Status(context.Context, *pb.StatusRequest) (*pb.StatusResponse, error) + Import(context.Context, *pb.ImportRequest) (*pb.ImportResponse, error) + ResolveSizing(context.Context, *pb.ResolveSizingRequest) (*pb.ResolveSizingResponse, error) + BootstrapStateBackend(context.Context, *pb.BootstrapStateBackendRequest) (*pb.BootstrapStateBackendResponse, error) +} + +// Compile-time guard: drop an RPC from iac.proto and this fails. +var _ iacRequiredMethodsCheck = (pb.IaCProviderRequiredServer)(nil) + +// TestIaCProviderRequiredServerHasAllRequiredMethods exists so `go test` +// reports the guard's status; the actual check is at compile time above. func TestIaCProviderRequiredServerHasAllRequiredMethods(t *testing.T) { - var srv pb.IaCProviderRequiredServer = (*requiredStub)(nil) - _ = srv // type-assert satisfaction is checked at compile time + var _ iacRequiredMethodsCheck = (pb.IaCProviderRequiredServer)(nil) +} - // Methods are checked at compile time via the type assertion above. - // The stub MUST satisfy: Initialize, Name, Version, Capabilities, - // Plan, Apply, Destroy, Status, Import, ResolveSizing, - // BootstrapStateBackend. +// resourceDriverMethodsCheck enumerates the 9 RPCs ResourceDriver must +// expose, matching iac.proto's `service ResourceDriver` block. +type resourceDriverMethodsCheck interface { + Create(context.Context, *pb.ResourceCreateRequest) (*pb.ResourceCreateResponse, error) + Read(context.Context, *pb.ResourceReadRequest) (*pb.ResourceReadResponse, error) + Update(context.Context, *pb.ResourceUpdateRequest) (*pb.ResourceUpdateResponse, error) + Delete(context.Context, *pb.ResourceDeleteRequest) (*pb.ResourceDeleteResponse, error) + Diff(context.Context, *pb.ResourceDiffRequest) (*pb.ResourceDiffResponse, error) + Scale(context.Context, *pb.ResourceScaleRequest) (*pb.ResourceScaleResponse, error) + HealthCheck(context.Context, *pb.ResourceHealthCheckRequest) (*pb.ResourceHealthCheckResponse, error) + SensitiveKeys(context.Context, *pb.SensitiveKeysRequest) (*pb.SensitiveKeysResponse, error) + Troubleshoot(context.Context, *pb.TroubleshootRequest) (*pb.TroubleshootResponse, error) } -type requiredStub struct { - pb.UnimplementedIaCProviderRequiredServer +var _ resourceDriverMethodsCheck = (pb.ResourceDriverServer)(nil) + +// TestResourceDriverServerInterfaceExists asserts the generated +// ResourceDriverServer interface still has all 9 RPC methods. Drop one +// from iac.proto and the compile-time guard above will fail. +func TestResourceDriverServerInterfaceExists(t *testing.T) { + var _ resourceDriverMethodsCheck = (pb.ResourceDriverServer)(nil) } // TestOptionalServicesHaveDistinctInterfaces asserts each optional @@ -51,14 +85,13 @@ type allOptionalStub struct { pb.UnimplementedIaCProviderDriftConfigDetectorServer } -// TestResourceDriverServerInterfaceExists asserts the generated -// ResourceDriverServer interface exists with the 9 RPC methods from the -// design (Create, Read, Update, Delete, Diff, Scale, HealthCheck, -// SensitiveKeys, Troubleshoot). -func TestResourceDriverServerInterfaceExists(t *testing.T) { - var _ pb.ResourceDriverServer = (*resourceDriverStub)(nil) -} - -type resourceDriverStub struct { - pb.UnimplementedResourceDriverServer +// TestMigrationRepairConfirmationStringMatchesProtoComment guards the +// confirm_force string constant against drift between iac.proto's comment +// (lines ~322-324) and the Go-side interfaces.MigrationRepairConfirmation +// constant. They must match exactly: "FORCE_MIGRATION_METADATA". +func TestMigrationRepairConfirmationStringMatchesProtoComment(t *testing.T) { + if interfaces.MigrationRepairConfirmation != "FORCE_MIGRATION_METADATA" { + t.Fatalf("interfaces.MigrationRepairConfirmation drifted from proto comment in iac.proto:322-324; got %q want %q", + interfaces.MigrationRepairConfirmation, "FORCE_MIGRATION_METADATA") + } } From 07306d95591ec4411f0e3fe9c6a370a8101dd50f Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Sun, 10 May 2026 03:01:23 -0400 Subject: [PATCH 3/4] =?UTF-8?q?chore(proto):=20SYNTHETIC-FAIL=20demo=20?= =?UTF-8?q?=E2=80=94=20drop=20Status=20RPC,=20confirm=20guard=20fires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Synthetic failure commit per Minor-3: temporarily delete the Status RPC from iac.proto + regenerate, to demonstrate the new locally-enumerated iacRequiredMethodsCheck guard catches RPC drops at compile time. Captured failure: plugin/external/proto/iac_proto_test.go:34:33: cannot use (pb.IaCProviderRequiredServer)(nil) (value of interface type "github.com/GoCodeAlone/workflow/plugin/external/proto".IaCProviderRequiredServer) as iacRequiredMethodsCheck value in variable declaration: IaCProviderRequiredServer does not implement iacRequiredMethodsCheck (missing method Status) The next commit restores the Status RPC and confirms the guard goes green again. This intermediate commit is intentionally broken; do not bisect across it. NOTE: this commit deliberately ships a failing test as evidence that the guard works. CI on this commit's tip will FAIL by design. --- plugin/external/proto/iac.pb.go | 103 +++++++++++++-------------- plugin/external/proto/iac.proto | 1 - plugin/external/proto/iac_grpc.pb.go | 38 ---------- 3 files changed, 50 insertions(+), 92 deletions(-) diff --git a/plugin/external/proto/iac.pb.go b/plugin/external/proto/iac.pb.go index cb581c71..90346d0d 100644 --- a/plugin/external/proto/iac.pb.go +++ b/plugin/external/proto/iac.pb.go @@ -4841,7 +4841,7 @@ const file_iac_proto_rawDesc = "" + "\x16PlanDiagnosticSeverity\x12\x18\n" + "\x14PLAN_DIAGNOSTIC_INFO\x10\x00\x12\x1b\n" + "\x17PLAN_DIAGNOSTIC_WARNING\x10\x01\x12\x19\n" + - "\x15PLAN_DIAGNOSTIC_ERROR\x10\x022\xc4\t\n" + + "\x15PLAN_DIAGNOSTIC_ERROR\x10\x022\xdf\b\n" + "\x13IaCProviderRequired\x12o\n" + "\n" + "Initialize\x12/.workflow.plugin.external.iac.InitializeRequest\x1a0.workflow.plugin.external.iac.InitializeResponse\x12]\n" + @@ -4851,7 +4851,6 @@ const file_iac_proto_rawDesc = "" + "\x04Plan\x12).workflow.plugin.external.iac.PlanRequest\x1a*.workflow.plugin.external.iac.PlanResponse\x12`\n" + "\x05Apply\x12*.workflow.plugin.external.iac.ApplyRequest\x1a+.workflow.plugin.external.iac.ApplyResponse\x12f\n" + "\aDestroy\x12,.workflow.plugin.external.iac.DestroyRequest\x1a-.workflow.plugin.external.iac.DestroyResponse\x12c\n" + - "\x06Status\x12+.workflow.plugin.external.iac.StatusRequest\x1a,.workflow.plugin.external.iac.StatusResponse\x12c\n" + "\x06Import\x12+.workflow.plugin.external.iac.ImportRequest\x1a,.workflow.plugin.external.iac.ImportResponse\x12x\n" + "\rResolveSizing\x122.workflow.plugin.external.iac.ResolveSizingRequest\x1a3.workflow.plugin.external.iac.ResolveSizingResponse\x12\x90\x01\n" + "\x15BootstrapStateBackend\x12:.workflow.plugin.external.iac.BootstrapStateBackendRequest\x1a;.workflow.plugin.external.iac.BootstrapStateBackendResponse2\x8b\x02\n" + @@ -5065,57 +5064,55 @@ var file_iac_proto_depIdxs = []int32{ 33, // 75: workflow.plugin.external.iac.IaCProviderRequired.Plan:input_type -> workflow.plugin.external.iac.PlanRequest 35, // 76: workflow.plugin.external.iac.IaCProviderRequired.Apply:input_type -> workflow.plugin.external.iac.ApplyRequest 37, // 77: workflow.plugin.external.iac.IaCProviderRequired.Destroy:input_type -> workflow.plugin.external.iac.DestroyRequest - 39, // 78: workflow.plugin.external.iac.IaCProviderRequired.Status:input_type -> workflow.plugin.external.iac.StatusRequest - 41, // 79: workflow.plugin.external.iac.IaCProviderRequired.Import:input_type -> workflow.plugin.external.iac.ImportRequest - 43, // 80: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:input_type -> workflow.plugin.external.iac.ResolveSizingRequest - 45, // 81: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:input_type -> workflow.plugin.external.iac.BootstrapStateBackendRequest - 47, // 82: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:input_type -> workflow.plugin.external.iac.EnumerateAllRequest - 49, // 83: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:input_type -> workflow.plugin.external.iac.EnumerateByTagRequest - 51, // 84: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:input_type -> workflow.plugin.external.iac.DetectDriftRequest - 53, // 85: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:input_type -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest - 55, // 86: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:input_type -> workflow.plugin.external.iac.RevokeProviderCredentialRequest - 57, // 87: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:input_type -> workflow.plugin.external.iac.RepairDirtyMigrationRequest - 59, // 88: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:input_type -> workflow.plugin.external.iac.ValidatePlanRequest - 61, // 89: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:input_type -> workflow.plugin.external.iac.DetectDriftConfigRequest - 63, // 90: workflow.plugin.external.iac.ResourceDriver.Create:input_type -> workflow.plugin.external.iac.ResourceCreateRequest - 65, // 91: workflow.plugin.external.iac.ResourceDriver.Read:input_type -> workflow.plugin.external.iac.ResourceReadRequest - 67, // 92: workflow.plugin.external.iac.ResourceDriver.Update:input_type -> workflow.plugin.external.iac.ResourceUpdateRequest - 69, // 93: workflow.plugin.external.iac.ResourceDriver.Delete:input_type -> workflow.plugin.external.iac.ResourceDeleteRequest - 71, // 94: workflow.plugin.external.iac.ResourceDriver.Diff:input_type -> workflow.plugin.external.iac.ResourceDiffRequest - 73, // 95: workflow.plugin.external.iac.ResourceDriver.Scale:input_type -> workflow.plugin.external.iac.ResourceScaleRequest - 75, // 96: workflow.plugin.external.iac.ResourceDriver.HealthCheck:input_type -> workflow.plugin.external.iac.ResourceHealthCheckRequest - 77, // 97: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:input_type -> workflow.plugin.external.iac.SensitiveKeysRequest - 79, // 98: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:input_type -> workflow.plugin.external.iac.TroubleshootRequest - 26, // 99: workflow.plugin.external.iac.IaCProviderRequired.Initialize:output_type -> workflow.plugin.external.iac.InitializeResponse - 28, // 100: workflow.plugin.external.iac.IaCProviderRequired.Name:output_type -> workflow.plugin.external.iac.NameResponse - 30, // 101: workflow.plugin.external.iac.IaCProviderRequired.Version:output_type -> workflow.plugin.external.iac.VersionResponse - 32, // 102: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:output_type -> workflow.plugin.external.iac.CapabilitiesResponse - 34, // 103: workflow.plugin.external.iac.IaCProviderRequired.Plan:output_type -> workflow.plugin.external.iac.PlanResponse - 36, // 104: workflow.plugin.external.iac.IaCProviderRequired.Apply:output_type -> workflow.plugin.external.iac.ApplyResponse - 38, // 105: workflow.plugin.external.iac.IaCProviderRequired.Destroy:output_type -> workflow.plugin.external.iac.DestroyResponse - 40, // 106: workflow.plugin.external.iac.IaCProviderRequired.Status:output_type -> workflow.plugin.external.iac.StatusResponse - 42, // 107: workflow.plugin.external.iac.IaCProviderRequired.Import:output_type -> workflow.plugin.external.iac.ImportResponse - 44, // 108: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:output_type -> workflow.plugin.external.iac.ResolveSizingResponse - 46, // 109: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:output_type -> workflow.plugin.external.iac.BootstrapStateBackendResponse - 48, // 110: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:output_type -> workflow.plugin.external.iac.EnumerateAllResponse - 50, // 111: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:output_type -> workflow.plugin.external.iac.EnumerateByTagResponse - 52, // 112: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:output_type -> workflow.plugin.external.iac.DetectDriftResponse - 54, // 113: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:output_type -> workflow.plugin.external.iac.DetectDriftWithSpecsResponse - 56, // 114: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:output_type -> workflow.plugin.external.iac.RevokeProviderCredentialResponse - 58, // 115: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:output_type -> workflow.plugin.external.iac.RepairDirtyMigrationResponse - 60, // 116: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:output_type -> workflow.plugin.external.iac.ValidatePlanResponse - 62, // 117: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:output_type -> workflow.plugin.external.iac.DetectDriftConfigResponse - 64, // 118: workflow.plugin.external.iac.ResourceDriver.Create:output_type -> workflow.plugin.external.iac.ResourceCreateResponse - 66, // 119: workflow.plugin.external.iac.ResourceDriver.Read:output_type -> workflow.plugin.external.iac.ResourceReadResponse - 68, // 120: workflow.plugin.external.iac.ResourceDriver.Update:output_type -> workflow.plugin.external.iac.ResourceUpdateResponse - 70, // 121: workflow.plugin.external.iac.ResourceDriver.Delete:output_type -> workflow.plugin.external.iac.ResourceDeleteResponse - 72, // 122: workflow.plugin.external.iac.ResourceDriver.Diff:output_type -> workflow.plugin.external.iac.ResourceDiffResponse - 74, // 123: workflow.plugin.external.iac.ResourceDriver.Scale:output_type -> workflow.plugin.external.iac.ResourceScaleResponse - 76, // 124: workflow.plugin.external.iac.ResourceDriver.HealthCheck:output_type -> workflow.plugin.external.iac.ResourceHealthCheckResponse - 78, // 125: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:output_type -> workflow.plugin.external.iac.SensitiveKeysResponse - 80, // 126: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:output_type -> workflow.plugin.external.iac.TroubleshootResponse - 99, // [99:127] is the sub-list for method output_type - 71, // [71:99] is the sub-list for method input_type + 41, // 78: workflow.plugin.external.iac.IaCProviderRequired.Import:input_type -> workflow.plugin.external.iac.ImportRequest + 43, // 79: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:input_type -> workflow.plugin.external.iac.ResolveSizingRequest + 45, // 80: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:input_type -> workflow.plugin.external.iac.BootstrapStateBackendRequest + 47, // 81: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:input_type -> workflow.plugin.external.iac.EnumerateAllRequest + 49, // 82: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:input_type -> workflow.plugin.external.iac.EnumerateByTagRequest + 51, // 83: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:input_type -> workflow.plugin.external.iac.DetectDriftRequest + 53, // 84: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:input_type -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest + 55, // 85: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:input_type -> workflow.plugin.external.iac.RevokeProviderCredentialRequest + 57, // 86: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:input_type -> workflow.plugin.external.iac.RepairDirtyMigrationRequest + 59, // 87: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:input_type -> workflow.plugin.external.iac.ValidatePlanRequest + 61, // 88: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:input_type -> workflow.plugin.external.iac.DetectDriftConfigRequest + 63, // 89: workflow.plugin.external.iac.ResourceDriver.Create:input_type -> workflow.plugin.external.iac.ResourceCreateRequest + 65, // 90: workflow.plugin.external.iac.ResourceDriver.Read:input_type -> workflow.plugin.external.iac.ResourceReadRequest + 67, // 91: workflow.plugin.external.iac.ResourceDriver.Update:input_type -> workflow.plugin.external.iac.ResourceUpdateRequest + 69, // 92: workflow.plugin.external.iac.ResourceDriver.Delete:input_type -> workflow.plugin.external.iac.ResourceDeleteRequest + 71, // 93: workflow.plugin.external.iac.ResourceDriver.Diff:input_type -> workflow.plugin.external.iac.ResourceDiffRequest + 73, // 94: workflow.plugin.external.iac.ResourceDriver.Scale:input_type -> workflow.plugin.external.iac.ResourceScaleRequest + 75, // 95: workflow.plugin.external.iac.ResourceDriver.HealthCheck:input_type -> workflow.plugin.external.iac.ResourceHealthCheckRequest + 77, // 96: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:input_type -> workflow.plugin.external.iac.SensitiveKeysRequest + 79, // 97: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:input_type -> workflow.plugin.external.iac.TroubleshootRequest + 26, // 98: workflow.plugin.external.iac.IaCProviderRequired.Initialize:output_type -> workflow.plugin.external.iac.InitializeResponse + 28, // 99: workflow.plugin.external.iac.IaCProviderRequired.Name:output_type -> workflow.plugin.external.iac.NameResponse + 30, // 100: workflow.plugin.external.iac.IaCProviderRequired.Version:output_type -> workflow.plugin.external.iac.VersionResponse + 32, // 101: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:output_type -> workflow.plugin.external.iac.CapabilitiesResponse + 34, // 102: workflow.plugin.external.iac.IaCProviderRequired.Plan:output_type -> workflow.plugin.external.iac.PlanResponse + 36, // 103: workflow.plugin.external.iac.IaCProviderRequired.Apply:output_type -> workflow.plugin.external.iac.ApplyResponse + 38, // 104: workflow.plugin.external.iac.IaCProviderRequired.Destroy:output_type -> workflow.plugin.external.iac.DestroyResponse + 42, // 105: workflow.plugin.external.iac.IaCProviderRequired.Import:output_type -> workflow.plugin.external.iac.ImportResponse + 44, // 106: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:output_type -> workflow.plugin.external.iac.ResolveSizingResponse + 46, // 107: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:output_type -> workflow.plugin.external.iac.BootstrapStateBackendResponse + 48, // 108: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:output_type -> workflow.plugin.external.iac.EnumerateAllResponse + 50, // 109: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:output_type -> workflow.plugin.external.iac.EnumerateByTagResponse + 52, // 110: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:output_type -> workflow.plugin.external.iac.DetectDriftResponse + 54, // 111: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:output_type -> workflow.plugin.external.iac.DetectDriftWithSpecsResponse + 56, // 112: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:output_type -> workflow.plugin.external.iac.RevokeProviderCredentialResponse + 58, // 113: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:output_type -> workflow.plugin.external.iac.RepairDirtyMigrationResponse + 60, // 114: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:output_type -> workflow.plugin.external.iac.ValidatePlanResponse + 62, // 115: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:output_type -> workflow.plugin.external.iac.DetectDriftConfigResponse + 64, // 116: workflow.plugin.external.iac.ResourceDriver.Create:output_type -> workflow.plugin.external.iac.ResourceCreateResponse + 66, // 117: workflow.plugin.external.iac.ResourceDriver.Read:output_type -> workflow.plugin.external.iac.ResourceReadResponse + 68, // 118: workflow.plugin.external.iac.ResourceDriver.Update:output_type -> workflow.plugin.external.iac.ResourceUpdateResponse + 70, // 119: workflow.plugin.external.iac.ResourceDriver.Delete:output_type -> workflow.plugin.external.iac.ResourceDeleteResponse + 72, // 120: workflow.plugin.external.iac.ResourceDriver.Diff:output_type -> workflow.plugin.external.iac.ResourceDiffResponse + 74, // 121: workflow.plugin.external.iac.ResourceDriver.Scale:output_type -> workflow.plugin.external.iac.ResourceScaleResponse + 76, // 122: workflow.plugin.external.iac.ResourceDriver.HealthCheck:output_type -> workflow.plugin.external.iac.ResourceHealthCheckResponse + 78, // 123: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:output_type -> workflow.plugin.external.iac.SensitiveKeysResponse + 80, // 124: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:output_type -> workflow.plugin.external.iac.TroubleshootResponse + 98, // [98:125] is the sub-list for method output_type + 71, // [71:98] is the sub-list for method input_type 71, // [71:71] is the sub-list for extension type_name 71, // [71:71] is the sub-list for extension extendee 0, // [0:71] is the sub-list for field type_name diff --git a/plugin/external/proto/iac.proto b/plugin/external/proto/iac.proto index b6d6a110..85f3cdc9 100644 --- a/plugin/external/proto/iac.proto +++ b/plugin/external/proto/iac.proto @@ -33,7 +33,6 @@ service IaCProviderRequired { rpc Plan(PlanRequest) returns (PlanResponse); rpc Apply(ApplyRequest) returns (ApplyResponse); rpc Destroy(DestroyRequest) returns (DestroyResponse); - rpc Status(StatusRequest) returns (StatusResponse); rpc Import(ImportRequest) returns (ImportResponse); rpc ResolveSizing(ResolveSizingRequest) returns (ResolveSizingResponse); rpc BootstrapStateBackend(BootstrapStateBackendRequest) returns (BootstrapStateBackendResponse); diff --git a/plugin/external/proto/iac_grpc.pb.go b/plugin/external/proto/iac_grpc.pb.go index aaa61c77..4044d8fa 100644 --- a/plugin/external/proto/iac_grpc.pb.go +++ b/plugin/external/proto/iac_grpc.pb.go @@ -42,7 +42,6 @@ const ( IaCProviderRequired_Plan_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Plan" IaCProviderRequired_Apply_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Apply" IaCProviderRequired_Destroy_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Destroy" - IaCProviderRequired_Status_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Status" IaCProviderRequired_Import_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Import" IaCProviderRequired_ResolveSizing_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/ResolveSizing" IaCProviderRequired_BootstrapStateBackend_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/BootstrapStateBackend" @@ -64,7 +63,6 @@ type IaCProviderRequiredClient interface { Plan(ctx context.Context, in *PlanRequest, opts ...grpc.CallOption) (*PlanResponse, error) Apply(ctx context.Context, in *ApplyRequest, opts ...grpc.CallOption) (*ApplyResponse, error) Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) - Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) ResolveSizing(ctx context.Context, in *ResolveSizingRequest, opts ...grpc.CallOption) (*ResolveSizingResponse, error) BootstrapStateBackend(ctx context.Context, in *BootstrapStateBackendRequest, opts ...grpc.CallOption) (*BootstrapStateBackendResponse, error) @@ -148,16 +146,6 @@ func (c *iaCProviderRequiredClient) Destroy(ctx context.Context, in *DestroyRequ return out, nil } -func (c *iaCProviderRequiredClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(StatusResponse) - err := c.cc.Invoke(ctx, IaCProviderRequired_Status_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *iaCProviderRequiredClient) Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ImportResponse) @@ -204,7 +192,6 @@ type IaCProviderRequiredServer interface { Plan(context.Context, *PlanRequest) (*PlanResponse, error) Apply(context.Context, *ApplyRequest) (*ApplyResponse, error) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) - Status(context.Context, *StatusRequest) (*StatusResponse, error) Import(context.Context, *ImportRequest) (*ImportResponse, error) ResolveSizing(context.Context, *ResolveSizingRequest) (*ResolveSizingResponse, error) BootstrapStateBackend(context.Context, *BootstrapStateBackendRequest) (*BootstrapStateBackendResponse, error) @@ -239,9 +226,6 @@ func (UnimplementedIaCProviderRequiredServer) Apply(context.Context, *ApplyReque func (UnimplementedIaCProviderRequiredServer) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) { return nil, status.Error(codes.Unimplemented, "method Destroy not implemented") } -func (UnimplementedIaCProviderRequiredServer) Status(context.Context, *StatusRequest) (*StatusResponse, error) { - return nil, status.Error(codes.Unimplemented, "method Status not implemented") -} func (UnimplementedIaCProviderRequiredServer) Import(context.Context, *ImportRequest) (*ImportResponse, error) { return nil, status.Error(codes.Unimplemented, "method Import not implemented") } @@ -398,24 +382,6 @@ func _IaCProviderRequired_Destroy_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _IaCProviderRequired_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(IaCProviderRequiredServer).Status(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: IaCProviderRequired_Status_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(IaCProviderRequiredServer).Status(ctx, req.(*StatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _IaCProviderRequired_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ImportRequest) if err := dec(in); err != nil { @@ -505,10 +471,6 @@ var IaCProviderRequired_ServiceDesc = grpc.ServiceDesc{ MethodName: "Destroy", Handler: _IaCProviderRequired_Destroy_Handler, }, - { - MethodName: "Status", - Handler: _IaCProviderRequired_Status_Handler, - }, { MethodName: "Import", Handler: _IaCProviderRequired_Import_Handler, From bba4aadf845397fbeb2fc219e038d73543720027 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Sun, 10 May 2026 03:01:42 -0400 Subject: [PATCH 4/4] =?UTF-8?q?chore(proto):=20RESTORE=20Status=20RPC=20?= =?UTF-8?q?=E2=80=94=20guard=20goes=20green?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restores the Status RPC dropped in the previous synthetic-failure demo commit. After regeneration, the iacRequiredMethodsCheck guard is satisfied again: $ GOWORK=off go test ./plugin/external/proto/... -count=1 ok github.com/GoCodeAlone/workflow/plugin/external/proto 0.314s Together the prior commit and this one demonstrate that the new test catches RPC drops at compile time — landed end-state for PR 598 is identical to the iac.proto baseline + the Important-1/Minor-2/Minor-4 fixes from commit 86416756. --- plugin/external/proto/iac.pb.go | 103 ++++++++++++++------------- plugin/external/proto/iac.proto | 1 + plugin/external/proto/iac_grpc.pb.go | 38 ++++++++++ 3 files changed, 92 insertions(+), 50 deletions(-) diff --git a/plugin/external/proto/iac.pb.go b/plugin/external/proto/iac.pb.go index 90346d0d..cb581c71 100644 --- a/plugin/external/proto/iac.pb.go +++ b/plugin/external/proto/iac.pb.go @@ -4841,7 +4841,7 @@ const file_iac_proto_rawDesc = "" + "\x16PlanDiagnosticSeverity\x12\x18\n" + "\x14PLAN_DIAGNOSTIC_INFO\x10\x00\x12\x1b\n" + "\x17PLAN_DIAGNOSTIC_WARNING\x10\x01\x12\x19\n" + - "\x15PLAN_DIAGNOSTIC_ERROR\x10\x022\xdf\b\n" + + "\x15PLAN_DIAGNOSTIC_ERROR\x10\x022\xc4\t\n" + "\x13IaCProviderRequired\x12o\n" + "\n" + "Initialize\x12/.workflow.plugin.external.iac.InitializeRequest\x1a0.workflow.plugin.external.iac.InitializeResponse\x12]\n" + @@ -4851,6 +4851,7 @@ const file_iac_proto_rawDesc = "" + "\x04Plan\x12).workflow.plugin.external.iac.PlanRequest\x1a*.workflow.plugin.external.iac.PlanResponse\x12`\n" + "\x05Apply\x12*.workflow.plugin.external.iac.ApplyRequest\x1a+.workflow.plugin.external.iac.ApplyResponse\x12f\n" + "\aDestroy\x12,.workflow.plugin.external.iac.DestroyRequest\x1a-.workflow.plugin.external.iac.DestroyResponse\x12c\n" + + "\x06Status\x12+.workflow.plugin.external.iac.StatusRequest\x1a,.workflow.plugin.external.iac.StatusResponse\x12c\n" + "\x06Import\x12+.workflow.plugin.external.iac.ImportRequest\x1a,.workflow.plugin.external.iac.ImportResponse\x12x\n" + "\rResolveSizing\x122.workflow.plugin.external.iac.ResolveSizingRequest\x1a3.workflow.plugin.external.iac.ResolveSizingResponse\x12\x90\x01\n" + "\x15BootstrapStateBackend\x12:.workflow.plugin.external.iac.BootstrapStateBackendRequest\x1a;.workflow.plugin.external.iac.BootstrapStateBackendResponse2\x8b\x02\n" + @@ -5064,55 +5065,57 @@ var file_iac_proto_depIdxs = []int32{ 33, // 75: workflow.plugin.external.iac.IaCProviderRequired.Plan:input_type -> workflow.plugin.external.iac.PlanRequest 35, // 76: workflow.plugin.external.iac.IaCProviderRequired.Apply:input_type -> workflow.plugin.external.iac.ApplyRequest 37, // 77: workflow.plugin.external.iac.IaCProviderRequired.Destroy:input_type -> workflow.plugin.external.iac.DestroyRequest - 41, // 78: workflow.plugin.external.iac.IaCProviderRequired.Import:input_type -> workflow.plugin.external.iac.ImportRequest - 43, // 79: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:input_type -> workflow.plugin.external.iac.ResolveSizingRequest - 45, // 80: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:input_type -> workflow.plugin.external.iac.BootstrapStateBackendRequest - 47, // 81: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:input_type -> workflow.plugin.external.iac.EnumerateAllRequest - 49, // 82: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:input_type -> workflow.plugin.external.iac.EnumerateByTagRequest - 51, // 83: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:input_type -> workflow.plugin.external.iac.DetectDriftRequest - 53, // 84: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:input_type -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest - 55, // 85: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:input_type -> workflow.plugin.external.iac.RevokeProviderCredentialRequest - 57, // 86: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:input_type -> workflow.plugin.external.iac.RepairDirtyMigrationRequest - 59, // 87: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:input_type -> workflow.plugin.external.iac.ValidatePlanRequest - 61, // 88: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:input_type -> workflow.plugin.external.iac.DetectDriftConfigRequest - 63, // 89: workflow.plugin.external.iac.ResourceDriver.Create:input_type -> workflow.plugin.external.iac.ResourceCreateRequest - 65, // 90: workflow.plugin.external.iac.ResourceDriver.Read:input_type -> workflow.plugin.external.iac.ResourceReadRequest - 67, // 91: workflow.plugin.external.iac.ResourceDriver.Update:input_type -> workflow.plugin.external.iac.ResourceUpdateRequest - 69, // 92: workflow.plugin.external.iac.ResourceDriver.Delete:input_type -> workflow.plugin.external.iac.ResourceDeleteRequest - 71, // 93: workflow.plugin.external.iac.ResourceDriver.Diff:input_type -> workflow.plugin.external.iac.ResourceDiffRequest - 73, // 94: workflow.plugin.external.iac.ResourceDriver.Scale:input_type -> workflow.plugin.external.iac.ResourceScaleRequest - 75, // 95: workflow.plugin.external.iac.ResourceDriver.HealthCheck:input_type -> workflow.plugin.external.iac.ResourceHealthCheckRequest - 77, // 96: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:input_type -> workflow.plugin.external.iac.SensitiveKeysRequest - 79, // 97: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:input_type -> workflow.plugin.external.iac.TroubleshootRequest - 26, // 98: workflow.plugin.external.iac.IaCProviderRequired.Initialize:output_type -> workflow.plugin.external.iac.InitializeResponse - 28, // 99: workflow.plugin.external.iac.IaCProviderRequired.Name:output_type -> workflow.plugin.external.iac.NameResponse - 30, // 100: workflow.plugin.external.iac.IaCProviderRequired.Version:output_type -> workflow.plugin.external.iac.VersionResponse - 32, // 101: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:output_type -> workflow.plugin.external.iac.CapabilitiesResponse - 34, // 102: workflow.plugin.external.iac.IaCProviderRequired.Plan:output_type -> workflow.plugin.external.iac.PlanResponse - 36, // 103: workflow.plugin.external.iac.IaCProviderRequired.Apply:output_type -> workflow.plugin.external.iac.ApplyResponse - 38, // 104: workflow.plugin.external.iac.IaCProviderRequired.Destroy:output_type -> workflow.plugin.external.iac.DestroyResponse - 42, // 105: workflow.plugin.external.iac.IaCProviderRequired.Import:output_type -> workflow.plugin.external.iac.ImportResponse - 44, // 106: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:output_type -> workflow.plugin.external.iac.ResolveSizingResponse - 46, // 107: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:output_type -> workflow.plugin.external.iac.BootstrapStateBackendResponse - 48, // 108: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:output_type -> workflow.plugin.external.iac.EnumerateAllResponse - 50, // 109: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:output_type -> workflow.plugin.external.iac.EnumerateByTagResponse - 52, // 110: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:output_type -> workflow.plugin.external.iac.DetectDriftResponse - 54, // 111: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:output_type -> workflow.plugin.external.iac.DetectDriftWithSpecsResponse - 56, // 112: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:output_type -> workflow.plugin.external.iac.RevokeProviderCredentialResponse - 58, // 113: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:output_type -> workflow.plugin.external.iac.RepairDirtyMigrationResponse - 60, // 114: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:output_type -> workflow.plugin.external.iac.ValidatePlanResponse - 62, // 115: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:output_type -> workflow.plugin.external.iac.DetectDriftConfigResponse - 64, // 116: workflow.plugin.external.iac.ResourceDriver.Create:output_type -> workflow.plugin.external.iac.ResourceCreateResponse - 66, // 117: workflow.plugin.external.iac.ResourceDriver.Read:output_type -> workflow.plugin.external.iac.ResourceReadResponse - 68, // 118: workflow.plugin.external.iac.ResourceDriver.Update:output_type -> workflow.plugin.external.iac.ResourceUpdateResponse - 70, // 119: workflow.plugin.external.iac.ResourceDriver.Delete:output_type -> workflow.plugin.external.iac.ResourceDeleteResponse - 72, // 120: workflow.plugin.external.iac.ResourceDriver.Diff:output_type -> workflow.plugin.external.iac.ResourceDiffResponse - 74, // 121: workflow.plugin.external.iac.ResourceDriver.Scale:output_type -> workflow.plugin.external.iac.ResourceScaleResponse - 76, // 122: workflow.plugin.external.iac.ResourceDriver.HealthCheck:output_type -> workflow.plugin.external.iac.ResourceHealthCheckResponse - 78, // 123: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:output_type -> workflow.plugin.external.iac.SensitiveKeysResponse - 80, // 124: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:output_type -> workflow.plugin.external.iac.TroubleshootResponse - 98, // [98:125] is the sub-list for method output_type - 71, // [71:98] is the sub-list for method input_type + 39, // 78: workflow.plugin.external.iac.IaCProviderRequired.Status:input_type -> workflow.plugin.external.iac.StatusRequest + 41, // 79: workflow.plugin.external.iac.IaCProviderRequired.Import:input_type -> workflow.plugin.external.iac.ImportRequest + 43, // 80: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:input_type -> workflow.plugin.external.iac.ResolveSizingRequest + 45, // 81: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:input_type -> workflow.plugin.external.iac.BootstrapStateBackendRequest + 47, // 82: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:input_type -> workflow.plugin.external.iac.EnumerateAllRequest + 49, // 83: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:input_type -> workflow.plugin.external.iac.EnumerateByTagRequest + 51, // 84: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:input_type -> workflow.plugin.external.iac.DetectDriftRequest + 53, // 85: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:input_type -> workflow.plugin.external.iac.DetectDriftWithSpecsRequest + 55, // 86: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:input_type -> workflow.plugin.external.iac.RevokeProviderCredentialRequest + 57, // 87: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:input_type -> workflow.plugin.external.iac.RepairDirtyMigrationRequest + 59, // 88: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:input_type -> workflow.plugin.external.iac.ValidatePlanRequest + 61, // 89: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:input_type -> workflow.plugin.external.iac.DetectDriftConfigRequest + 63, // 90: workflow.plugin.external.iac.ResourceDriver.Create:input_type -> workflow.plugin.external.iac.ResourceCreateRequest + 65, // 91: workflow.plugin.external.iac.ResourceDriver.Read:input_type -> workflow.plugin.external.iac.ResourceReadRequest + 67, // 92: workflow.plugin.external.iac.ResourceDriver.Update:input_type -> workflow.plugin.external.iac.ResourceUpdateRequest + 69, // 93: workflow.plugin.external.iac.ResourceDriver.Delete:input_type -> workflow.plugin.external.iac.ResourceDeleteRequest + 71, // 94: workflow.plugin.external.iac.ResourceDriver.Diff:input_type -> workflow.plugin.external.iac.ResourceDiffRequest + 73, // 95: workflow.plugin.external.iac.ResourceDriver.Scale:input_type -> workflow.plugin.external.iac.ResourceScaleRequest + 75, // 96: workflow.plugin.external.iac.ResourceDriver.HealthCheck:input_type -> workflow.plugin.external.iac.ResourceHealthCheckRequest + 77, // 97: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:input_type -> workflow.plugin.external.iac.SensitiveKeysRequest + 79, // 98: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:input_type -> workflow.plugin.external.iac.TroubleshootRequest + 26, // 99: workflow.plugin.external.iac.IaCProviderRequired.Initialize:output_type -> workflow.plugin.external.iac.InitializeResponse + 28, // 100: workflow.plugin.external.iac.IaCProviderRequired.Name:output_type -> workflow.plugin.external.iac.NameResponse + 30, // 101: workflow.plugin.external.iac.IaCProviderRequired.Version:output_type -> workflow.plugin.external.iac.VersionResponse + 32, // 102: workflow.plugin.external.iac.IaCProviderRequired.Capabilities:output_type -> workflow.plugin.external.iac.CapabilitiesResponse + 34, // 103: workflow.plugin.external.iac.IaCProviderRequired.Plan:output_type -> workflow.plugin.external.iac.PlanResponse + 36, // 104: workflow.plugin.external.iac.IaCProviderRequired.Apply:output_type -> workflow.plugin.external.iac.ApplyResponse + 38, // 105: workflow.plugin.external.iac.IaCProviderRequired.Destroy:output_type -> workflow.plugin.external.iac.DestroyResponse + 40, // 106: workflow.plugin.external.iac.IaCProviderRequired.Status:output_type -> workflow.plugin.external.iac.StatusResponse + 42, // 107: workflow.plugin.external.iac.IaCProviderRequired.Import:output_type -> workflow.plugin.external.iac.ImportResponse + 44, // 108: workflow.plugin.external.iac.IaCProviderRequired.ResolveSizing:output_type -> workflow.plugin.external.iac.ResolveSizingResponse + 46, // 109: workflow.plugin.external.iac.IaCProviderRequired.BootstrapStateBackend:output_type -> workflow.plugin.external.iac.BootstrapStateBackendResponse + 48, // 110: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateAll:output_type -> workflow.plugin.external.iac.EnumerateAllResponse + 50, // 111: workflow.plugin.external.iac.IaCProviderEnumerator.EnumerateByTag:output_type -> workflow.plugin.external.iac.EnumerateByTagResponse + 52, // 112: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDrift:output_type -> workflow.plugin.external.iac.DetectDriftResponse + 54, // 113: workflow.plugin.external.iac.IaCProviderDriftDetector.DetectDriftWithSpecs:output_type -> workflow.plugin.external.iac.DetectDriftWithSpecsResponse + 56, // 114: workflow.plugin.external.iac.IaCProviderCredentialRevoker.RevokeProviderCredential:output_type -> workflow.plugin.external.iac.RevokeProviderCredentialResponse + 58, // 115: workflow.plugin.external.iac.IaCProviderMigrationRepairer.RepairDirtyMigration:output_type -> workflow.plugin.external.iac.RepairDirtyMigrationResponse + 60, // 116: workflow.plugin.external.iac.IaCProviderValidator.ValidatePlan:output_type -> workflow.plugin.external.iac.ValidatePlanResponse + 62, // 117: workflow.plugin.external.iac.IaCProviderDriftConfigDetector.DetectDriftConfig:output_type -> workflow.plugin.external.iac.DetectDriftConfigResponse + 64, // 118: workflow.plugin.external.iac.ResourceDriver.Create:output_type -> workflow.plugin.external.iac.ResourceCreateResponse + 66, // 119: workflow.plugin.external.iac.ResourceDriver.Read:output_type -> workflow.plugin.external.iac.ResourceReadResponse + 68, // 120: workflow.plugin.external.iac.ResourceDriver.Update:output_type -> workflow.plugin.external.iac.ResourceUpdateResponse + 70, // 121: workflow.plugin.external.iac.ResourceDriver.Delete:output_type -> workflow.plugin.external.iac.ResourceDeleteResponse + 72, // 122: workflow.plugin.external.iac.ResourceDriver.Diff:output_type -> workflow.plugin.external.iac.ResourceDiffResponse + 74, // 123: workflow.plugin.external.iac.ResourceDriver.Scale:output_type -> workflow.plugin.external.iac.ResourceScaleResponse + 76, // 124: workflow.plugin.external.iac.ResourceDriver.HealthCheck:output_type -> workflow.plugin.external.iac.ResourceHealthCheckResponse + 78, // 125: workflow.plugin.external.iac.ResourceDriver.SensitiveKeys:output_type -> workflow.plugin.external.iac.SensitiveKeysResponse + 80, // 126: workflow.plugin.external.iac.ResourceDriver.Troubleshoot:output_type -> workflow.plugin.external.iac.TroubleshootResponse + 99, // [99:127] is the sub-list for method output_type + 71, // [71:99] is the sub-list for method input_type 71, // [71:71] is the sub-list for extension type_name 71, // [71:71] is the sub-list for extension extendee 0, // [0:71] is the sub-list for field type_name diff --git a/plugin/external/proto/iac.proto b/plugin/external/proto/iac.proto index 85f3cdc9..b6d6a110 100644 --- a/plugin/external/proto/iac.proto +++ b/plugin/external/proto/iac.proto @@ -33,6 +33,7 @@ service IaCProviderRequired { rpc Plan(PlanRequest) returns (PlanResponse); rpc Apply(ApplyRequest) returns (ApplyResponse); rpc Destroy(DestroyRequest) returns (DestroyResponse); + rpc Status(StatusRequest) returns (StatusResponse); rpc Import(ImportRequest) returns (ImportResponse); rpc ResolveSizing(ResolveSizingRequest) returns (ResolveSizingResponse); rpc BootstrapStateBackend(BootstrapStateBackendRequest) returns (BootstrapStateBackendResponse); diff --git a/plugin/external/proto/iac_grpc.pb.go b/plugin/external/proto/iac_grpc.pb.go index 4044d8fa..aaa61c77 100644 --- a/plugin/external/proto/iac_grpc.pb.go +++ b/plugin/external/proto/iac_grpc.pb.go @@ -42,6 +42,7 @@ const ( IaCProviderRequired_Plan_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Plan" IaCProviderRequired_Apply_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Apply" IaCProviderRequired_Destroy_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Destroy" + IaCProviderRequired_Status_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Status" IaCProviderRequired_Import_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/Import" IaCProviderRequired_ResolveSizing_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/ResolveSizing" IaCProviderRequired_BootstrapStateBackend_FullMethodName = "/workflow.plugin.external.iac.IaCProviderRequired/BootstrapStateBackend" @@ -63,6 +64,7 @@ type IaCProviderRequiredClient interface { Plan(ctx context.Context, in *PlanRequest, opts ...grpc.CallOption) (*PlanResponse, error) Apply(ctx context.Context, in *ApplyRequest, opts ...grpc.CallOption) (*ApplyResponse, error) Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) + Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) ResolveSizing(ctx context.Context, in *ResolveSizingRequest, opts ...grpc.CallOption) (*ResolveSizingResponse, error) BootstrapStateBackend(ctx context.Context, in *BootstrapStateBackendRequest, opts ...grpc.CallOption) (*BootstrapStateBackendResponse, error) @@ -146,6 +148,16 @@ func (c *iaCProviderRequiredClient) Destroy(ctx context.Context, in *DestroyRequ return out, nil } +func (c *iaCProviderRequiredClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, IaCProviderRequired_Status_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *iaCProviderRequiredClient) Import(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*ImportResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ImportResponse) @@ -192,6 +204,7 @@ type IaCProviderRequiredServer interface { Plan(context.Context, *PlanRequest) (*PlanResponse, error) Apply(context.Context, *ApplyRequest) (*ApplyResponse, error) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) + Status(context.Context, *StatusRequest) (*StatusResponse, error) Import(context.Context, *ImportRequest) (*ImportResponse, error) ResolveSizing(context.Context, *ResolveSizingRequest) (*ResolveSizingResponse, error) BootstrapStateBackend(context.Context, *BootstrapStateBackendRequest) (*BootstrapStateBackendResponse, error) @@ -226,6 +239,9 @@ func (UnimplementedIaCProviderRequiredServer) Apply(context.Context, *ApplyReque func (UnimplementedIaCProviderRequiredServer) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) { return nil, status.Error(codes.Unimplemented, "method Destroy not implemented") } +func (UnimplementedIaCProviderRequiredServer) Status(context.Context, *StatusRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Status not implemented") +} func (UnimplementedIaCProviderRequiredServer) Import(context.Context, *ImportRequest) (*ImportResponse, error) { return nil, status.Error(codes.Unimplemented, "method Import not implemented") } @@ -382,6 +398,24 @@ func _IaCProviderRequired_Destroy_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _IaCProviderRequired_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IaCProviderRequiredServer).Status(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: IaCProviderRequired_Status_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IaCProviderRequiredServer).Status(ctx, req.(*StatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _IaCProviderRequired_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ImportRequest) if err := dec(in); err != nil { @@ -471,6 +505,10 @@ var IaCProviderRequired_ServiceDesc = grpc.ServiceDesc{ MethodName: "Destroy", Handler: _IaCProviderRequired_Destroy_Handler, }, + { + MethodName: "Status", + Handler: _IaCProviderRequired_Status_Handler, + }, { MethodName: "Import", Handler: _IaCProviderRequired_Import_Handler,