kafkaconnectcustomplugin

package
v0.224.0 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContentTypeChoices

func ContentTypeChoices() []string

func FileStatusTypeChoices

func FileStatusTypeChoices() []string

func PluginClassTypeChoices

func PluginClassTypeChoices() []string

func ServiceTypeChoices

func ServiceTypeChoices() []string

Types

type ContentType

type ContentType string
const (
	ContentTypeApplicationJavaArchive ContentType = "application/java-archive"
	ContentTypeApplicationZip         ContentType = "application/zip"
)

type FileStatusType

type FileStatusType string
const (
	FileStatusTypeFailed  FileStatusType = "FAILED"
	FileStatusTypeInitial FileStatusType = "INITIAL"
	FileStatusTypeReady   FileStatusType = "READY"
)

type Handler

type Handler interface {
	// KafkaConnectCustomPluginClassGet get a single plugin class by fully-qualified class name
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugin-classes/{plugin_class_name}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginClassGet
	KafkaConnectCustomPluginClassGet(ctx context.Context, organizationId string, pluginClassName string) (*KafkaConnectCustomPluginClassGetOut, error)

	// KafkaConnectCustomPluginClassList list all plugin classes for the organization
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugin-classes
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginClassList
	KafkaConnectCustomPluginClassList(ctx context.Context, organizationId string) ([]PluginClasseOut, error)

	// KafkaConnectCustomPluginClassListByName list connector classes for a plugin, deduplicated by retaining the class from the latest non-deleted file version (by semver)
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugins/{plugin_name}/classes
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginClassListByName
	KafkaConnectCustomPluginClassListByName(ctx context.Context, organizationId string, pluginName string) ([]PluginClasseOut, error)

	// KafkaConnectCustomPluginClassUpdate update user-editable metadata of a plugin class
	// PUT /v1/organization/{organization_id}/kafka-connect/custom-plugin-classes/{plugin_class_name}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginClassUpdate
	KafkaConnectCustomPluginClassUpdate(ctx context.Context, organizationId string, pluginClassName string, in *KafkaConnectCustomPluginClassUpdateIn) (*KafkaConnectCustomPluginClassUpdateOut, error)

	// KafkaConnectCustomPluginDelete soft-delete a custom plugin and all its non-deleted file versions
	// DELETE /v1/organization/{organization_id}/kafka-connect/custom-plugins/{plugin_name}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginDelete
	KafkaConnectCustomPluginDelete(ctx context.Context, organizationId string, pluginName string) error

	// KafkaConnectCustomPluginFileClassList list all plugin classes discovered for a custom plugin file
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugin-files/{plugin_file_id}/classes
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileClassList
	KafkaConnectCustomPluginFileClassList(ctx context.Context, organizationId string, pluginFileId string) ([]PluginClasseOut, error)

	// KafkaConnectCustomPluginFileCreate initiate a custom plugin file upload
	// POST /v1/organization/{organization_id}/kafka-connect/custom-plugin-files
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileCreate
	KafkaConnectCustomPluginFileCreate(ctx context.Context, organizationId string, in *KafkaConnectCustomPluginFileCreateIn) (*KafkaConnectCustomPluginFileCreateOut, error)

	// KafkaConnectCustomPluginFileDelete soft-delete a custom plugin file and its solely-associated plugin classes
	// DELETE /v1/organization/{organization_id}/kafka-connect/custom-plugin-files/{plugin_file_id}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileDelete
	KafkaConnectCustomPluginFileDelete(ctx context.Context, organizationId string, pluginFileId string) error

	// KafkaConnectCustomPluginFileGet get a single custom plugin file with its discovered plugin classes
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugin-files/{plugin_file_id}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileGet
	KafkaConnectCustomPluginFileGet(ctx context.Context, organizationId string, pluginFileId string) (*KafkaConnectCustomPluginFileGetOut, error)

	// KafkaConnectCustomPluginFileList list all non-deleted custom plugin files for the organization
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugin-files
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileList
	KafkaConnectCustomPluginFileList(ctx context.Context, organizationId string) ([]PluginFileOut, error)

	// KafkaConnectCustomPluginFileListByName list all non-deleted file versions for a given plugin name
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugins/{plugin_name}/files
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileListByName
	KafkaConnectCustomPluginFileListByName(ctx context.Context, organizationId string, pluginName string) ([]PluginFileOut, error)

	// KafkaConnectCustomPluginFileUpdate update user-editable metadata of a custom plugin file
	// PUT /v1/organization/{organization_id}/kafka-connect/custom-plugin-files/{plugin_file_id}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginFileUpdate
	KafkaConnectCustomPluginFileUpdate(ctx context.Context, organizationId string, pluginFileId string, in *KafkaConnectCustomPluginFileUpdateIn) (*KafkaConnectCustomPluginFileUpdateOut, error)

	// KafkaConnectCustomPluginGet get a single custom plugin by plugin name
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugins/{plugin_name}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginGet
	KafkaConnectCustomPluginGet(ctx context.Context, organizationId string, pluginName string) (*KafkaConnectCustomPluginGetOut, error)

	// KafkaConnectCustomPluginList list all non-deleted custom plugins for the organization
	// GET /v1/organization/{organization_id}/kafka-connect/custom-plugins
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginList
	KafkaConnectCustomPluginList(ctx context.Context, organizationId string) ([]PluginOut, error)

	// KafkaConnectCustomPluginUpdate update user-editable metadata of a custom plugin
	// PUT /v1/organization/{organization_id}/kafka-connect/custom-plugins/{plugin_name}
	// https://api.aiven.io/doc/#tag/Kafka_Connect_Custom_Plugins/operation/KafkaConnectCustomPluginUpdate
	KafkaConnectCustomPluginUpdate(ctx context.Context, organizationId string, pluginName string, in *KafkaConnectCustomPluginUpdateIn) (*KafkaConnectCustomPluginUpdateOut, error)
}

