transformerserverv1

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Transformer_GetTransformName_FullMethodName                     = "/transformerserverv1.Transformer/GetTransformName"
	Transformer_GetConfigDefinition_FullMethodName                  = "/transformerserverv1.Transformer/GetConfigDefinition"
	Transformer_Transform_FullMethodName                            = "/transformerserverv1.Transformer/Transform"
	Transformer_ListAbstractResourceTypes_FullMethodName            = "/transformerserverv1.Transformer/ListAbstractResourceTypes"
	Transformer_ListAbstractLinkTypes_FullMethodName                = "/transformerserverv1.Transformer/ListAbstractLinkTypes"
	Transformer_ValidateLinks_FullMethodName                        = "/transformerserverv1.Transformer/ValidateLinks"
	Transformer_CustomValidateAbstractResource_FullMethodName       = "/transformerserverv1.Transformer/CustomValidateAbstractResource"
	Transformer_GetAbstractResourceSpecDefinition_FullMethodName    = "/transformerserverv1.Transformer/GetAbstractResourceSpecDefinition"
	Transformer_CanAbstractResourceLinkTo_FullMethodName            = "/transformerserverv1.Transformer/CanAbstractResourceLinkTo"
	Transformer_IsAbstractResourceCommonTerminal_FullMethodName     = "/transformerserverv1.Transformer/IsAbstractResourceCommonTerminal"
	Transformer_GetAbstractResourceType_FullMethodName              = "/transformerserverv1.Transformer/GetAbstractResourceType"
	Transformer_GetAbstractResourceTypeDescription_FullMethodName   = "/transformerserverv1.Transformer/GetAbstractResourceTypeDescription"
	Transformer_GetAbstractResourceExamples_FullMethodName          = "/transformerserverv1.Transformer/GetAbstractResourceExamples"
	Transformer_GetAbstractLinkType_FullMethodName                  = "/transformerserverv1.Transformer/GetAbstractLinkType"
	Transformer_GetAbstractLinkTypeDescription_FullMethodName       = "/transformerserverv1.Transformer/GetAbstractLinkTypeDescription"
	Transformer_GetAbstractLinkAnnotationDefinitions_FullMethodName = "/transformerserverv1.Transformer/GetAbstractLinkAnnotationDefinitions"
	Transformer_GetAbstractLinkCardinality_FullMethodName           = "/transformerserverv1.Transformer/GetAbstractLinkCardinality"
)
View Source
const (
	// The protocol version that is used during the handshake to ensure the plugin
	// is compatible with the host service.
	ProtocolVersion = "1.0"
)

Variables

View Source
var File_plugin_framework_transformerserverv1_transformer_proto protoreflect.FileDescriptor
View Source
var Transformer_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "transformerserverv1.Transformer",
	HandlerType: (*TransformerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetTransformName",
			Handler:    _Transformer_GetTransformName_Handler,
		},
		{
			MethodName: "GetConfigDefinition",
			Handler:    _Transformer_GetConfigDefinition_Handler,
		},
		{
			MethodName: "Transform",
			Handler:    _Transformer_Transform_Handler,
		},
		{
			MethodName: "ListAbstractResourceTypes",
			Handler:    _Transformer_ListAbstractResourceTypes_Handler,
		},
		{
			MethodName: "ListAbstractLinkTypes",
			Handler:    _Transformer_ListAbstractLinkTypes_Handler,
		},
		{
			MethodName: "ValidateLinks",
			Handler:    _Transformer_ValidateLinks_Handler,
		},
		{
			MethodName: "CustomValidateAbstractResource",
			Handler:    _Transformer_CustomValidateAbstractResource_Handler,
		},
		{
			MethodName: "GetAbstractResourceSpecDefinition",
			Handler:    _Transformer_GetAbstractResourceSpecDefinition_Handler,
		},
		{
			MethodName: "CanAbstractResourceLinkTo",
			Handler:    _Transformer_CanAbstractResourceLinkTo_Handler,
		},
		{
			MethodName: "IsAbstractResourceCommonTerminal",
			Handler:    _Transformer_IsAbstractResourceCommonTerminal_Handler,
		},
		{
			MethodName: "GetAbstractResourceType",
			Handler:    _Transformer_GetAbstractResourceType_Handler,
		},
		{
			MethodName: "GetAbstractResourceTypeDescription",
			Handler:    _Transformer_GetAbstractResourceTypeDescription_Handler,
		},
		{
			MethodName: "GetAbstractResourceExamples",
			Handler:    _Transformer_GetAbstractResourceExamples_Handler,
		},
		{
			MethodName: "GetAbstractLinkType",
			Handler:    _Transformer_GetAbstractLinkType_Handler,
		},
		{
			MethodName: "GetAbstractLinkTypeDescription",
			Handler:    _Transformer_GetAbstractLinkTypeDescription_Handler,
		},
		{
			MethodName: "GetAbstractLinkAnnotationDefinitions",
			Handler:    _Transformer_GetAbstractLinkAnnotationDefinitions_Handler,
		},
		{
			MethodName: "GetAbstractLinkCardinality",
			Handler:    _Transformer_GetAbstractLinkCardinality_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "plugin-framework/transformerserverv1/transformer.proto",
}

Transformer_ServiceDesc is the grpc.ServiceDesc for Transformer service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func NewServer

func NewServer(
	pluginID string,
	pluginMetadata *pluginservicev1.PluginMetadata,
	transformer TransformerServer,
	pluginServiceClient pluginservicev1.ServiceClient,
	hostInfoContainer pluginutils.HostInfoContainer,
	opts ...pluginbase.ServerOption[TransformerServer],
) *pluginbase.Server[TransformerServer]

NewServer creates a new plugin server for a transformer plugin, taking care of registration and running the server.

func RegisterTransformerServer

func RegisterTransformerServer(s grpc.ServiceRegistrar, srv TransformerServer)

func WrapTransformerClient

func WrapTransformerClient(client TransformerClient, hostID string) transform.SpecTransformer

WrapTransformerClient wraps a transformer plugin v1 TransformerClient in a blueprint framework SpecTransformer to allow the deploy engine to interact with the transformer in a way that is compatible with the blueprint framework and is agnostic to the underlying communication protocol.

func WrapTransformerWithDerivedCanLinkTo added in v0.5.0

func WrapTransformerWithDerivedCanLinkTo(
	t transform.SpecTransformer,
) transform.SpecTransformer

WrapTransformerWithDerivedCanLinkTo wraps a transformer to automatically derive ResourceCanLinkTo from abstract link types defined for a given transformer. This eliminates the need for plugin developers to manually maintain ResourceCanLinkTo lists.

Types

type AbstractLinkType added in v0.5.0

type AbstractLinkType struct {
	LinkType string `protobuf:"bytes,1,opt,name=link_type,json=linkType" json:"link_type,omitempty"`
	// contains filtered or unexported fields
}

AbstractLinkType holds the type of an abstract link in a blueprint spec.

func (*AbstractLinkType) Descriptor deprecated added in v0.5.0

func (*AbstractLinkType) Descriptor() ([]byte, []int)

Deprecated: Use AbstractLinkType.ProtoReflect.Descriptor instead.

func (*AbstractLinkType) GetLinkType added in v0.5.0

func (x *AbstractLinkType) GetLinkType() string

func (*AbstractLinkType) ProtoMessage added in v0.5.0