type KafkaConnectCustomPluginClassGetOut

type KafkaConnectCustomPluginClassGetOut struct {
	Author          *string         `json:"author,omitempty"`      // Plugin author, initially populated from META-INF/MANIFEST.MF (Specification-Vendor or Implementation-Vendor) and user-updatable.
	CreatedAt       time.Time       `json:"created_at"`            // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy       string          `json:"created_by"`            // Email address of the user who created this entity.
	Description     *string         `json:"description,omitempty"` // Optional user-provided description of the plugin class.
	DocUrl          *string         `json:"doc_url,omitempty"`     // URL to the plugin class documentation.
	PluginClass     string          `json:"plugin_class"`          // Fully qualified connector class name. Immutable after creation.
	PluginClassType PluginClassType `json:"plugin_class_type"`     // Type of plugin class: source, sink, transformation.
	Title           string          `json:"title"`                 // Human-readable plugin class title.
	UpdatedAt       time.Time       `json:"updated_at"`            // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy       *string         `json:"updated_by,omitempty"`  // Email address of the user who last updated this entity.
}

KafkaConnectCustomPluginClassGetOut KafkaConnectCustomPluginClassGetResponse

type KafkaConnectCustomPluginClassUpdateIn

type KafkaConnectCustomPluginClassUpdateIn struct {
	Author      *string `json:"author,omitempty"`      // Plugin author.
	Description *string `json:"description,omitempty"` // Optional user-provided description of the plugin class.
	DocUrl      *string `json:"doc_url,omitempty"`     // URL to the plugin class documentation.
	Title       *string `json:"title,omitempty"`       // Human-readable plugin class title.
}

KafkaConnectCustomPluginClassUpdateIn KafkaConnectCustomPluginClassUpdateRequestBody

type KafkaConnectCustomPluginClassUpdateOut

type KafkaConnectCustomPluginClassUpdateOut struct {
	Author          *string         `json:"author,omitempty"`      // Plugin author, initially populated from META-INF/MANIFEST.MF (Specification-Vendor or Implementation-Vendor) and user-updatable.
	CreatedAt       time.Time       `json:"created_at"`            // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy       string          `json:"created_by"`            // Email address of the user who created this entity.
	Description     *string         `json:"description,omitempty"` // Optional user-provided description of the plugin class.
	DocUrl          *string         `json:"doc_url,omitempty"`     // URL to the plugin class documentation.
	PluginClass     string          `json:"plugin_class"`          // Fully qualified connector class name. Immutable after creation.
	PluginClassType PluginClassType `json:"plugin_class_type"`     // Type of plugin class: source, sink, transformation.
	Title           string          `json:"title"`                 // Human-readable plugin class title.
	UpdatedAt       time.Time       `json:"updated_at"`            // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy       *string         `json:"updated_by,omitempty"`  // Email address of the user who last updated this entity.
}

KafkaConnectCustomPluginClassUpdateOut KafkaConnectCustomPluginClassUpdateResponse

type KafkaConnectCustomPluginFileCreateIn

type KafkaConnectCustomPluginFileCreateIn struct {
	ContentType       ContentType `json:"content_type,omitempty"`       // MIME type of the plugin file being uploaded. Use 'application/java-archive' for a single JAR file or 'application/zip' for a ZIP plugin bundle. Defaults to 'application/java-archive' when omitted.
	FileDescription   *string     `json:"file_description,omitempty"`   // Optional human-readable change notes specific to this plugin version.
	PluginDescription *string     `json:"plugin_description,omitempty"` // Optional human-readable description of the plugin (applies to all versions).
	PluginName        string      `json:"plugin_name"`                  // User-provided name identifying this custom plugin (e.g. 'my-custom-connectors').
	PluginVersion     string      `json:"plugin_version"`               // User-provided version string for this plugin upload. Must be a valid PEP 440 version (e.g. '2.7.14', '1.0.0a1', '2.7.14.dev0').
	ServiceType       ServiceType `json:"service_type"`                 // The Aiven service type this plugin is intended for.
}

KafkaConnectCustomPluginFileCreateIn KafkaConnectCustomPluginFileCreateRequestBody

type KafkaConnectCustomPluginFileCreateOut

type KafkaConnectCustomPluginFileCreateOut struct {
	CreatedAt          time.Time      `json:"created_at"`                     // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy          string         `json:"created_by"`                     // Email address of the user who created this entity.
	FileDescription    *string        `json:"file_description,omitempty"`     // Optional human-readable change notes specific to this plugin version.
	FileSha256         *string        `json:"file_sha256,omitempty"`          // SHA-256 hash of the uploaded file, populated after successful verification.
	FileSize           *int           `json:"file_size,omitempty"`            // Size of the uploaded file in bytes, populated after successful verification.
	FileStatus         FileStatusType `json:"file_status"`                    // Verification status of the uploaded JAR. INITIAL: upload pending or in progress. READY: verified and plugin classes discovered. FAILED: verification failed.
	PluginFileId       string         `json:"plugin_file_id"`                 // Unique identifier for this custom plugin file upload.
	PluginId           string         `json:"plugin_id"`                      // Unique identifier for the plugin identity record (shared across all versions).
	PluginName         string         `json:"plugin_name"`                    // User-provided name identifying this custom plugin.
	PluginVersion      string         `json:"plugin_version"`                 // User-provided version string for this plugin upload.
	UpdatedAt          time.Time      `json:"updated_at"`                     // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy          *string        `json:"updated_by,omitempty"`           // Email address of the user who last updated this entity.
	UploadInfo         UploadInfoOut  `json:"upload_info"`                    // Information required to upload the JAR to S3.
	VerifyErrorCode    *int           `json:"verify_error_code,omitempty"`    // Machine-readable error code when file_status is FAILED.
	VerifyErrorMessage *string        `json:"verify_error_message,omitempty"` // Human-readable error message when file_status is FAILED.
}

KafkaConnectCustomPluginFileCreateOut KafkaConnectCustomPluginFileCreateResponse

type KafkaConnectCustomPluginFileGetOut