func (*AbstractLinkType) ProtoMessage()

func (*AbstractLinkType) ProtoReflect added in v0.5.0

func (x *AbstractLinkType) ProtoReflect() protoreflect.Message

func (*AbstractLinkType) Reset added in v0.5.0

func (x *AbstractLinkType) Reset()

func (*AbstractLinkType) String added in v0.5.0

func (x *AbstractLinkType) String() string

type AbstractLinkTypes added in v0.5.0

type AbstractLinkTypes struct {
	LinkTypes []string `protobuf:"bytes,1,rep,name=link_types,json=linkTypes" json:"link_types,omitempty"`
	// contains filtered or unexported fields
}

AbstractLinkTypes holds a list of link types that are implemented by the transformer.

func (*AbstractLinkTypes) Descriptor deprecated added in v0.5.0

func (*AbstractLinkTypes) Descriptor() ([]byte, []int)

Deprecated: Use AbstractLinkTypes.ProtoReflect.Descriptor instead.

func (*AbstractLinkTypes) GetLinkTypes added in v0.5.0

func (x *AbstractLinkTypes) GetLinkTypes() []string

func (*AbstractLinkTypes) ProtoMessage added in v0.5.0

func (*AbstractLinkTypes) ProtoMessage()

func (*AbstractLinkTypes) ProtoReflect added in v0.5.0

func (x *AbstractLinkTypes) ProtoReflect() protoreflect.Message

func (*AbstractLinkTypes) Reset added in v0.5.0

func (x *AbstractLinkTypes) Reset()

func (*AbstractLinkTypes) String added in v0.5.0

func (x *AbstractLinkTypes) String() string

type AbstractLinkTypesResponse added in v0.5.0

type AbstractLinkTypesResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*AbstractLinkTypesResponse_LinkTypes
	//	*AbstractLinkTypesResponse_ErrorResponse
	Response isAbstractLinkTypesResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

AbstractLinkTypesResponse contains the response for requesting a list of all the abstract link types that are implemented by the transformer.

func (*AbstractLinkTypesResponse) Descriptor deprecated added in v0.5.0

func (*AbstractLinkTypesResponse) Descriptor() ([]byte, []int)

Deprecated: Use AbstractLinkTypesResponse.ProtoReflect.Descriptor instead.

func (*AbstractLinkTypesResponse) GetErrorResponse added in v0.5.0

func (x *AbstractLinkTypesResponse) GetErrorResponse() *sharedtypesv1.ErrorResponse

func (*AbstractLinkTypesResponse) GetLinkTypes added in v0.5.0

func (x *AbstractLinkTypesResponse) GetLinkTypes() *AbstractLinkTypes

func (*AbstractLinkTypesResponse) GetResponse added in v0.5.0

func (x *AbstractLinkTypesResponse) GetResponse() isAbstractLinkTypesResponse_Response

func (*AbstractLinkTypesResponse) ProtoMessage added in v0.5.0

func (*AbstractLinkTypesResponse) ProtoMessage()

func (*AbstractLinkTypesResponse) ProtoReflect added in v0.5.0

func (*AbstractLinkTypesResponse) Reset added in v0.5.0

func (x *AbstractLinkTypesResponse) Reset()

func (*AbstractLinkTypesResponse) String added in v0.5.0

func (x *AbstractLinkTypesResponse) String() string

type AbstractLinkTypesResponse_ErrorResponse added in v0.5.0

type AbstractLinkTypesResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type AbstractLinkTypesResponse_LinkTypes added in v0.5.0

type AbstractLinkTypesResponse_LinkTypes struct {
	LinkTypes *AbstractLinkTypes `protobuf:"bytes,1,opt,name=link_types,json=linkTypes,oneof"`
}

type AbstractResourceRequest

type AbstractResourceRequest struct {

	// The type of resource to carry out an action on or retrieve
	// some information about.
	AbstractResourceType *sharedtypesv1.ResourceType `protobuf:"bytes,1,opt,name=abstract_resource_type,json=abstractResourceType" json:"abstract_resource_type,omitempty"`
	// The ID of the host making the request
	// to the transformer.
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// Runtime configuration for the current environment
	// specific to the current transformer.
	Context *TransformerContext `protobuf:"bytes,3,opt,name=context" json:"context,omitempty"`
	// contains filtered or unexported fields
}

AbstractResourceRequest is the request input for general abstract resource type requests that only require a resource type and the current context.

func (*AbstractResourceRequest) Descriptor deprecated