type KafkaConnectCustomPluginFileGetOut struct {
	CreatedAt          time.Time         `json:"created_at"`                     // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy          string            `json:"created_by"`                     // Email address of the user who created this entity.
	FileDescription    *string           `json:"file_description,omitempty"`     // Optional human-readable change notes specific to this plugin version.
	FileSha256         *string           `json:"file_sha256,omitempty"`          // SHA-256 hash of the uploaded file, populated after successful verification.
	FileSize           *int              `json:"file_size,omitempty"`            // Size of the uploaded file in bytes, populated after successful verification.
	FileStatus         FileStatusType    `json:"file_status"`                    // Verification status of the uploaded JAR. INITIAL: upload pending or in progress. READY: verified and plugin classes discovered. FAILED: verification failed.
	PluginClasses      []PluginClasseOut `json:"plugin_classes"`                 // Plugin classes discovered within this JAR after successful verification. Empty until file_status is READY.
	PluginFileId       string            `json:"plugin_file_id"`                 // Unique identifier for this custom plugin file upload.
	PluginId           string            `json:"plugin_id"`                      // Unique identifier for the plugin identity record (shared across all versions).
	PluginName         string            `json:"plugin_name"`                    // User-provided name identifying this custom plugin.
	PluginVersion      string            `json:"plugin_version"`                 // User-provided version string for this plugin upload.
	UpdatedAt          time.Time         `json:"updated_at"`                     // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy          *string           `json:"updated_by,omitempty"`           // Email address of the user who last updated this entity.
	VerifyErrorCode    *int              `json:"verify_error_code,omitempty"`    // Machine-readable error code when file_status is FAILED.
	VerifyErrorMessage *string           `json:"verify_error_message,omitempty"` // Human-readable error message when file_status is FAILED.
}

KafkaConnectCustomPluginFileGetOut KafkaConnectCustomPluginFileGetResponse

type KafkaConnectCustomPluginFileUpdateIn

type KafkaConnectCustomPluginFileUpdateIn struct {
	FileDescription *string `json:"file_description,omitempty"` // Optional human-readable change notes specific to this plugin version.
}

KafkaConnectCustomPluginFileUpdateIn KafkaConnectCustomPluginFileUpdateRequestBody

type KafkaConnectCustomPluginFileUpdateOut

type KafkaConnectCustomPluginFileUpdateOut struct {
	CreatedAt          time.Time      `json:"created_at"`                     // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy          string         `json:"created_by"`                     // Email address of the user who created this entity.
	FileDescription    *string        `json:"file_description,omitempty"`     // Optional human-readable change notes specific to this plugin version.
	FileSha256         *string        `json:"file_sha256,omitempty"`          // SHA-256 hash of the uploaded file, populated after successful verification.
	FileSize           *int           `json:"file_size,omitempty"`            // Size of the uploaded file in bytes, populated after successful verification.
	FileStatus         FileStatusType `json:"file_status"`                    // Verification status of the uploaded JAR. INITIAL: upload pending or in progress. READY: verified and plugin classes discovered. FAILED: verification failed.
	PluginFileId       string         `json:"plugin_file_id"`                 // Unique identifier for this custom plugin file upload.
	PluginId           string         `json:"plugin_id"`                      // Unique identifier for the plugin identity record (shared across all versions).
	PluginName         string         `json:"plugin_name"`                    // User-provided name identifying this custom plugin.
	PluginVersion      string         `json:"plugin_version"`                 // User-provided version string for this plugin upload.
	UpdatedAt          time.Time      `json:"updated_at"`                     // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy          *string        `json:"updated_by,omitempty"`           // Email address of the user who last updated this entity.
	VerifyErrorCode    *int           `json:"verify_error_code,omitempty"`    // Machine-readable error code when file_status is FAILED.
	VerifyErrorMessage *string        `json:"verify_error_message,omitempty"` // Human-readable error message when file_status is FAILED.
}

KafkaConnectCustomPluginFileUpdateOut KafkaConnectCustomPluginFileUpdateResponse

type KafkaConnectCustomPluginGetOut

type KafkaConnectCustomPluginGetOut struct {
	CreatedAt         time.Time   `json:"created_at"`                   // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy         string      `json:"created_by"`                   // Email address of the user who created this entity.
	PluginDescription *string     `json:"plugin_description,omitempty"` // Optional human-readable description of the plugin (applies to all versions).
	PluginId          string      `json:"plugin_id"`                    // Unique identifier for the plugin identity record (shared across all versions).
	PluginName        string      `json:"plugin_name"`                  // User-provided name identifying this custom plugin.
	ServiceType       ServiceType `json:"service_type"`                 // The Aiven service type this plugin is intended for.
	UpdatedAt         time.Time   `json:"updated_at"`                   // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy         *string     `json:"updated_by,omitempty"`         // Email address of the user who last updated this entity.
}

KafkaConnectCustomPluginGetOut KafkaConnectCustomPluginGetResponse

type KafkaConnectCustomPluginHandler

type KafkaConnectCustomPluginHandler struct {
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(doer doer) KafkaConnectCustomPluginHandler

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassGet

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassGet(ctx context.Context, organizationId string, pluginClassName string) (*KafkaConnectCustomPluginClassGetOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassList

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassList(ctx context.Context, organizationId string) ([]PluginClasseOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassListByName

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassListByName(ctx context.Context, organizationId string, pluginName string) ([]PluginClasseOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassUpdate

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginClassUpdate(ctx context.Context, organizationId string, pluginClassName string, in *KafkaConnectCustomPluginClassUpdateIn) (*KafkaConnectCustomPluginClassUpdateOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginDelete

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginDelete(ctx context.Context, organizationId string, pluginName string) error

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileClassList

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileClassList(ctx context.Context, organizationId string, pluginFileId string) ([]PluginClasseOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileCreate

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileDelete

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileDelete(ctx context.Context, organizationId string, pluginFileId string) error

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileGet

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileGet(ctx context.Context, organizationId string, pluginFileId string) (*KafkaConnectCustomPluginFileGetOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileList

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileList(ctx context.Context, organizationId string) ([]PluginFileOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileListByName

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileListByName(ctx context.Context, organizationId string, pluginName string) ([]PluginFileOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileUpdate

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginFileUpdate(ctx context.Context, organizationId string, pluginFileId string, in *KafkaConnectCustomPluginFileUpdateIn) (*KafkaConnectCustomPluginFileUpdateOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginGet

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginGet(ctx context.Context, organizationId string, pluginName string) (*KafkaConnectCustomPluginGetOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginList

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginList(ctx context.Context, organizationId string) ([]PluginOut, error)

func (*KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginUpdate

func (h *KafkaConnectCustomPluginHandler) KafkaConnectCustomPluginUpdate(ctx context.Context, organizationId string, pluginName string, in *KafkaConnectCustomPluginUpdateIn) (*KafkaConnectCustomPluginUpdateOut, error)

type KafkaConnectCustomPluginUpdateIn

type KafkaConnectCustomPluginUpdateIn struct {
	PluginDescription *string `json:"plugin_description,omitempty"` // Optional human-readable description of the plugin (applies to all versions).
}

KafkaConnectCustomPluginUpdateIn KafkaConnectCustomPluginUpdateRequestBody

type KafkaConnectCustomPluginUpdateOut

type KafkaConnectCustomPluginUpdateOut struct {
	CreatedAt         time.Time   `json:"created_at"`                   // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy         string      `json:"created_by"`                   // Email address of the user who created this entity.
	PluginDescription *string     `json:"plugin_description,omitempty"` // Optional human-readable description of the plugin (applies to all versions).
	PluginId          string      `json:"plugin_id"`                    // Unique identifier for the plugin identity record (shared across all versions).
	PluginName        string      `json:"plugin_name"`                  // User-provided name identifying this custom plugin.
	ServiceType       ServiceType `json:"service_type"`                 // The Aiven service type this plugin is intended for.
	UpdatedAt         time.Time   `json:"updated_at"`                   // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy         *string     `json:"updated_by,omitempty"`         // Email address of the user who last updated this entity.
}

KafkaConnectCustomPluginUpdateOut KafkaConnectCustomPluginUpdateResponse

type PluginClassType

type PluginClassType string
const (
	PluginClassTypeSink           PluginClassType = "sink"
	PluginClassTypeSource         PluginClassType = "source"
	PluginClassTypeTransformation PluginClassType = "transformation"
)

type PluginClasseOut

type PluginClasseOut struct {
	Author          *string         `json:"author,omitempty"`      // Plugin author, initially populated from META-INF/MANIFEST.MF (Specification-Vendor or Implementation-Vendor) and user-updatable.
	CreatedAt       time.Time       `json:"created_at"`            // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy       string          `json:"created_by"`            // Email address of the user who created this entity.
	Description     *string         `json:"description,omitempty"` // Optional user-provided description of the plugin class.
	DocUrl          *string         `json:"doc_url,omitempty"`     // URL to the plugin class documentation.
	PluginClass     string          `json:"plugin_class"`          // Fully qualified connector class name. Immutable after creation.
	PluginClassType PluginClassType `json:"plugin_class_type"`     // Type of plugin class: source, sink, transformation.
	Title           string          `json:"title"`                 // Human-readable plugin class title.
	UpdatedAt       time.Time       `json:"updated_at"`            // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy       *string         `json:"updated_by,omitempty"`  // Email address of the user who last updated this entity.
}

type PluginFileOut

type PluginFileOut struct {
	CreatedAt          time.Time      `json:"created_at"`                     // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy          string         `json:"created_by"`                     // Email address of the user who created this entity.
	FileDescription    *string        `json:"file_description,omitempty"`     // Optional human-readable change notes specific to this plugin version.
	FileSha256         *string        `json:"file_sha256,omitempty"`          // SHA-256 hash of the uploaded file, populated after successful verification.
	FileSize           *int           `json:"file_size,omitempty"`            // Size of the uploaded file in bytes, populated after successful verification.
	FileStatus         FileStatusType `json:"file_status"`                    // Verification status of the uploaded JAR. INITIAL: upload pending or in progress. READY: verified and plugin classes discovered. FAILED: verification failed.
	PluginFileId       string         `json:"plugin_file_id"`                 // Unique identifier for this custom plugin file upload.
	PluginId           string         `json:"plugin_id"`                      // Unique identifier for the plugin identity record (shared across all versions).
	PluginName         string         `json:"plugin_name"`                    // User-provided name identifying this custom plugin.
	PluginVersion      string         `json:"plugin_version"`                 // User-provided version string for this plugin upload.
	UpdatedAt          time.Time      `json:"updated_at"`                     // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy          *string        `json:"updated_by,omitempty"`           // Email address of the user who last updated this entity.
	VerifyErrorCode    *int           `json:"verify_error_code,omitempty"`    // Machine-readable error code when file_status is FAILED.
	VerifyErrorMessage *string        `json:"verify_error_message,omitempty"` // Human-readable error message when file_status is FAILED.
}

type PluginOut

type PluginOut struct {
	CreatedAt         time.Time   `json:"created_at"`                   // Creation timestamp in ISO 8601 format, always in UTC.
	CreatedBy         string      `json:"created_by"`                   // Email address of the user who created this entity.
	PluginDescription *string     `json:"plugin_description,omitempty"` // Optional human-readable description of the plugin (applies to all versions).
	PluginId          string      `json:"plugin_id"`                    // Unique identifier for the plugin identity record (shared across all versions).
	PluginName        string      `json:"plugin_name"`                  // User-provided name identifying this custom plugin.
	ServiceType       ServiceType `json:"service_type"`                 // The Aiven service type this plugin is intended for.
	UpdatedAt         time.Time   `json:"updated_at"`                   // Last update timestamp in ISO 8601 format, always in UTC.
	UpdatedBy         *string     `json:"updated_by,omitempty"`         // Email address of the user who last updated this entity.
}

type ServiceType

type ServiceType string
const (
	ServiceTypeKafkaConnect ServiceType = "kafka_connect"
)

type UploadInfoOut

type UploadInfoOut struct {
	ContentType         ContentType `json:"content_type"`          // The Content-Type header value the client must set when issuing the S3 PUT request.
	MaxFileSizeBytes    int         `json:"max_file_size_bytes"`   // Maximum allowed file size in bytes. Files exceeding this limit will be rejected.
	UploadExpirySeconds int         `json:"upload_expiry_seconds"` // Number of seconds the presigned URL remains valid.
	Url                 *string     `json:"url,omitempty"`         // Presigned S3 URL to upload the JAR directly. Becomes null once file_status transitions to READY or FAILED.
}

UploadInfoOut Information required to upload the JAR to S3.

Jump to

Keyboard shortcuts

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