func (*AbstractResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use AbstractResourceRequest.ProtoReflect.Descriptor instead.

func (*AbstractResourceRequest) GetAbstractResourceType

func (x *AbstractResourceRequest) GetAbstractResourceType() *sharedtypesv1.ResourceType

func (*AbstractResourceRequest) GetContext

func (*AbstractResourceRequest) GetHostId

func (x *AbstractResourceRequest) GetHostId() string

func (*AbstractResourceRequest) ProtoMessage

func (*AbstractResourceRequest) ProtoMessage()

func (*AbstractResourceRequest) ProtoReflect

func (x *AbstractResourceRequest) ProtoReflect() protoreflect.Message

func (*AbstractResourceRequest) Reset

func (x *AbstractResourceRequest) Reset()

func (*AbstractResourceRequest) String

func (x *AbstractResourceRequest) String() string

type AbstractResourceSpecDefinitionResponse

type AbstractResourceSpecDefinitionResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*AbstractResourceSpecDefinitionResponse_SpecDefinition
	//	*AbstractResourceSpecDefinitionResponse_ErrorResponse
	Response isAbstractResourceSpecDefinitionResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

AbstractResourceSpecDefinitionResponse is the response containing the spec definition for a given abstract resource type.

func (*AbstractResourceSpecDefinitionResponse) Descriptor deprecated

func (*AbstractResourceSpecDefinitionResponse) Descriptor() ([]byte, []int)

Deprecated: Use AbstractResourceSpecDefinitionResponse.ProtoReflect.Descriptor instead.

func (*AbstractResourceSpecDefinitionResponse) GetErrorResponse

func (*AbstractResourceSpecDefinitionResponse) GetResponse

func (x *AbstractResourceSpecDefinitionResponse) GetResponse() isAbstractResourceSpecDefinitionResponse_Response

func (*AbstractResourceSpecDefinitionResponse) GetSpecDefinition

func (*AbstractResourceSpecDefinitionResponse) ProtoMessage

func (*AbstractResourceSpecDefinitionResponse) ProtoReflect

func (*AbstractResourceSpecDefinitionResponse) Reset

func (*AbstractResourceSpecDefinitionResponse) String

type AbstractResourceSpecDefinitionResponse_ErrorResponse

type AbstractResourceSpecDefinitionResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type AbstractResourceSpecDefinitionResponse_SpecDefinition

type AbstractResourceSpecDefinitionResponse_SpecDefinition struct {
	SpecDefinition *sharedtypesv1.ResourceSpecDefinition `protobuf:"bytes,1,opt,name=spec_definition,json=specDefinition,oneof"`
}

type AbstractResourceTypes

type AbstractResourceTypes struct {
	ResourceTypes []*sharedtypesv1.ResourceType `protobuf:"bytes,1,rep,name=resource_types,json=resourceTypes" json:"resource_types,omitempty"`
	// contains filtered or unexported fields
}

AbstractResourceTypes holds a list of resource types that are implemented by the transformer.

func (*AbstractResourceTypes) Descriptor deprecated

func (*AbstractResourceTypes) Descriptor() ([]byte, []int)

Deprecated: Use AbstractResourceTypes.ProtoReflect.Descriptor instead.

func (*AbstractResourceTypes) GetResourceTypes

func (x *AbstractResourceTypes) GetResourceTypes() []*sharedtypesv1.ResourceType

func (*AbstractResourceTypes) ProtoMessage

func (*AbstractResourceTypes) ProtoMessage()

func (*AbstractResourceTypes) ProtoReflect

func (x *AbstractResourceTypes) ProtoReflect() protoreflect.Message

func (*AbstractResourceTypes) Reset

func (x *AbstractResourceTypes) Reset()

func (*AbstractResourceTypes) String

func (x *AbstractResourceTypes) String() string

type AbstractResourceTypesResponse

type AbstractResourceTypesResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*AbstractResourceTypesResponse_AbstractResourceTypes
	//	*AbstractResourceTypesResponse_ErrorResponse
	Response isAbstractResourceTypesResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

AbstractResourceTypesResponse contains the response for requesting a list of all the abstract resource types that are implemented by the transformer.

func (*AbstractResourceTypesResponse) Descriptor deprecated

func (*AbstractResourceTypesResponse) Descriptor() ([]byte, []int)

Deprecated: Use AbstractResourceTypesResponse.ProtoReflect.Descriptor instead.

func (*AbstractResourceTypesResponse) GetAbstractResourceTypes

func (x *AbstractResourceTypesResponse) GetAbstractResourceTypes() *AbstractResourceTypes

func (*AbstractResourceTypesResponse) GetErrorResponse

func (*AbstractResourceTypesResponse) GetResponse

func (x *AbstractResourceTypesResponse) GetResponse() isAbstractResourceTypesResponse_Response

func (*AbstractResourceTypesResponse) ProtoMessage

func (*AbstractResourceTypesResponse) ProtoMessage()

func (*AbstractResourceTypesResponse) ProtoReflect

func (*AbstractResourceTypesResponse) Reset

func (x *AbstractResourceTypesResponse) Reset()

func (*AbstractResourceTypesResponse) String

type AbstractResourceTypesResponse_AbstractResourceTypes

type AbstractResourceTypesResponse_AbstractResourceTypes struct {
	AbstractResourceTypes *AbstractResourceTypes `protobuf:"bytes,1,opt,name=abstract_resource_types,json=abstractResourceTypes,oneof"`
}

type AbstractResourceTypesResponse_ErrorResponse

type AbstractResourceTypesResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type BlueprintTransformRequest

type BlueprintTransformRequest struct {

	// The blueprint that should be transformed.
	InputBlueprint *schemapb.Blueprint `protobuf:"bytes,1,opt,name=input_blueprint,json=inputBlueprint" json:"input_blueprint,omitempty"`
	// The ID of the host making the request
	// to the transformer.
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// Runtime configuration for the current environment
	// specific to the current transformer.
	Context *TransformerContext `protobuf:"bytes,3,opt,name=context" json:"context,omitempty"`
	// contains filtered or unexported fields
}

BlueprintTransformRequest is the request for transforming a blueprint.

func (*BlueprintTransformRequest) Descriptor deprecated

func (*BlueprintTransformRequest) Descriptor() ([]byte, []int)

Deprecated: Use BlueprintTransformRequest.ProtoReflect.Descriptor instead.

func (*BlueprintTransformRequest) GetContext

func (*BlueprintTransformRequest) GetHostId

func (x *BlueprintTransformRequest) GetHostId() string

func (*BlueprintTransformRequest) GetInputBlueprint

func (x *BlueprintTransformRequest) GetInputBlueprint() *schemapb.Blueprint

func (*BlueprintTransformRequest) ProtoMessage

func (*BlueprintTransformRequest) ProtoMessage()

func (*BlueprintTransformRequest) ProtoReflect

func (*BlueprintTransformRequest) Reset

func (x *BlueprintTransformRequest) Reset()

func (*BlueprintTransformRequest) String

func (x *BlueprintTransformRequest) String() string

type BlueprintTransformResponse

type BlueprintTransformResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*BlueprintTransformResponse_TransformedBlueprint
	//	*BlueprintTransformResponse_ErrorResponse
	Response isBlueprintTransformResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

BlueprintTransformResponse is the response for transforming a blueprint.

func (*BlueprintTransformResponse) Descriptor deprecated

func (*BlueprintTransformResponse) Descriptor() ([]byte, []int)

Deprecated: Use BlueprintTransformResponse.ProtoReflect.Descriptor instead.

func (*BlueprintTransformResponse) GetErrorResponse

func (*BlueprintTransformResponse) GetResponse

func (x *BlueprintTransformResponse) GetResponse() isBlueprintTransformResponse_Response

func (*BlueprintTransformResponse) GetTransformedBlueprint

func (x *BlueprintTransformResponse) GetTransformedBlueprint() *schemapb.Blueprint

func (*BlueprintTransformResponse) ProtoMessage

func (*BlueprintTransformResponse) ProtoMessage()

func (*BlueprintTransformResponse) ProtoReflect

func (*BlueprintTransformResponse) Reset

func (x *BlueprintTransformResponse) Reset()

func (*BlueprintTransformResponse) String

func (x *BlueprintTransformResponse) String() string

type BlueprintTransformResponse_ErrorResponse

type BlueprintTransformResponse_ErrorResponse struct {
	// An error response if the transformation failed.
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type BlueprintTransformResponse_TransformedBlueprint

type BlueprintTransformResponse_TransformedBlueprint struct {
	// The transformed blueprint.
	TransformedBlueprint *schemapb.Blueprint `protobuf:"bytes,1,opt,name=transformed_blueprint,json=transformedBlueprint,oneof"`
}

type CanAbstractResourceLinkToResponse

type CanAbstractResourceLinkToResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*CanAbstractResourceLinkToResponse_ResourceTypes
	//	*CanAbstractResourceLinkToResponse_ErrorResponse
	Response isCanAbstractResourceLinkToResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

CanAbstractResourceLinkToResponse is the response for a request to get all the resource types that a given abstract resource type can link to.

func (*CanAbstractResourceLinkToResponse) Descriptor deprecated

func (*CanAbstractResourceLinkToResponse) Descriptor() ([]byte, []int)

Deprecated: Use CanAbstractResourceLinkToResponse.ProtoReflect.Descriptor instead.

func (*CanAbstractResourceLinkToResponse) GetErrorResponse

func (*CanAbstractResourceLinkToResponse) GetResourceTypes

func (*CanAbstractResourceLinkToResponse) GetResponse

func (x *CanAbstractResourceLinkToResponse) GetResponse() isCanAbstractResourceLinkToResponse_Response

func (*CanAbstractResourceLinkToResponse) ProtoMessage

func (*CanAbstractResourceLinkToResponse) ProtoMessage()

func (*CanAbstractResourceLinkToResponse) ProtoReflect

func (*CanAbstractResourceLinkToResponse) Reset

func (*CanAbstractResourceLinkToResponse) String

type CanAbstractResourceLinkToResponse_ErrorResponse

type CanAbstractResourceLinkToResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type CanAbstractResourceLinkToResponse_ResourceTypes

type CanAbstractResourceLinkToResponse_ResourceTypes struct {
	ResourceTypes *sharedtypesv1.CanLinkTo `protobuf:"bytes,1,opt,name=resource_types,json=resourceTypes,oneof"`
}

type CustomValidateAbstractResourceCompleteResponse

type CustomValidateAbstractResourceCompleteResponse struct {
	Diagnostics []*sharedtypesv1.Diagnostic `protobuf:"bytes,1,rep,name=diagnostics" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

CustomValidateAbstractResourceCompleteResponse is the response returned by the transformer plugin when custom resource validation has been completed.

func (*CustomValidateAbstractResourceCompleteResponse) Descriptor deprecated

Deprecated: Use CustomValidateAbstractResourceCompleteResponse.ProtoReflect.Descriptor instead.

func (*CustomValidateAbstractResourceCompleteResponse) GetDiagnostics

func (*CustomValidateAbstractResourceCompleteResponse) ProtoMessage

func (*CustomValidateAbstractResourceCompleteResponse) ProtoReflect

func (*CustomValidateAbstractResourceCompleteResponse) Reset

func (*CustomValidateAbstractResourceCompleteResponse) String

type CustomValidateAbstractResourceRequest

type CustomValidateAbstractResourceRequest struct {

	// The type of resource being validate.
	AbstractResourceType *sharedtypesv1.ResourceType `protobuf:"bytes,1,opt,name=abstract_resource_type,json=abstractResourceType" json:"abstract_resource_type,omitempty"`
	// The ID of the host making the request
	// to the transformer.
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// The resource schema as parsed within a blueprint.
	SchemaResource *schemapb.Resource `protobuf:"bytes,3,opt,name=schema_resource,json=schemaResource" json:"schema_resource,omitempty"`
	// Runtime configuration for the current environment
	// specific to the current transformer.
	Context *TransformerContext `protobuf:"bytes,4,opt,name=context" json:"context,omitempty"`
	// contains filtered or unexported fields
}

CustomValidateAbstractResourceRequest is the request for custom abstract resource validation.

func (*CustomValidateAbstractResourceRequest) Descriptor deprecated

func (*CustomValidateAbstractResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use CustomValidateAbstractResourceRequest.ProtoReflect.Descriptor instead.

func (*CustomValidateAbstractResourceRequest) GetAbstractResourceType

func (*CustomValidateAbstractResourceRequest) GetContext

func (*CustomValidateAbstractResourceRequest) GetHostId

func (*CustomValidateAbstractResourceRequest) GetSchemaResource

func (*CustomValidateAbstractResourceRequest) ProtoMessage

func (*CustomValidateAbstractResourceRequest) ProtoMessage()

func (*CustomValidateAbstractResourceRequest) ProtoReflect

func (*CustomValidateAbstractResourceRequest) Reset

func (*CustomValidateAbstractResourceRequest) String

type CustomValidateAbstractResourceResponse

type CustomValidateAbstractResourceResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*CustomValidateAbstractResourceResponse_CompleteResponse
	//	*CustomValidateAbstractResourceResponse_ErrorResponse
	Response isCustomValidateAbstractResourceResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

CustomValidateAbstractResourceResponse is the response for custom abstract resource validation, can be a validation complete response or an error response.

func (*CustomValidateAbstractResourceResponse) Descriptor deprecated

func (*CustomValidateAbstractResourceResponse) Descriptor() ([]byte, []int)

Deprecated: Use CustomValidateAbstractResourceResponse.ProtoReflect.Descriptor instead.

func (*CustomValidateAbstractResourceResponse) GetCompleteResponse

func (*CustomValidateAbstractResourceResponse) GetErrorResponse

func (*CustomValidateAbstractResourceResponse) GetResponse

func (x *CustomValidateAbstractResourceResponse) GetResponse() isCustomValidateAbstractResourceResponse_Response

func (*CustomValidateAbstractResourceResponse) ProtoMessage

func (*CustomValidateAbstractResourceResponse) ProtoReflect

func (*CustomValidateAbstractResourceResponse) Reset

func (*CustomValidateAbstractResourceResponse) String

type CustomValidateAbstractResourceResponse_CompleteResponse

type CustomValidateAbstractResourceResponse_CompleteResponse struct {
	CompleteResponse *CustomValidateAbstractResourceCompleteResponse `protobuf:"bytes,1,opt,name=complete_response,json=completeResponse,oneof"`
}

type CustomValidateAbstractResourceResponse_ErrorResponse

type CustomValidateAbstractResourceResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type DeclaredLinkGraph added in v0.5.0

type DeclaredLinkGraph struct {

	// All edges in the graph.
	Edges []*ResolvedLink `protobuf:"bytes,1,rep,name=edges" json:"edges,omitempty"`
	// Resources in the graph, keyed by resource name.
	Resources map[string]*DeclaredLinkGraphEntry `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

DeclaredLinkGraph represents a serialised view of the declared link graph that can be sent to a transformer plugin for link validation.

func (*DeclaredLinkGraph) Descriptor deprecated added in v0.5.0

func (*DeclaredLinkGraph) Descriptor() ([]byte, []int)

Deprecated: Use DeclaredLinkGraph.ProtoReflect.Descriptor instead.

func (*DeclaredLinkGraph) GetEdges added in v0.5.0

func (x *DeclaredLinkGraph) GetEdges() []*ResolvedLink

func (*DeclaredLinkGraph) GetResources added in v0.5.0

func (x *DeclaredLinkGraph) GetResources() map[string]*DeclaredLinkGraphEntry

func (*DeclaredLinkGraph) ProtoMessage added in v0.5.0

func (*DeclaredLinkGraph) ProtoMessage()

func (*DeclaredLinkGraph) ProtoReflect added in v0.5.0

func (x *DeclaredLinkGraph) ProtoReflect() protoreflect.Message

func (*DeclaredLinkGraph) Reset added in v0.5.0

func (x *DeclaredLinkGraph) Reset()

func (*DeclaredLinkGraph) String added in v0.5.0

func (x *DeclaredLinkGraph) String() string

type DeclaredLinkGraphEntry added in v0.5.0

type DeclaredLinkGraphEntry struct {

	// The resource schema.
	Resource *schemapb.Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
	// The classification of the resource ("concrete" or "abstract").
	ResourceClass string `protobuf:"bytes,2,opt,name=resource_class,json=resourceClass" json:"resource_class,omitempty"`
	// contains filtered or unexported fields
}

DeclaredLinkGraphEntry represents a resource entry in the declared link graph.

func (*DeclaredLinkGraphEntry) Descriptor deprecated added in v0.5.0

func (*DeclaredLinkGraphEntry) Descriptor() ([]byte, []int)

Deprecated: Use DeclaredLinkGraphEntry.ProtoReflect.Descriptor instead.

func (*DeclaredLinkGraphEntry) GetResource added in v0.5.0

func (x *DeclaredLinkGraphEntry) GetResource() *schemapb.Resource

func (*DeclaredLinkGraphEntry) GetResourceClass added in v0.5.0

func (x *DeclaredLinkGraphEntry) GetResourceClass() string

func (*DeclaredLinkGraphEntry) ProtoMessage added in v0.5.0

func (*DeclaredLinkGraphEntry) ProtoMessage()

func (*DeclaredLinkGraphEntry) ProtoReflect added in v0.5.0

func (x *DeclaredLinkGraphEntry) ProtoReflect() protoreflect.Message

func (*DeclaredLinkGraphEntry) Reset added in v0.5.0

func (x *DeclaredLinkGraphEntry) Reset()

func (*DeclaredLinkGraphEntry) String added in v0.5.0

func (x *DeclaredLinkGraphEntry) String() string

type GetAbstractLinkTypeRequest added in v0.5.0

type GetAbstractLinkTypeRequest struct {

	// The type of link to get the abstract link type for.
	LinkType string `protobuf:"bytes,1,opt,name=link_type,json=linkType" json:"link_type,omitempty"`
	// The ID of the host making the request
	// to the transformer.
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// Runtime configuration for the current environment
	// specific to the current transformer.
	Context *TransformerContext `protobuf:"bytes,3,opt,name=context" json:"context,omitempty"`
	// contains filtered or unexported fields
}

GetAbstractLinkTypeResponse is the response for requesting the type of an abstract link in a blueprint spec.

func (*GetAbstractLinkTypeRequest) Descriptor deprecated added in v0.5.0

func (*GetAbstractLinkTypeRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetAbstractLinkTypeRequest.ProtoReflect.Descriptor instead.

func (*GetAbstractLinkTypeRequest) GetContext added in v0.5.0

func (*GetAbstractLinkTypeRequest) GetHostId added in v0.5.0

func (x *GetAbstractLinkTypeRequest) GetHostId() string

func (*GetAbstractLinkTypeRequest) GetLinkType added in v0.5.0

func (x *GetAbstractLinkTypeRequest) GetLinkType() string

func (*GetAbstractLinkTypeRequest) ProtoMessage added in v0.5.0

func (*GetAbstractLinkTypeRequest) ProtoMessage()

func (*GetAbstractLinkTypeRequest) ProtoReflect added in v0.5.0

func (*GetAbstractLinkTypeRequest) Reset added in v0.5.0

func (x *GetAbstractLinkTypeRequest) Reset()

func (*GetAbstractLinkTypeRequest) String added in v0.5.0

func (x *GetAbstractLinkTypeRequest) String() string

type GetAbstractLinkTypeResponse added in v0.5.0

type GetAbstractLinkTypeResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*GetAbstractLinkTypeResponse_LinkType
	//	*GetAbstractLinkTypeResponse_ErrorResponse
	Response isGetAbstractLinkTypeResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

GetAbstractLinkTypeResponse is the response for requesting the type of an abstract link in a blueprint spec.

func (*GetAbstractLinkTypeResponse) Descriptor deprecated added in v0.5.0

func (*GetAbstractLinkTypeResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetAbstractLinkTypeResponse.ProtoReflect.Descriptor instead.

func (*GetAbstractLinkTypeResponse) GetErrorResponse added in v0.5.0

func (*GetAbstractLinkTypeResponse) GetLinkType added in v0.5.0

func (*GetAbstractLinkTypeResponse) GetResponse added in v0.5.0

func (x *GetAbstractLinkTypeResponse) GetResponse() isGetAbstractLinkTypeResponse_Response

func (*GetAbstractLinkTypeResponse) ProtoMessage added in v0.5.0

func (*GetAbstractLinkTypeResponse) ProtoMessage()

func (*GetAbstractLinkTypeResponse) ProtoReflect added in v0.5.0

func (*GetAbstractLinkTypeResponse) Reset added in v0.5.0

func (x *GetAbstractLinkTypeResponse) Reset()

func (*GetAbstractLinkTypeResponse) String added in v0.5.0

func (x *GetAbstractLinkTypeResponse) String() string

type GetAbstractLinkTypeResponse_ErrorResponse added in v0.5.0

type GetAbstractLinkTypeResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type GetAbstractLinkTypeResponse_LinkType added in v0.5.0

type GetAbstractLinkTypeResponse_LinkType struct {
	LinkType *AbstractLinkType `protobuf:"bytes,1,opt,name=link_type,json=linkType,oneof"`
}

type IsAbstractResourceCommonTerminalResponse

type IsAbstractResourceCommonTerminalResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*IsAbstractResourceCommonTerminalResponse_Data
	//	*IsAbstractResourceCommonTerminalResponse_ErrorResponse
	Response isIsAbstractResourceCommonTerminalResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

IsAbstractResourceCommonTerminalResponse is the response for a request to check if a given abstract resource type is expected to have a common use-case as a terminal resource.

func (*IsAbstractResourceCommonTerminalResponse) Descriptor deprecated

func (*IsAbstractResourceCommonTerminalResponse) Descriptor() ([]byte, []int)

Deprecated: Use IsAbstractResourceCommonTerminalResponse.ProtoReflect.Descriptor instead.

func (*IsAbstractResourceCommonTerminalResponse) GetData

func (*IsAbstractResourceCommonTerminalResponse) GetErrorResponse

func (*IsAbstractResourceCommonTerminalResponse) GetResponse

func (x *IsAbstractResourceCommonTerminalResponse) GetResponse() isIsAbstractResourceCommonTerminalResponse_Response

func (*IsAbstractResourceCommonTerminalResponse) ProtoMessage

func (*IsAbstractResourceCommonTerminalResponse) ProtoReflect

func (*IsAbstractResourceCommonTerminalResponse) Reset

func (*IsAbstractResourceCommonTerminalResponse) String

type IsAbstractResourceCommonTerminalResponse_Data

type IsAbstractResourceCommonTerminalResponse_Data struct {
	Data *sharedtypesv1.ResourceCommonTerminalInfo `protobuf:"bytes,1,opt,name=data,oneof"`
}

type IsAbstractResourceCommonTerminalResponse_ErrorResponse

type IsAbstractResourceCommonTerminalResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}
type ResolvedLink struct {

	// The source resource name.
	Source string `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
	// The target resource name.
	Target string `protobuf:"bytes,2,opt,name=target" json:"target,omitempty"`
	// The source resource type.
	SourceType string `protobuf:"bytes,3,opt,name=source_type,json=sourceType" json:"source_type,omitempty"`
	// The target resource type.
	TargetType string `protobuf:"bytes,4,opt,name=target_type,json=targetType" json:"target_type,omitempty"`
	// The label keys that matched.
	// In the form "label::<key>:<value>" as per the selector keys
	// generated by GroupResourcesBySelector.
	SelectorKeys []string `protobuf:"bytes,5,rep,name=selector_keys,json=selectorKeys" json:"selector_keys,omitempty"`
	// contains filtered or unexported fields
}

ResolvedLink represents a link edge between two resources in the declared link graph.

func (*ResolvedLink) Descriptor deprecated added in v0.5.0

func (*ResolvedLink) Descriptor() ([]byte, []int)

Deprecated: Use ResolvedLink.ProtoReflect.Descriptor instead.

func (*ResolvedLink) GetSelectorKeys added in v0.5.0

func (x *ResolvedLink) GetSelectorKeys() []string

func (*ResolvedLink) GetSource added in v0.5.0

func (x *ResolvedLink) GetSource() string

func (*ResolvedLink) GetSourceType added in v0.5.0

func (x *ResolvedLink) GetSourceType() string

func (*ResolvedLink) GetTarget added in v0.5.0

func (x *ResolvedLink) GetTarget() string

func (*ResolvedLink) GetTargetType added in v0.5.0

func (x *ResolvedLink) GetTargetType() string

func (*ResolvedLink) ProtoMessage added in v0.5.0

func (*ResolvedLink) ProtoMessage()

func (*ResolvedLink) ProtoReflect added in v0.5.0

func (x *ResolvedLink) ProtoReflect() protoreflect.Message

func (*ResolvedLink) Reset added in v0.5.0

func (x *ResolvedLink) Reset()

func (*ResolvedLink) String added in v0.5.0

func (x *ResolvedLink) String() string

type TransformNameInfo

type TransformNameInfo struct {
	TransformName string `protobuf:"bytes,1,opt,name=transform_name,json=transformName" json:"transform_name,omitempty"`
	// contains filtered or unexported fields
}

TransformNameInfo holds the name that is used in a blueprint to identify the transformer plugin.

func (*TransformNameInfo) Descriptor deprecated

func (*TransformNameInfo) Descriptor() ([]byte, []int)

Deprecated: Use TransformNameInfo.ProtoReflect.Descriptor instead.

func (*TransformNameInfo) GetTransformName

func (x *TransformNameInfo) GetTransformName() string

func (*TransformNameInfo) ProtoMessage

func (*TransformNameInfo) ProtoMessage()

func (*TransformNameInfo) ProtoReflect

func (x *TransformNameInfo) ProtoReflect() protoreflect.Message

func (*TransformNameInfo) Reset

func (x *TransformNameInfo) Reset()

func (*TransformNameInfo) String

func (x *TransformNameInfo) String() string

type TransformNameResponse

type TransformNameResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*TransformNameResponse_NameInfo
	//	*TransformNameResponse_ErrorResponse
	Response isTransformNameResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

TransformNameResponse is the response for requesting the transform name that is the string that is used in a blueprint to identify the transformer plugin.

func (*TransformNameResponse) Descriptor deprecated

func (*TransformNameResponse) Descriptor() ([]byte, []int)

Deprecated: Use TransformNameResponse.ProtoReflect.Descriptor instead.

func (*TransformNameResponse) GetErrorResponse

func (x *TransformNameResponse) GetErrorResponse() *sharedtypesv1.ErrorResponse

func (*TransformNameResponse) GetNameInfo

func (x *TransformNameResponse) GetNameInfo() *TransformNameInfo

func (*TransformNameResponse) GetResponse

func (x *TransformNameResponse) GetResponse() isTransformNameResponse_Response

func (*TransformNameResponse) ProtoMessage

func (*TransformNameResponse) ProtoMessage()

func (*TransformNameResponse) ProtoReflect

func (x *TransformNameResponse) ProtoReflect() protoreflect.Message

func (*TransformNameResponse) Reset

func (x *TransformNameResponse) Reset()

func (*TransformNameResponse) String

func (x *TransformNameResponse) String() string

type TransformNameResponse_ErrorResponse

type TransformNameResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

type TransformNameResponse_NameInfo

type TransformNameResponse_NameInfo struct {
	NameInfo *TransformNameInfo `protobuf:"bytes,1,opt,name=name_info,json=nameInfo,oneof"`
}

type TransformerClient

type TransformerClient interface {
	// GetTransformName returns the transform name of the transformer
	// that should be used in the `transform` section of a blueprint
	// to use this transformer plugin.
	GetTransformName(ctx context.Context, in *TransformerRequest, opts ...grpc.CallOption) (*TransformNameResponse, error)
	// ConfigDefinition retrieves a detailed definition of the configuration
	// that is required for the transformer.
	GetConfigDefinition(ctx context.Context, in *TransformerRequest, opts ...grpc.CallOption) (*sharedtypesv1.ConfigDefinitionResponse, error)
	// Transform a blueprint by expanding abstract resources into their
	// final form along with any other transformations that are required.
	Transform(ctx context.Context, in *BlueprintTransformRequest, opts ...grpc.CallOption) (*BlueprintTransformResponse, error)
	// ListAbstractResourceTypes returns a list of abstract resource types
	// that are supported by the transformer.
	ListAbstractResourceTypes(ctx context.Context, in *TransformerRequest, opts ...grpc.CallOption) (*AbstractResourceTypesResponse, error)
	// ListAbstractLinkTypes returns a list of abstract link types
	// that are supported by the transformer.
	ListAbstractLinkTypes(ctx context.Context, in *TransformerRequest, opts ...grpc.CallOption) (*AbstractLinkTypesResponse, error)
	// ValidateLinks validates links between abstract resources in a blueprint
	// prior to transformation. This is important for catching and surfacing issues
	// to users before transformation instead of having to wait to deal with more
	// obscure errors that pertain to concrete resources after transformation.
	ValidateLinks(ctx context.Context, in *ValidateLinksRequest, opts ...grpc.CallOption) (*ValidateLinksResponse, error)
	// CustomValidateAbstractResource deals with carrying out custom validation for
	// an abstract resource that goes beyond the built-in resource spec validation.
	CustomValidateAbstractResource(ctx context.Context, in *CustomValidateAbstractResourceRequest, opts ...grpc.CallOption) (*CustomValidateAbstractResourceResponse, error)
	// GetAbstractResourceSpecDefinition retrieves the spec definition for an abstract resource,
	// this is used as the first line of validation for a resource in a blueprint
	// and is also useful for validating references to a resource instance
	// in a blueprint and for providing definitions for docs and tooling.
	// The spec defines both the schema for the resource spec fields that can be defined
	// by users in a blueprint and computed fields that are derived from the deployed
	// resource in the external provider (e.g. Lambda ARN in AWS).
	GetAbstractResourceSpecDefinition(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*AbstractResourceSpecDefinitionResponse, error)
	// CanAbstractResourceLinkTo produces a list of all the resource types
	// that the given abstract resource type can link to.
	CanAbstractResourceLinkTo(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*CanAbstractResourceLinkToResponse, error)
	// IsAbstractResourceCommonTerminal specifies whether the given abstract resource type is expected
	// to have a common use-case as a terminal resource that does not link out to other resources.
	// This is useful for providing warnings to users about their blueprints
	// without overloading them with warnings for all resources that don't have any outbound
	// links that could have.
	IsAbstractResourceCommonTerminal(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*IsAbstractResourceCommonTerminalResponse, error)
	// GetAbstractResourceType retrieves the type of an abstract resource in a blueprint spec
	// that can be used for documentation and tooling.
	// This allows callers to get a human-readable label for the already known
	// resource type.
	GetAbstractResourceType(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*sharedtypesv1.ResourceTypeResponse, error)
	// GetAbstractResourceTypeDescription retrieves the description for an abstract resource type
	// in a blueprint spec that can be used for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractResourceTypeDescription(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*sharedtypesv1.TypeDescriptionResponse, error)
	// GetAbstractResourceExamples deals with retrieving a list of examples
	// for an abstract resource type in a blueprint spec that can be used
	// for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractResourceExamples(ctx context.Context, in *AbstractResourceRequest, opts ...grpc.CallOption) (*sharedtypesv1.ExamplesResponse, error)
	// GetAbstractLinkType retrieves the type of an abstract link in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkType(ctx context.Context, in *GetAbstractLinkTypeRequest, opts ...grpc.CallOption) (*GetAbstractLinkTypeResponse, error)
	// GetAbstractLinkTypeDescription retrieves the description for an abstract link type
	// in a blueprint spec that can be used for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractLinkTypeDescription(ctx context.Context, in *GetAbstractLinkTypeRequest, opts ...grpc.CallOption) (*sharedtypesv1.TypeDescriptionResponse, error)
	// GetAbstractLinkAnnotationDefinitions retrieves the annotation definitions for an abstract link type in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkAnnotationDefinitions(ctx context.Context, in *GetAbstractLinkTypeRequest, opts ...grpc.CallOption) (*sharedtypesv1.LinkAnnotationDefinitionsResponse, error)
	// GetAbstractLinkCardinality retrieves the cardinality for an abstract link type in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkCardinality(ctx context.Context, in *GetAbstractLinkTypeRequest, opts ...grpc.CallOption) (*sharedtypesv1.LinkCardinalityResponse, error)
}

TransformerClient is the client API for Transformer 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.

Interface exported by a tranformer plugin server.

type TransformerContext

type TransformerContext struct {

	// Configuration parameters specifically for the transformer.
	TransformerConfigVariables map[string]*schemapb.ScalarValue `` /* 208-byte string literal not displayed */
	// Context-wide variables for the current deploy engine run.
	ContextVariables map[string]*schemapb.ScalarValue `` /* 176-byte string literal not displayed */
	// contains filtered or unexported fields
}

TransformerContext holds the environment configuration for the current transformer.

func (*TransformerContext) Descriptor deprecated

func (*TransformerContext) Descriptor() ([]byte, []int)

Deprecated: Use TransformerContext.ProtoReflect.Descriptor instead.

func (*TransformerContext) GetContextVariables

func (x *TransformerContext) GetContextVariables() map[string]*schemapb.ScalarValue

func (*TransformerContext) GetTransformerConfigVariables

func (x *TransformerContext) GetTransformerConfigVariables() map[string]*schemapb.ScalarValue

func (*TransformerContext) ProtoMessage

func (*TransformerContext) ProtoMessage()

func (*TransformerContext) ProtoReflect

func (x *TransformerContext) ProtoReflect() protoreflect.Message

func (*TransformerContext) Reset

func (x *TransformerContext) Reset()

func (*TransformerContext) String

func (x *TransformerContext) String() string

type TransformerRequest

type TransformerRequest struct {

	// The ID of the host making the request
	// to the transformer.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// contains filtered or unexported fields
}

TransformerRequest is the request input for general transformer requests that only require a host ID.

func (*TransformerRequest) Descriptor deprecated

func (*TransformerRequest) Descriptor() ([]byte, []int)

Deprecated: Use TransformerRequest.ProtoReflect.Descriptor instead.

func (*TransformerRequest) GetHostId

func (x *TransformerRequest) GetHostId() string

func (*TransformerRequest) ProtoMessage

func (*TransformerRequest) ProtoMessage()

func (*TransformerRequest) ProtoReflect

func (x *TransformerRequest) ProtoReflect() protoreflect.Message

func (*TransformerRequest) Reset

func (x *TransformerRequest) Reset()

func (*TransformerRequest) String

func (x *TransformerRequest) String() string

type TransformerServer

type TransformerServer interface {
	// GetTransformName returns the transform name of the transformer
	// that should be used in the `transform` section of a blueprint
	// to use this transformer plugin.
	GetTransformName(context.Context, *TransformerRequest) (*TransformNameResponse, error)
	// ConfigDefinition retrieves a detailed definition of the configuration
	// that is required for the transformer.
	GetConfigDefinition(context.Context, *TransformerRequest) (*sharedtypesv1.ConfigDefinitionResponse, error)
	// Transform a blueprint by expanding abstract resources into their
	// final form along with any other transformations that are required.
	Transform(context.Context, *BlueprintTransformRequest) (*BlueprintTransformResponse, error)
	// ListAbstractResourceTypes returns a list of abstract resource types
	// that are supported by the transformer.
	ListAbstractResourceTypes(context.Context, *TransformerRequest) (*AbstractResourceTypesResponse, error)
	// ListAbstractLinkTypes returns a list of abstract link types
	// that are supported by the transformer.
	ListAbstractLinkTypes(context.Context, *TransformerRequest) (*AbstractLinkTypesResponse, error)
	// ValidateLinks validates links between abstract resources in a blueprint
	// prior to transformation. This is important for catching and surfacing issues
	// to users before transformation instead of having to wait to deal with more
	// obscure errors that pertain to concrete resources after transformation.
	ValidateLinks(context.Context, *ValidateLinksRequest) (*ValidateLinksResponse, error)
	// CustomValidateAbstractResource deals with carrying out custom validation for
	// an abstract resource that goes beyond the built-in resource spec validation.
	CustomValidateAbstractResource(context.Context, *CustomValidateAbstractResourceRequest) (*CustomValidateAbstractResourceResponse, error)
	// GetAbstractResourceSpecDefinition retrieves the spec definition for an abstract resource,
	// this is used as the first line of validation for a resource in a blueprint
	// and is also useful for validating references to a resource instance
	// in a blueprint and for providing definitions for docs and tooling.
	// The spec defines both the schema for the resource spec fields that can be defined
	// by users in a blueprint and computed fields that are derived from the deployed
	// resource in the external provider (e.g. Lambda ARN in AWS).
	GetAbstractResourceSpecDefinition(context.Context, *AbstractResourceRequest) (*AbstractResourceSpecDefinitionResponse, error)
	// CanAbstractResourceLinkTo produces a list of all the resource types
	// that the given abstract resource type can link to.
	CanAbstractResourceLinkTo(context.Context, *AbstractResourceRequest) (*CanAbstractResourceLinkToResponse, error)
	// IsAbstractResourceCommonTerminal specifies whether the given abstract resource type is expected
	// to have a common use-case as a terminal resource that does not link out to other resources.
	// This is useful for providing warnings to users about their blueprints
	// without overloading them with warnings for all resources that don't have any outbound
	// links that could have.
	IsAbstractResourceCommonTerminal(context.Context, *AbstractResourceRequest) (*IsAbstractResourceCommonTerminalResponse, error)
	// GetAbstractResourceType retrieves the type of an abstract resource in a blueprint spec
	// that can be used for documentation and tooling.
	// This allows callers to get a human-readable label for the already known
	// resource type.
	GetAbstractResourceType(context.Context, *AbstractResourceRequest) (*sharedtypesv1.ResourceTypeResponse, error)
	// GetAbstractResourceTypeDescription retrieves the description for an abstract resource type
	// in a blueprint spec that can be used for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractResourceTypeDescription(context.Context, *AbstractResourceRequest) (*sharedtypesv1.TypeDescriptionResponse, error)
	// GetAbstractResourceExamples deals with retrieving a list of examples
	// for an abstract resource type in a blueprint spec that can be used
	// for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractResourceExamples(context.Context, *AbstractResourceRequest) (*sharedtypesv1.ExamplesResponse, error)
	// GetAbstractLinkType retrieves the type of an abstract link in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkType(context.Context, *GetAbstractLinkTypeRequest) (*GetAbstractLinkTypeResponse, error)
	// GetAbstractLinkTypeDescription retrieves the description for an abstract link type
	// in a blueprint spec that can be used for documentation and tooling.
	// Markdown and plain text formats are supported.
	GetAbstractLinkTypeDescription(context.Context, *GetAbstractLinkTypeRequest) (*sharedtypesv1.TypeDescriptionResponse, error)
	// GetAbstractLinkAnnotationDefinitions retrieves the annotation definitions for an abstract link type in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkAnnotationDefinitions(context.Context, *GetAbstractLinkTypeRequest) (*sharedtypesv1.LinkAnnotationDefinitionsResponse, error)
	// GetAbstractLinkCardinality retrieves the cardinality for an abstract link type in a blueprint spec
	// that can be used for documentation and tooling.
	GetAbstractLinkCardinality(context.Context, *GetAbstractLinkTypeRequest) (*sharedtypesv1.LinkCardinalityResponse, error)
	// contains filtered or unexported methods
}

TransformerServer is the server API for Transformer service. All implementations must embed UnimplementedTransformerServer for forward compatibility.

Interface exported by a tranformer plugin server.

type UnimplementedTransformerServer

type UnimplementedTransformerServer struct{}

UnimplementedTransformerServer 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.

func (UnimplementedTransformerServer) GetAbstractLinkAnnotationDefinitions added in v0.5.0

func (UnimplementedTransformerServer) GetAbstractLinkCardinality added in v0.5.0

func (UnimplementedTransformerServer) GetAbstractLinkType added in v0.5.0

func (UnimplementedTransformerServer) GetAbstractLinkTypeDescription added in v0.5.0

func (UnimplementedTransformerServer) GetAbstractResourceExamples

func (UnimplementedTransformerServer) GetAbstractResourceTypeDescription

func (UnimplementedTransformerServer) GetTransformName

func (UnimplementedTransformerServer) ListAbstractLinkTypes added in v0.5.0

func (UnimplementedTransformerServer) ListAbstractResourceTypes

type UnsafeTransformerServer

type UnsafeTransformerServer interface {
	// contains filtered or unexported methods
}

UnsafeTransformerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to TransformerServer will result in compilation errors.

type ValidateLinksCompleteResponse added in v0.5.0

type ValidateLinksCompleteResponse struct {
	Diagnostics []*sharedtypesv1.Diagnostic `protobuf:"bytes,1,rep,name=diagnostics" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

ValidateLinksCompleteResponse is returned when link validation completes.

func (*ValidateLinksCompleteResponse) Descriptor deprecated added in v0.5.0

func (*ValidateLinksCompleteResponse) Descriptor() ([]byte, []int)

Deprecated: Use ValidateLinksCompleteResponse.ProtoReflect.Descriptor instead.

func (*ValidateLinksCompleteResponse) GetDiagnostics added in v0.5.0

func (*ValidateLinksCompleteResponse) ProtoMessage added in v0.5.0

func (*ValidateLinksCompleteResponse) ProtoMessage()

func (*ValidateLinksCompleteResponse) ProtoReflect added in v0.5.0

func (*ValidateLinksCompleteResponse) Reset added in v0.5.0

func (x *ValidateLinksCompleteResponse) Reset()

func (*ValidateLinksCompleteResponse) String added in v0.5.0

type ValidateLinksRequest added in v0.5.0

type ValidateLinksRequest struct {

	// The blueprint being validated.
	Blueprint *schemapb.Blueprint `protobuf:"bytes,1,opt,name=blueprint" json:"blueprint,omitempty"`
	// The declared link graph for the blueprint.
	LinkGraph *DeclaredLinkGraph `protobuf:"bytes,2,opt,name=link_graph,json=linkGraph" json:"link_graph,omitempty"`
	// The ID of the host making the request to the transformer.
	HostId string `protobuf:"bytes,3,opt,name=host_id,json=hostId" json:"host_id,omitempty"`
	// Runtime configuration for the current environment
	// specific to the current transformer.
	Context *TransformerContext `protobuf:"bytes,4,opt,name=context" json:"context,omitempty"`
	// contains filtered or unexported fields
}

ValidateLinksRequest is the request for validating links between abstract resources in a blueprint prior to transformation.

func (*ValidateLinksRequest) Descriptor deprecated added in v0.5.0

func (*ValidateLinksRequest) Descriptor() ([]byte, []int)

Deprecated: Use ValidateLinksRequest.ProtoReflect.Descriptor instead.

func (*ValidateLinksRequest) GetBlueprint added in v0.5.0

func (x *ValidateLinksRequest) GetBlueprint() *schemapb.Blueprint

func (*ValidateLinksRequest) GetContext added in v0.5.0

func (x *ValidateLinksRequest) GetContext() *TransformerContext

func (*ValidateLinksRequest) GetHostId added in v0.5.0

func (x *ValidateLinksRequest) GetHostId() string

func (*ValidateLinksRequest) GetLinkGraph added in v0.5.0

func (x *ValidateLinksRequest) GetLinkGraph() *DeclaredLinkGraph

func (*ValidateLinksRequest) ProtoMessage added in v0.5.0

func (*ValidateLinksRequest) ProtoMessage()

func (*ValidateLinksRequest) ProtoReflect added in v0.5.0

func (x *ValidateLinksRequest) ProtoReflect() protoreflect.Message

func (*ValidateLinksRequest) Reset added in v0.5.0

func (x *ValidateLinksRequest) Reset()

func (*ValidateLinksRequest) String added in v0.5.0

func (x *ValidateLinksRequest) String() string

type ValidateLinksResponse added in v0.5.0

type ValidateLinksResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*ValidateLinksResponse_CompleteResponse
	//	*ValidateLinksResponse_ErrorResponse
	Response isValidateLinksResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

ValidateLinksResponse is the response for link validation.

func (*ValidateLinksResponse) Descriptor deprecated added in v0.5.0

func (*ValidateLinksResponse) Descriptor() ([]byte, []int)

Deprecated: Use ValidateLinksResponse.ProtoReflect.Descriptor instead.

func (*ValidateLinksResponse) GetCompleteResponse added in v0.5.0

func (x *ValidateLinksResponse) GetCompleteResponse() *ValidateLinksCompleteResponse

func (*ValidateLinksResponse) GetErrorResponse added in v0.5.0

func (x *ValidateLinksResponse) GetErrorResponse() *sharedtypesv1.ErrorResponse

func (*ValidateLinksResponse) GetResponse added in v0.5.0

func (x *ValidateLinksResponse) GetResponse() isValidateLinksResponse_Response

func (*ValidateLinksResponse) ProtoMessage added in v0.5.0

func (*ValidateLinksResponse) ProtoMessage()

func (*ValidateLinksResponse) ProtoReflect added in v0.5.0

func (x *ValidateLinksResponse) ProtoReflect() protoreflect.Message

func (*ValidateLinksResponse) Reset added in v0.5.0

func (x *ValidateLinksResponse) Reset()

func (*ValidateLinksResponse) String added in v0.5.0

func (x *ValidateLinksResponse) String() string

type ValidateLinksResponse_CompleteResponse added in v0.5.0

type ValidateLinksResponse_CompleteResponse struct {
	CompleteResponse *ValidateLinksCompleteResponse `protobuf:"bytes,1,opt,name=complete_response,json=completeResponse,oneof"`
}

type ValidateLinksResponse_ErrorResponse added in v0.5.0

type ValidateLinksResponse_ErrorResponse struct {
	ErrorResponse *sharedtypesv1.ErrorResponse `protobuf:"bytes,2,opt,name=error_response,json=errorResponse,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL