glue

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2026 License: MIT Imports: 26 Imported by: 0

README

Glue

Parity grade: A · SDK aws-sdk-go-v2/service/glue@v1.149.0 · last audited 2026-07-25 (a7f9c5fb2)

Coverage

Metric Value
Operations audited 52 (52 ok)
Feature families 17 (12 ok, 5 partial)
Known gaps 9
Deferred items 4
Resource leaks clean
Known gaps
  • FIXED this pass: CrawlerTarget missing DynamoDBTargets/DeltaTargets/HudiTargets/IcebergTargets/MongoDBTargets (bd: gopherstack-qd3.1)
  • FIXED this pass: CreateCrawler/UpdateCrawler missing SchemaChangePolicy, RecrawlPolicy, LineageConfiguration, CrawlerSecurityConfiguration, LakeFormationConfiguration (bd: gopherstack-qd3.2)
  • FIXED this pass: DatabaseInput/Database missing Parameters, LocationUri, CreateTableDefaultPermissions, TargetDatabase (bd: gopherstack-qd3.3)
  • FIXED this pass: StartJobRun has no per-run capacity/argument overrides (bd: gopherstack-qd3.4)
  • STILL OPEN: IdempotentParameterMismatchException/ResourceNumberLimitExceededException/OperationTimeoutException/ConcurrentModificationException are documented Glue exceptions never returned by this backend — no account-level quota/idempotency-token/concurrency-conflict state exists anywhere in this backend to trigger them realistically, and fabricating one would mean inventing arbitrary quota numbers not sourced from AWS docs. (bd: gopherstack-qd3.5). Note: ConcurrentRunsExceededException — a DIFFERENT, distinct exception from ConcurrentModificationException — WAS found unused and fixed this pass (see StartJobRun/workflows notes above); do not conflate the two when re-auditing.
  • FIXED this pass: Trigger/TriggerAction missing Description, EventBatchingCondition, WorkflowName, and the AWS "max 2 crawler actions per trigger" soft limit is now enforced (bd: gopherstack-qd4.1)
  • FIXED this pass: PutResourcePolicy did not model EnableHybrid (bd: gopherstack-qd4.2)
  • NEW gap found this pass, STILL OPEN: TagResource/UntagResource's tagResource() dispatcher (tags.go) only recognizes Database/Crawler/Job/DataQualityRuleset/Connection/Trigger/Workflow ARNs. Blueprint/DevEndpoint/MLTransform/UserDefinedFunction/CustomEntityType all support Tags at creation (UDF/MLTransform via a separate ARN-keyed tag store; Blueprint/DevEndpoint via an inline Tags field added this pass) but calling TagResource/UntagResource against their ARN post-creation returns EntityNotFoundException. Pre-existing pattern gap, not introduced this pass (Blueprint/DevEndpoint had no tags capability at all before); flagging for a future pass rather than expanding this one's scope further.
  • NEW gap FOUND (not introduced) this pass (parity-4): Session.Status is set to PROVISIONING on CreateSession and this backend has no reconciler transition that ever advances it to READY, unlike crawlers/job-runs/workflow-runs which all do reach a terminal running/ready state. This was surfaced while implementing GetSessionEndpoint (bd note: had to gate on 'not STOPPED/STOPPING' instead of the more natural READY check -- see dashboard_and_session_endpoint family note). Fixing session lifecycle is out of scope for this pass; flagging for whichever pass owns sessions.go.
Deferred
  • workflows: Graph/LastRun/BlueprintDetails/WorkflowRunStatistics not modeled (real DAG-topology feature, out of scope this pass)
  • schema registry: compatibility-mode enforcement (BACKWARD/FORWARD/FULL) and full AVRO/JSON/PROTOBUF grammar validation depth (would need real schema-parsing libraries; no new go.mod deps permitted)
  • data quality rulesets: DQDL syntax / rule-type validation (would need a real DQDL parser)
  • ML transforms: EvaluationMetrics (FindMatchesMetrics) — no real ML evaluation is ever run, so there is no real metric to report

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAlreadyExists = awserr.New("AlreadyExistsException", awserr.ErrAlreadyExists)

ErrAlreadyExists is returned when a resource already exists.

View Source
var ErrBlueprintRunNotFound = fmt.Errorf("blueprint run not found: %w", ErrNotFound)
View Source
var ErrColumnStatTaskRunNotFound = fmt.Errorf("column statistics task run not found: %w", ErrNotFound)
View Source
var ErrConcurrentRunsExceeded = awserr.New("ConcurrentRunsExceededException", awserr.ErrConflict)

ErrConcurrentRunsExceeded is returned by StartJobRun/StartWorkflowRun when the job/workflow's MaxConcurrentRuns limit is already reached, mirroring AWS's ConcurrentRunsExceededException (confirmed in aws-sdk-go-v2/service/glue/deserializers.go's awsAwsjson11_deserializeOpErrorStartJobRun/StartWorkflowRun error switches).

View Source
var ErrConflict = awserr.New("ConflictException", awserr.ErrConflict)

ErrConflict is returned when an operation is rejected because of the current state of a related resource, mirroring AWS's ConflictException. Confirmed as the documented error (not EntityNotFoundException or InvalidInputException) for DeleteGlossary ("a glossary cannot be deleted if it still contains glossary terms") and DeleteFormType ("a form type cannot be deleted if it is still referenced by an asset type") in aws-sdk-go-v2/service/glue/deserializers.go's awsAwsjson11_deserializeOpErrorDeleteGlossary/DeleteFormType error switches.

View Source
var ErrConnectionTypeBuiltIn = awserr.New(
	"connection type is a built-in AWS-managed type and cannot be deleted",
	awserr.ErrConflict,
)

ErrConnectionTypeBuiltIn is returned when a caller attempts to delete a built-in (AWS-managed) connection type. Built-in types are undeletable, mirroring AWS, which rejects mutation of managed connector types. It carries a distinct AccessDenied shape (see handleError) so it is not conflated with EntityNotFound/Validation.

View Source
var ErrCrawlerNotRunning = awserr.New("CrawlerNotRunningException", awserr.ErrInvalidParameter)

ErrCrawlerNotRunning is returned when an operation requires the crawler to be running.

View Source
var ErrCrawlerRunning = awserr.New("CrawlerRunningException", awserr.ErrInvalidParameter)

ErrCrawlerRunning is returned when an operation requires the crawler to not be running.

View Source
var ErrDQRecommendationRunNotFound = fmt.Errorf("data quality recommendation run not found: %w", ErrNotFound)
View Source
var ErrIllegalSessionState = awserr.New("IllegalSessionStateException", awserr.ErrConflict)

ErrIllegalSessionState is returned by GetSessionEndpoint when the target session is not in a state that can serve a Spark Connect endpoint, mirroring AWS's IllegalSessionStateException (confirmed in deserializers.go's awsAwsjson11_deserializeOpErrorGetSessionEndpoint error switch).

View Source
var ErrIntegrationNotFound = fmt.Errorf("integration not found: %w", ErrNotFound)
View Source
var ErrMLTaskRunNotFound = fmt.Errorf("ML task run not found: %w", ErrNotFound)

ErrMLTaskRunNotFound is returned when an ML task run does not exist.

View Source
var ErrMaterializedViewRunNotFound = fmt.Errorf("materialized view refresh run not found: %w", ErrNotFound)
View Source
var ErrNilAppContext = errors.New("glue provider: nil AppContext")

ErrNilAppContext is returned by Init when appCtx is nil.

View Source
var ErrNotFound = awserr.New("EntityNotFoundException", awserr.ErrNotFound)

ErrNotFound is returned when a requested resource does not exist.

View Source
var ErrResourcePolicyConditionFailed = awserr.New(
	"ConditionCheckFailureException",
	awserr.ErrConflict,
)

ErrResourcePolicyConditionFailed is returned when PutResourcePolicy's PolicyExistsCondition or PolicyHashCondition does not match the current backend state, mirroring AWS's ConditionCheckFailureException — the optimistic-concurrency guard PutResourcePolicy documents to prevent callers from clobbering a policy someone else has since changed.

View Source
var ErrUsageProfileNotFound = fmt.Errorf("usage profile not found: %w", ErrNotFound)
View Source
var ErrValidation = awserr.New("InvalidInputException", awserr.ErrInvalidParameter)

ErrValidation is returned when input validation fails.

Glue's per-operation error models (aws-sdk-go-v2/service/glue deserializers.go) list InvalidInputException — not ValidationException — as the hand-validation error for the overwhelming majority of Create/Update/Delete operations (e.g. CreateDatabase, CreateTable, CreateJob, CreateCrawler, CreateTrigger, CreateBlueprint, CreateCustomEntityType, CreateUsageProfile, tag validation). A handful of newer operations (e.g. DeleteConnectionType) do document ValidationException instead, but since this sentinel is shared across every hand-rolled validation check in the backend, InvalidInputException is the more accurate default.

Functions

This section is empty.

Types

type Asset added in v1.2.0

type Asset struct {
	Forms         map[string]AssetFormEntry    `json:"Forms,omitempty"`
	Attachments   map[string]AssetFormEntry    `json:"Attachments,omitempty"`
	IterableForms map[string]IterableFormEntry `json:"IterableForms,omitempty"`
	ID            string                       `json:"Id"`
	Name          string                       `json:"Name,omitempty"`
	Description   string                       `json:"Description,omitempty"`
	AssetTypeID   string                       `json:"AssetTypeId"`
	GlossaryTerms []string                     `json:"GlossaryTerms,omitempty"`
	CreatedAt     float64                      `json:"CreatedAt,omitempty"`
	UpdatedAt     float64                      `json:"UpdatedAt,omitempty"`
}

Asset represents an entry in the Glue Data Catalog asset catalog. Field-diffed against GetAssetOutput (the richest of the Asset-shaped outputs); PutAssetOutput/UpdateAssetOutput are narrower subsets built explicitly in handler_assets.go rather than reusing this type, so as not to put fields on their wire response that AWS does not document there.

type AssetFormEntry added in v1.2.0

type AssetFormEntry struct {
	Content    string `json:"Content,omitempty"`
	FormTypeID string `json:"FormTypeId,omitempty"`
}

AssetFormEntry is a form on an asset: the form type identifier plus its JSON content, field-diffed against types.AssetFormEntry.

type AssetType added in v1.2.0

type AssetType struct {
	Forms map[string]AssetTypeFormReference `json:"Forms,omitempty"`
	ID    string                            `json:"Id"`
	Name  string                            `json:"Name"`
}

AssetType defines the structure of assets by specifying which forms they include. Field-diffed against PutAssetTypeOutput/GetAssetTypeOutput, which share exactly these three fields.

type AssetTypeFormReference added in v1.2.0

type AssetTypeFormReference struct {
	FormTypeIdentifier string `json:"FormTypeIdentifier"`
}

AssetTypeFormReference references a form type included in an asset type, field-diffed against types.AssetTypeFormReference.

type AssetTypeItem added in v1.2.0

type AssetTypeItem struct {
	ID   string `json:"Id"`
	Name string `json:"Name"`
}

AssetTypeItem is the summary shape returned by ListAssetTypes, field-diffed against types.AssetTypeItem (Id/Name only -- no Forms).

type BatchGetTableOptimizerEntry

type BatchGetTableOptimizerEntry struct {
	CatalogID    string `json:"CatalogId,omitempty"`
	DatabaseName string `json:"DatabaseName"`
	TableName    string `json:"TableName"`
	Type         string `json:"Type"`
}

BatchGetTableOptimizerEntry is one request entry for BatchGetTableOptimizer.

type BatchGetTableOptimizerError

type BatchGetTableOptimizerError struct {
	CatalogID    string      `json:"CatalogId,omitempty"`
	DatabaseName string      `json:"DatabaseName,omitempty"`
	TableName    string      `json:"TableName,omitempty"`
	Type         string      `json:"Type,omitempty"`
	Error        ErrorDetail `json:"Error"`
}

BatchGetTableOptimizerError is one error entry from BatchGetTableOptimizer.

type BatchStopJobRunError

type BatchStopJobRunError struct {
	ErrorDetail ErrorDetail `json:"ErrorDetail"`
	JobRunID    string      `json:"JobRunId"`
	JobName     string      `json:"JobName"`
}

BatchStopJobRunError holds error info for a single stop attempt.

type Blueprint

type Blueprint struct {
	Tags                     map[string]string `json:"-"`
	Name                     string            `json:"Name"`
	Status                   string            `json:"Status,omitempty"`
	BlueprintLocation        string            `json:"BlueprintLocation,omitempty"`
	BlueprintServiceLocation string            `json:"BlueprintServiceLocation,omitempty"`
	Description              string            `json:"Description,omitempty"`
	ParameterSpec            string            `json:"ParameterSpec,omitempty"`
	ErrorMessage             string            `json:"ErrorMessage,omitempty"`
	CreatedOn                float64           `json:"CreatedOn,omitempty"`
	LastModifiedOn           float64           `json:"LastModifiedOn,omitempty"`
}

Blueprint represents a Glue blueprint.

type BlueprintRun

type BlueprintRun struct {
	BlueprintName string  `json:"BlueprintName"`
	RunID         string  `json:"RunId"`
	WorkflowName  string  `json:"WorkflowName"`
	State         string  `json:"State"`
	StartedOn     float64 `json:"StartedOn,omitempty"`
}

BlueprintRun represents a single execution of a Glue blueprint.

type CatalogEntry

type CatalogEntry struct {
	Parameters  map[string]string `json:"Parameters,omitzero"`
	CatalogID   string            `json:"CatalogId"`
	Name        string            `json:"Name,omitempty"`
	Description string            `json:"Description,omitempty"`
	CreateTime  float64           `json:"CreateTime,omitempty"`
}

CatalogEntry represents a named AWS Glue catalog.

type CatalogImportStatus

type CatalogImportStatus struct {
	ImportedBy      string  `json:"ImportedBy"`
	ImportTime      float64 `json:"ImportTime"`
	ImportCompleted bool    `json:"ImportCompleted"`
}

CatalogImportStatus records the Hive metastore import completion state.

type CatalogTarget

type CatalogTarget struct {
	DatabaseName string   `json:"DatabaseName,omitempty"`
	Tables       []string `json:"Tables,omitempty"`
}

CatalogTarget synchronizes an existing Data Catalog database/tables as a crawler target, mirroring aws-sdk-go-v2/service/glue/types.CatalogTarget.

type Classifier

type Classifier struct {
	GrokClassifier *GrokClassifier `json:"GrokClassifier,omitempty"`
	XMLClassifier  *XMLClassifier  `json:"XMLClassifier,omitempty"`
	JSONClassifier *JSONClassifier `json:"JsonClassifier,omitempty"`
	CsvClassifier  *CsvClassifier  `json:"CsvClassifier,omitempty"`
}

Classifier wraps the four classifier types.

type CloudWatchEncryption

type CloudWatchEncryption struct {
	CloudWatchEncryptionMode string `json:"CloudWatchEncryptionMode,omitempty"`
	KMSKeyARN                string `json:"KmsKeyArn,omitempty"`
}

CloudWatchEncryption holds CloudWatch encryption config.

type Column

type Column struct {
	Parameters map[string]string `json:"Parameters,omitempty"`
	Name       string            `json:"Name"`
	Type       string            `json:"Type,omitempty"`
	Comment    string            `json:"Comment,omitempty"`
}

Column represents a column in a Glue table.

type ColumnStatistics

type ColumnStatistics struct {
	StatisticsData ColumnStatisticsData `json:"StatisticsData"`
	ColumnName     string               `json:"ColumnName"`
	ColumnType     string               `json:"ColumnType,omitempty"`
	AnalyzedTime   float64              `json:"AnalyzedTime,omitempty"`
}

ColumnStatistics represents statistics for a single column.

type ColumnStatisticsData

type ColumnStatisticsData struct {
	BooleanColumnStatisticsData any    `json:"BooleanColumnStatisticsData,omitempty"`
	DateColumnStatisticsData    any    `json:"DateColumnStatisticsData,omitempty"`
	DecimalColumnStatisticsData any    `json:"DecimalColumnStatisticsData,omitempty"`
	DoubleColumnStatisticsData  any    `json:"DoubleColumnStatisticsData,omitempty"`
	LongColumnStatisticsData    any    `json:"LongColumnStatisticsData,omitempty"`
	StringColumnStatisticsData  any    `json:"StringColumnStatisticsData,omitempty"`
	BinaryColumnStatisticsData  any    `json:"BinaryColumnStatisticsData,omitempty"`
	Type                        string `json:"Type"`
}

ColumnStatisticsData holds statistics for a column.

type ColumnStatisticsTaskRun

type ColumnStatisticsTaskRun struct {
	DatabaseName              string  `json:"DatabaseName"`
	TableName                 string  `json:"TableName"`
	ColumnStatisticsTaskRunID string  `json:"ColumnStatisticsTaskRunId"`
	Status                    string  `json:"Status"`
	StartedOn                 float64 `json:"StartedOn,omitempty"`
}

ColumnStatisticsTaskRun represents a column statistics task run.

type ColumnStatisticsTaskSettings

type ColumnStatisticsTaskSettings struct {
	Schedule       CrawlerSchedule `json:"Schedule,omitzero"`
	DatabaseName   string          `json:"DatabaseName"`
	TableName      string          `json:"TableName"`
	RoleArn        string          `json:"RoleArn,omitempty"`
	ColumnNameList []string        `json:"ColumnNameList,omitempty"`
}

ColumnStatisticsTaskSettings represents column statistics task settings.

type Connection

type Connection struct {
	ConnectionProperties           map[string]string               `json:"ConnectionProperties,omitempty"`
	Tags                           map[string]string               `json:"-"`
	PhysicalConnectionRequirements *PhysicalConnectionRequirements `json:"PhysicalConnectionRequirements,omitempty"`
	Name                           string                          `json:"Name"`
	ConnectionType                 string                          `json:"ConnectionType,omitempty"`
	ARN                            string                          `json:"Arn,omitempty"`
	Description                    string                          `json:"Description,omitempty"`
	MatchCriteria                  []string                        `json:"MatchCriteria,omitempty"`
	CreationTime                   float64                         `json:"CreationTime,omitempty"`
	LastUpdatedTime                float64                         `json:"LastUpdatedTime,omitempty"`
}

Connection represents a Glue connection.

type ConnectionOptions added in v1.2.0

type ConnectionOptions struct {
	PhysicalConnectionRequirements *PhysicalConnectionRequirements
	Description                    string
	MatchCriteria                  []string
}

ConnectionOptions carries the optional ConnectionInput fields beyond Name/ConnectionType/ConnectionProperties that CreateConnection/ UpdateConnection predate: Description, MatchCriteria, and PhysicalConnectionRequirements (VPC/subnet/security-group settings, used e.g. by NETWORK-type connections in place of ConnectionProperties).

type ConnectionPasswordEncryption

type ConnectionPasswordEncryption struct {
	AwsKmsKeyID                       string `json:"AwsKmsKeyId,omitempty"`
	ReturnConnectionPasswordEncrypted bool   `json:"ReturnConnectionPasswordEncrypted"`
}

ConnectionPasswordEncryption holds connection password encryption config.

type ConnectionTypeInfo

type ConnectionTypeInfo struct {
	// ConnectionType is the canonical connector name (e.g. "JDBC", "SALESFORCE").
	ConnectionType string `json:"ConnectionType"`
	// Description is a human-readable description of the connector.
	Description string `json:"Description,omitempty"`
	// Category groups connectors (e.g. "DATABASE", "SAAS", "STREAMING").
	Category string `json:"Category,omitempty"`
	// Capabilities lists supported connector capabilities.
	Capabilities []string `json:"Capabilities,omitempty"`
	// BuiltIn reports whether this is an AWS-managed (undeletable) type.
	BuiltIn bool `json:"BuiltIn"`
}

ConnectionTypeInfo describes a Glue connection type (connector). BuiltIn types are AWS-managed and undeletable; custom types are registered via RegisterConnectionType.

type ConnectionsList

type ConnectionsList struct {
	Connections []string `json:"Connections,omitempty"`
}

ConnectionsList holds connections for a Glue job.

type CrawlHistoryEntry

type CrawlHistoryEntry struct {
	CrawlID   string  `json:"CrawlId,omitempty"`
	State     string  `json:"State,omitempty"`
	Summary   string  `json:"Summary,omitempty"`
	StartTime float64 `json:"StartTime,omitempty"`
	EndTime   float64 `json:"EndTime,omitempty"`
}

CrawlHistoryEntry records a single crawl run for ListCrawls.

type Crawler

type Crawler struct {
	Tags                         map[string]string           `json:"-"`
	LakeFormationConfiguration   *LakeFormationConfiguration `json:"LakeFormationConfiguration,omitempty"`
	LineageConfiguration         *LineageConfiguration       `json:"LineageConfiguration,omitempty"`
	RecrawlPolicy                *RecrawlPolicy              `json:"RecrawlPolicy,omitempty"`
	SchemaChangePolicy           *SchemaChangePolicy         `json:"SchemaChangePolicy,omitempty"`
	Schedule                     CrawlerSchedule             `json:"Schedule,omitzero"`
	Configuration                string                      `json:"Configuration,omitempty"`
	Description                  string                      `json:"Description,omitempty"`
	ARN                          string                      `json:"Arn,omitempty"`
	TablePrefix                  string                      `json:"TablePrefix,omitempty"`
	CrawlerSecurityConfiguration string                      `json:"CrawlerSecurityConfiguration,omitempty"`
	State                        string                      `json:"State"`
	DatabaseName                 string                      `json:"DatabaseName"`
	Role                         string                      `json:"Role"`
	Name                         string                      `json:"Name"`
	Targets                      CrawlerTarget               `json:"Targets,omitzero"`
	Classifiers                  []string                    `json:"Classifiers,omitempty"`
	CreationTime                 float64                     `json:"CreationTime,omitempty"`
	LastUpdated                  float64                     `json:"LastUpdated,omitempty"`
}

Crawler represents a Glue crawler.

type CrawlerMetrics

type CrawlerMetrics struct {
	CrawlerName          string  `json:"CrawlerName"`
	TimeLeftSeconds      float64 `json:"TimeLeftSeconds"`
	LastRuntimeSeconds   float64 `json:"LastRuntimeSeconds"`
	MedianRuntimeSeconds float64 `json:"MedianRuntimeSeconds"`
	TablesCreated        int     `json:"TablesCreated"`
	TablesUpdated        int     `json:"TablesUpdated"`
	TablesDeleted        int     `json:"TablesDeleted"`
	StillEstimating      bool    `json:"StillEstimating"`
}

CrawlerMetrics holds runtime metrics for a crawler.

type CrawlerOptions

type CrawlerOptions struct {
	SchemaChangePolicy           *SchemaChangePolicy
	RecrawlPolicy                *RecrawlPolicy
	LineageConfiguration         *LineageConfiguration
	LakeFormationConfiguration   *LakeFormationConfiguration
	Description                  string
	Schedule                     string
	Configuration                string
	TablePrefix                  string
	CrawlerSecurityConfiguration string
	Classifiers                  []string
}

CrawlerOptions holds the CreateCrawler/UpdateCrawler fields beyond the core name/role/database/targets/tags accepted by CreateCrawler and UpdateCrawler. It exists so those two methods' signatures — called from outside this package (services/cloudformation) — stay additive/stable while still letting the Glue handler pass through Schedule, Classifiers, Configuration, TablePrefix and Description.

type CrawlerSchedule

type CrawlerSchedule struct {
	ScheduleExpression string `json:"ScheduleExpression,omitempty"`
	State              string `json:"State,omitempty"`
}

CrawlerSchedule represents the schedule configuration for a crawler.

type CrawlerTarget

type CrawlerTarget struct {
	S3Targets       []S3Target       `json:"S3Targets,omitempty"`
	JdbcTargets     []JDBCTarget     `json:"JdbcTargets,omitempty"`
	CatalogTargets  []CatalogTarget  `json:"CatalogTargets,omitempty"`
	DynamoDBTargets []DynamoDBTarget `json:"DynamoDBTargets,omitempty"`
	DeltaTargets    []DeltaTarget    `json:"DeltaTargets,omitempty"`
	HudiTargets     []HudiTarget     `json:"HudiTargets,omitempty"`
	IcebergTargets  []IcebergTarget  `json:"IcebergTargets,omitempty"`
	MongoDBTargets  []MongoDBTarget  `json:"MongoDBTargets,omitempty"`
}

CrawlerTarget specifies the data stores a crawler scans, mirroring aws-sdk-go-v2/service/glue/types.CrawlerTargets (S3, JDBC, catalog, DynamoDB, Delta, Hudi, Iceberg, MongoDB — all eight target kinds).

type CsvClassifier

type CsvClassifier struct {
	Name        string   `json:"Name"`
	Delimiter   string   `json:"Delimiter,omitempty"`
	QuoteSymbol string   `json:"QuoteSymbol,omitempty"`
	Header      []string `json:"Header,omitempty"`
}

CsvClassifier is a CSV-based classifier.

type CustomEntityType

type CustomEntityType struct {
	Name         string   `json:"Name"`
	RegexString  string   `json:"RegexString,omitempty"`
	ContextWords []string `json:"ContextWords,omitempty"`
}

CustomEntityType represents a Glue custom entity type.

type DQRuleRecommendationRun

type DQRuleRecommendationRun struct {
	RecommendationRunID string  `json:"RecommendationRunId"`
	DataSourceS3Path    string  `json:"DataSourceS3Path,omitempty"`
	Status              string  `json:"Status"`
	StartedOn           float64 `json:"StartedOn,omitempty"`
}

DQRuleRecommendationRun represents a data quality rule recommendation run.

type DataCatalogEncryptionSettings

type DataCatalogEncryptionSettings struct {
	EncryptionAtRest             *EncryptionAtRest             `json:"EncryptionAtRest,omitempty"`
	ConnectionPasswordEncryption *ConnectionPasswordEncryption `json:"ConnectionPasswordEncryption,omitempty"`
}

DataCatalogEncryptionSettings holds catalog encryption settings.

type DataLakePrincipal added in v1.2.0

type DataLakePrincipal struct {
	DataLakePrincipalIdentifier string `json:"DataLakePrincipalIdentifier,omitempty"`
}

DataLakePrincipal identifies a Lake Formation principal, mirroring aws-sdk-go-v2/service/glue/types.DataLakePrincipal.

type DataQualityEncryption added in v1.2.0

type DataQualityEncryption struct {
	DataQualityEncryptionMode string `json:"DataQualityEncryptionMode,omitempty"`
	KMSKeyARN                 string `json:"KmsKeyArn,omitempty"`
}

DataQualityEncryption holds Glue Data Quality asset encryption settings, mirroring aws-sdk-go-v2/service/glue/types.DataQualityEncryption.

type DataQualityEvaluationRun

type DataQualityEvaluationRun struct {
	RunID        string   `json:"RunId"`
	Status       string   `json:"Status"`
	ErrorString  string   `json:"ErrorString,omitempty"`
	RulesetNames []string `json:"RulesetNames,omitempty"`
	StartedOn    float64  `json:"StartedOn,omitempty"`
	CompletedOn  float64  `json:"CompletedOn,omitempty"`
}

DataQualityEvaluationRun represents a data quality ruleset evaluation run.

type DataQualityResult

type DataQualityResult struct {
	ResultID string  `json:"ResultId"`
	Score    float64 `json:"Score,omitempty"`
}

DataQualityResult represents a Glue data quality result.

type DataQualityRuleset

type DataQualityRuleset struct {
	Tags                             map[string]string       `json:"-"`
	TargetTable                      *DataQualityTargetTable `json:"TargetTable,omitempty"`
	Name                             string                  `json:"Name"`
	Ruleset                          string                  `json:"Ruleset,omitempty"`
	Description                      string                  `json:"Description,omitempty"`
	ARN                              string                  `json:"Arn,omitempty"`
	DataQualitySecurityConfiguration string                  `json:"DataQualitySecurityConfiguration,omitempty"`
	CreatedOn                        float64                 `json:"CreatedOn,omitempty"`
	LastModifiedOn                   float64                 `json:"LastModifiedOn,omitempty"`
}

DataQualityRuleset represents a Glue data quality ruleset.

type DataQualityRulesetOptions added in v1.2.0

type DataQualityRulesetOptions struct {
	TargetTable                      *DataQualityTargetTable
	Description                      string
	DataQualitySecurityConfiguration string
}

DataQualityRulesetOptions carries the optional CreateDataQualityRuleset settings beyond Name/Ruleset/Tags.

type DataQualityTargetTable added in v1.2.0

type DataQualityTargetTable struct {
	TableName    string `json:"TableName"`
	DatabaseName string `json:"DatabaseName"`
	CatalogID    string `json:"CatalogId,omitempty"`
}

DataQualityTargetTable identifies the Glue table a data quality ruleset applies to, mirroring aws-sdk-go-v2/service/glue/types.DataQualityTargetTable.

type Database

type Database struct {
	Tags                          map[string]string      `json:"-"`
	Parameters                    map[string]string      `json:"Parameters,omitempty"`
	TargetDatabase                *DatabaseIdentifier    `json:"TargetDatabase,omitempty"`
	Name                          string                 `json:"Name"`
	Description                   string                 `json:"Description,omitempty"`
	CatalogID                     string                 `json:"CatalogId"`
	ARN                           string                 `json:"Arn,omitempty"`
	LocationURI                   string                 `json:"LocationUri,omitempty"`
	CreateTableDefaultPermissions []PrincipalPermissions `json:"CreateTableDefaultPermissions,omitempty"`
	CreateTime                    float64                `json:"CreateTime,omitempty"`
}

Database represents a Glue catalog database.

type DatabaseIdentifier added in v1.2.0

type DatabaseIdentifier struct {
	CatalogID    string `json:"CatalogId,omitempty"`
	DatabaseName string `json:"DatabaseName,omitempty"`
	Region       string `json:"Region,omitempty"`
}

DatabaseIdentifier identifies a target database for resource-linking, mirroring aws-sdk-go-v2/service/glue/types.DatabaseIdentifier.

type DatabaseInput

type DatabaseInput struct {
	Parameters                    map[string]string      `json:"Parameters,omitempty"`
	TargetDatabase                *DatabaseIdentifier    `json:"TargetDatabase,omitempty"`
	Name                          string                 `json:"Name"`
	Description                   string                 `json:"Description,omitempty"`
	LocationURI                   string                 `json:"LocationUri,omitempty"`
	CreateTableDefaultPermissions []PrincipalPermissions `json:"CreateTableDefaultPermissions,omitempty"`
}

DatabaseInput is the input for creating or updating a Glue database.

type DeltaTarget added in v1.2.0

type DeltaTarget struct {
	ConnectionName         string   `json:"ConnectionName,omitempty"`
	DeltaTables            []string `json:"DeltaTables,omitempty"`
	WriteManifest          bool     `json:"WriteManifest,omitempty"`
	CreateNativeDeltaTable bool     `json:"CreateNativeDeltaTable,omitempty"`
}

DeltaTarget is a Delta Lake table crawl target, mirroring aws-sdk-go-v2/service/glue/types.DeltaTarget.

type DevEndpoint

type DevEndpoint struct {
	Arguments                          map[string]string `json:"Arguments,omitempty"`
	Tags                               map[string]string `json:"-"`
	ExtraJarsS3Path                    string            `json:"ExtraJarsS3Path,omitempty"`
	ARN                                string            `json:"-"`
	EndpointName                       string            `json:"EndpointName"`
	Status                             string            `json:"Status,omitempty"`
	RoleArn                            string            `json:"RoleArn,omitempty"`
	SubnetID                           string            `json:"SubnetId,omitempty"`
	PublicKey                          string            `json:"PublicKey,omitempty"`
	WorkerType                         string            `json:"WorkerType,omitempty"`
	GlueVersion                        string            `json:"GlueVersion,omitempty"`
	ExtraPythonLibsS3Path              string            `json:"ExtraPythonLibsS3Path,omitempty"`
	VpcID                              string            `json:"VpcId,omitempty"`
	SecurityConfiguration              string            `json:"SecurityConfiguration,omitempty"`
	YarnEndpointAddress                string            `json:"YarnEndpointAddress,omitempty"`
	LastUpdateStatus                   string            `json:"LastUpdateStatus,omitempty"`
	AvailabilityZone                   string            `json:"AvailabilityZone,omitempty"`
	PrivateAddress                     string            `json:"PrivateAddress,omitempty"`
	PublicAddress                      string            `json:"PublicAddress,omitempty"`
	FailureReason                      string            `json:"FailureReason,omitempty"`
	PublicKeys                         []string          `json:"PublicKeys,omitempty"`
	SecurityGroupIDs                   []string          `json:"SecurityGroupIds,omitempty"`
	NumberOfWorkers                    int               `json:"NumberOfWorkers,omitempty"`
	NumberOfNodes                      int               `json:"NumberOfNodes,omitempty"`
	ZeppelinRemoteSparkInterpreterPort int               `json:"ZeppelinRemoteSparkInterpreterPort,omitempty"`
	CreatedTimestamp                   float64           `json:"CreatedTimestamp,omitempty"`
	LastModifiedTimestamp              float64           `json:"LastModifiedTimestamp,omitempty"`
}

DevEndpoint represents a Glue development endpoint.

type DevEndpointInput added in v1.2.0

type DevEndpointInput struct {
	Arguments             map[string]string
	SubnetID              string
	PublicKey             string
	WorkerType            string
	GlueVersion           string
	ExtraPythonLibsS3Path string
	ExtraJarsS3Path       string
	SecurityConfiguration string
	SecurityGroupIDs      []string
	PublicKeys            []string
	NumberOfNodes         int
	NumberOfWorkers       int
}

DevEndpointInput carries the optional CreateDevEndpoint settings beyond EndpointName/RoleArn.

type DynamoDBTarget added in v1.2.0

type DynamoDBTarget struct {
	Path     string  `json:"Path,omitempty"`
	ScanAll  bool    `json:"ScanAll,omitempty"`
	ScanRate float64 `json:"ScanRate,omitempty"`
}

DynamoDBTarget is a DynamoDB table crawl target, mirroring aws-sdk-go-v2/service/glue/types.DynamoDBTarget.

type EncryptionAtRest

type EncryptionAtRest struct {
	CatalogEncryptionMode        string `json:"CatalogEncryptionMode,omitempty"`
	SseAwsKmsKeyID               string `json:"SseAwsKmsKeyId,omitempty"`
	CatalogEncryptionServiceRole string `json:"CatalogEncryptionServiceRole,omitempty"`
}

EncryptionAtRest holds at-rest encryption config.

type EncryptionConfiguration

type EncryptionConfiguration struct {
	CloudWatchEncryption   *CloudWatchEncryption   `json:"CloudWatchEncryption,omitempty"`
	JobBookmarksEncryption *JobBookmarksEncryption `json:"JobBookmarksEncryption,omitempty"`
	DataQualityEncryption  *DataQualityEncryption  `json:"DataQualityEncryption,omitempty"`
	S3Encryption           []S3EncryptionEntry     `json:"S3Encryption,omitempty"`
}

EncryptionConfiguration holds encryption settings for a SecurityConfiguration.

type EntityDescriptor

type EntityDescriptor struct {
	EntityName     string `json:"EntityName"`
	Label          string `json:"Label,omitempty"`
	Category       string `json:"Category,omitempty"`
	IsParentEntity bool   `json:"IsParentEntity"`
}

EntityDescriptor describes an entity exposed by a connector, matching the shape AWS Glue returns from ListEntities' Entities list.

type EntityField

type EntityField struct {
	FieldName                string   `json:"FieldName"`
	Label                    string   `json:"Label,omitempty"`
	Description              string   `json:"Description,omitempty"`
	FieldType                string   `json:"FieldType"`
	NativeDataType           string   `json:"NativeDataType,omitempty"`
	SupportedFilterOperators []string `json:"SupportedFilterOperators,omitempty"`
	IsNullable               bool     `json:"IsNullable"`
	IsRetrievable            bool     `json:"IsRetrievable"`
	IsPartitionable          bool     `json:"IsPartitionable"`
	IsCreateable             bool     `json:"IsCreateable"`
	IsUpdateable             bool     `json:"IsUpdateable"`
	IsUpsertable             bool     `json:"IsUpsertable"`
	IsFilterable             bool     `json:"IsFilterable"`
}

EntityField describes a single schema field of a connector entity, matching the shape AWS Glue returns from DescribeEntity's Fields list.

type ErrorDetail

type ErrorDetail struct {
	ErrorCode    string `json:"ErrorCode"`
	ErrorMessage string `json:"ErrorMessage"`
}

ErrorDetail holds an error code and message for batch operation failures.

type ExecutionProperty

type ExecutionProperty struct {
	MaxConcurrentRuns int `json:"MaxConcurrentRuns,omitempty"`
}

ExecutionProperty holds max concurrent runs for a Glue job.

type FormType added in v1.2.0

type FormType struct {
	ID     string `json:"Id"`
	Name   string `json:"Name"`
	Schema string `json:"Schema,omitempty"`
}

FormType defines the schema for structured metadata that can be attached to assets. Field-diffed against PutFormTypeOutput/GetFormTypeOutput, which share exactly these three fields.

type FormTypeItem added in v1.2.0

type FormTypeItem struct {
	ID   string `json:"Id"`
	Name string `json:"Name"`
}

FormTypeItem is the summary shape returned by ListFormTypes, field-diffed against types.FormTypeItem (Id/Name only -- no Schema).

type Glossary added in v1.2.0

type Glossary struct {
	ID          string `json:"Id"`
	Name        string `json:"Name"`
	Description string `json:"Description,omitempty"`
}

Glossary represents a Glue Data Catalog business glossary. Field-diffed against aws-sdk-go-v2/service/glue's CreateGlossaryOutput/GetGlossaryOutput/ UpdateGlossaryOutput/types.GlossaryItem, all of which share exactly these three fields, so this one struct doubles as the wire shape for every glossary read/write response (see handler_glossaries.go).

type GlossaryTerm added in v1.2.0

type GlossaryTerm struct {
	ID               string `json:"Id"`
	GlossaryID       string `json:"GlossaryId"`
	Name             string `json:"Name"`
	ShortDescription string `json:"ShortDescription,omitempty"`
	LongDescription  string `json:"LongDescription,omitempty"`
}

GlossaryTerm represents a term within a business glossary. Field-diffed against CreateGlossaryTermOutput/GetGlossaryTermOutput/ UpdateGlossaryTermOutput, which share exactly these five fields.

type GlossaryTermItem added in v1.2.0

type GlossaryTermItem struct {
	ID               string `json:"Id"`
	Name             string `json:"Name"`
	ShortDescription string `json:"ShortDescription,omitempty"`
}

GlossaryTermItem is the summary shape returned by ListGlossaryTerms, field-diffed against types.GlossaryTermItem (Id/Name/ShortDescription only -- no GlossaryId or LongDescription, unlike the full GlossaryTerm shape).

type GlueTable

type GlueTable struct {
	CatalogID      string `json:"CatalogId,omitempty"`
	DatabaseName   string `json:"DatabaseName"`
	TableName      string `json:"TableName"`
	ConnectionName string `json:"ConnectionName,omitempty"`
}

GlueTable holds a reference to a Glue catalog table used by an ML transform.

type GrokClassifier

type GrokClassifier struct {
	Name           string `json:"Name"`
	Classification string `json:"Classification,omitempty"`
	GrokPattern    string `json:"GrokPattern,omitempty"`
	CustomPatterns string `json:"CustomPatterns,omitempty"`
}

GrokClassifier is a Grok-based classifier.

type Handler

type Handler struct {
	Backend StorageBackend
	// contains filtered or unexported fields
}

Handler is the Echo HTTP handler for AWS Glue operations.

func NewHandler

func NewHandler(backend StorageBackend) *Handler

NewHandler creates a new Glue handler backed by backend.

func (*Handler) ChaosOperations

func (h *Handler) ChaosOperations() []string

ChaosOperations returns all operations that can be fault-injected.

func (*Handler) ChaosRegions

func (h *Handler) ChaosRegions() []string

ChaosRegions returns all regions this handler instance handles.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name for fault rule matching.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation returns the operation name from the X-Amz-Target header.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource extracts a resource identifier from the request body.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns the list of supported Glue operations.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the Echo handler function for Glue requests.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears all backend state. Used for test isolation.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements Snapshottable by delegating to the backend when it supports it.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher returns a function that matches Glue requests via X-Amz-Target.

func (*Handler) Shutdown

func (h *Handler) Shutdown(_ context.Context)

Shutdown implements service.Shutdowner. It stops the reconciler and waits for its goroutine to exit, guaranteeing a clean, leak-free shutdown.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements Snapshottable by delegating to the backend when it supports it.

func (*Handler) StartWorker

func (h *Handler) StartWorker(ctx context.Context) error

StartWorker implements service.BackgroundWorker. It starts the managed lifecycle reconciler using the framework-provided background context, so no context.Background() is introduced.

type HudiTarget added in v1.2.0

type HudiTarget struct {
	ConnectionName        string   `json:"ConnectionName,omitempty"`
	Paths                 []string `json:"Paths,omitempty"`
	Exclusions            []string `json:"Exclusions,omitempty"`
	MaximumTraversalDepth int32    `json:"MaximumTraversalDepth,omitempty"`
}

HudiTarget is an Apache Hudi table crawl target, mirroring aws-sdk-go-v2/service/glue/types.HudiTarget.

type IcebergTarget added in v1.2.0

type IcebergTarget struct {
	ConnectionName        string   `json:"ConnectionName,omitempty"`
	Paths                 []string `json:"Paths,omitempty"`
	Exclusions            []string `json:"Exclusions,omitempty"`
	MaximumTraversalDepth int32    `json:"MaximumTraversalDepth,omitempty"`
}

IcebergTarget is an Apache Iceberg table crawl target, mirroring aws-sdk-go-v2/service/glue/types.IcebergTarget.

type IdentityCenterConfig

type IdentityCenterConfig struct {
	InstanceARN string `json:"InstanceArn,omitempty"`
	Status      string `json:"Status"`
}

IdentityCenterConfig represents the Glue Identity Center configuration.

type InMemoryBackend

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

InMemoryBackend stores Glue state in memory. Most resource collections are *store.Table[T], registered once on b.registry via registerAllTables (see store_setup.go); a handful remain plain maps because their key is not a pure function of the stored value's own fields, or because they hold a one-to-many history/list rather than a single value per key -- see the comment above registerAllTables in store_setup.go for the full list and rationale.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new in-memory Glue backend.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the backend account ID.

func (*InMemoryBackend) AddBlueprintInternal

func (b *InMemoryBackend) AddBlueprintInternal(bp *Blueprint)

AddBlueprintInternal adds a blueprint directly to the backend without validation.

func (*InMemoryBackend) AddConnectionInternal

func (b *InMemoryBackend) AddConnectionInternal(conn *Connection)

AddConnectionInternal adds a connection directly to the backend without validation.

func (*InMemoryBackend) AddCustomEntityTypeInternal

func (b *InMemoryBackend) AddCustomEntityTypeInternal(cet *CustomEntityType)

AddCustomEntityTypeInternal adds a custom entity type directly to the backend without validation.

func (*InMemoryBackend) AddDataQualityEvalRunInternal

func (b *InMemoryBackend) AddDataQualityEvalRunInternal(run *DataQualityEvaluationRun)

AddDataQualityEvalRunInternal adds an evaluation run directly without validation.

func (*InMemoryBackend) AddDataQualityResultInternal

func (b *InMemoryBackend) AddDataQualityResultInternal(dqr *DataQualityResult)

AddDataQualityResultInternal adds a data quality result directly to the backend without validation.

func (*InMemoryBackend) AddDataQualityRulesetInternal

func (b *InMemoryBackend) AddDataQualityRulesetInternal(r *DataQualityRuleset)

AddDataQualityRulesetInternal adds a data quality ruleset without validation.

func (*InMemoryBackend) AddDevEndpointInternal

func (b *InMemoryBackend) AddDevEndpointInternal(dep *DevEndpoint)

AddDevEndpointInternal adds a dev endpoint directly to the backend without validation.

func (*InMemoryBackend) AddJobRunInternal

func (b *InMemoryBackend) AddJobRunInternal(run *JobRun)

AddJobRunInternal adds a job run directly to the backend without validation.

func (*InMemoryBackend) AddPartitionInternal

func (b *InMemoryBackend) AddPartitionInternal(dbName, tableName string, p *Partition)

AddPartitionInternal adds a partition directly to the backend without validation. dbName/tableName are stamped onto the stored copy (rather than trusted from the caller-supplied p, which the existing test-seed callers often leave zero-valued) so the store.Table key -- derived purely from the value via partitionEntryKeyFn -- matches the dbName/tableName this entry is filed under, exactly as the previous raw map (keyed externally on the same two parameters) did.

func (*InMemoryBackend) AddTableVersionInternal

func (b *InMemoryBackend) AddTableVersionInternal(dbName, tableName string, tv *TableVersion)

AddTableVersionInternal adds a table version directly to the backend without validation. dbName/tableName are stamped onto the stored copy's nested Table field (rather than trusted from the caller-supplied tv, which the existing test-seed callers often leave zero-valued) so the store.Table key -- derived purely from the value via tableVersionEntryKeyFn -- matches the dbName/tableName this entry is filed under, exactly as the previous raw map (keyed externally on the same two parameters) did.

func (*InMemoryBackend) AssociateGlossaryTerms added in v1.2.0

func (b *InMemoryBackend) AssociateGlossaryTerms(assetID string, termIDs []string) ([]string, error)

AssociateGlossaryTerms associates one or more glossary terms with an asset, returning the asset's complete (deduplicated) set of associated term IDs.

func (*InMemoryBackend) BatchCreatePartition

func (b *InMemoryBackend) BatchCreatePartition(
	dbName, tableName string,
	inputs []PartitionInput,
) ([]*Partition, []PartitionError)

BatchCreatePartition creates multiple partitions for a table.

func (*InMemoryBackend) BatchDeleteConnection

func (b *InMemoryBackend) BatchDeleteConnection(names []string) ([]string, []ErrorDetail)

BatchDeleteConnection deletes multiple connections.

func (*InMemoryBackend) BatchDeletePartition

func (b *InMemoryBackend) BatchDeletePartition(
	dbName, tableName string,
	values []PartitionValueList,
) []PartitionError

BatchDeletePartition deletes multiple partitions for a table.

func (*InMemoryBackend) BatchDeleteTable

func (b *InMemoryBackend) BatchDeleteTable(dbName string, tableNames []string) []TableError

BatchDeleteTable deletes multiple tables and cascades to partitions and versions.

func (*InMemoryBackend) BatchDeleteTableVersion

func (b *InMemoryBackend) BatchDeleteTableVersion(
	dbName, tableName string,
	versionIDs []string,
) []TableVersionError

BatchDeleteTableVersion deletes multiple table versions.

func (*InMemoryBackend) BatchGetBlueprints

func (b *InMemoryBackend) BatchGetBlueprints(names []string) ([]*Blueprint, []string)

BatchGetBlueprints retrieves multiple blueprints by name.

func (*InMemoryBackend) BatchGetCrawlers

func (b *InMemoryBackend) BatchGetCrawlers(names []string) ([]*Crawler, []string)

BatchGetCrawlers retrieves multiple crawlers by name.

func (*InMemoryBackend) BatchGetCustomEntityTypes

func (b *InMemoryBackend) BatchGetCustomEntityTypes(
	names []string,
) ([]*CustomEntityType, []string)

BatchGetCustomEntityTypes retrieves multiple custom entity types by name.

func (*InMemoryBackend) BatchGetDataQualityResult

func (b *InMemoryBackend) BatchGetDataQualityResult(
	resultIDs []string,
) ([]*DataQualityResult, []ErrorDetail)

BatchGetDataQualityResult retrieves multiple data quality results by ID.

func (*InMemoryBackend) BatchGetDevEndpoints

func (b *InMemoryBackend) BatchGetDevEndpoints(names []string) ([]*DevEndpoint, []string)

BatchGetDevEndpoints retrieves multiple dev endpoints by name.

func (*InMemoryBackend) BatchGetIterableForms added in v1.2.0

func (b *InMemoryBackend) BatchGetIterableForms(
	assetID, iterableFormName string,
	itemIDs []string,
) ([]*IterableFormItem, []ItemErrorDetail, error)

BatchGetIterableForms retrieves multiple items from one iterable form on an asset. Items not found are reported per-item in the returned errors slice rather than failing the whole request, matching BatchGetIterableFormsOutput having both Items and Errors.

func (*InMemoryBackend) BatchGetTableOptimizer

func (b *InMemoryBackend) BatchGetTableOptimizer(
	entries []BatchGetTableOptimizerEntry,
) ([]*TableOptimizer, []BatchGetTableOptimizerError)

func (*InMemoryBackend) BatchGetTriggers

func (b *InMemoryBackend) BatchGetTriggers(names []string) ([]*Trigger, []string)

BatchGetTriggers retrieves multiple triggers by name.

func (*InMemoryBackend) BatchGetWorkflows

func (b *InMemoryBackend) BatchGetWorkflows(names []string) ([]*Workflow, []string)

BatchGetWorkflows retrieves multiple workflows by name.

func (*InMemoryBackend) BatchStopJobRun

func (b *InMemoryBackend) BatchStopJobRun(jobName string, runIDs []string) []BatchStopJobRunError

BatchStopJobRun stops multiple job runs by setting their state to STOPPING. Only RUNNING or STARTING runs can be stopped.

func (*InMemoryBackend) CancelDataQualityRuleRecommendationRun

func (b *InMemoryBackend) CancelDataQualityRuleRecommendationRun(runID string) error

CancelDataQualityRuleRecommendationRun marks a recommendation run as cancelled.

func (*InMemoryBackend) CancelDataQualityRulesetEvaluationRun

func (b *InMemoryBackend) CancelDataQualityRulesetEvaluationRun(runID string) error

CancelDataQualityRulesetEvaluationRun cancels an active evaluation run.

func (*InMemoryBackend) CancelMLTaskRun

func (b *InMemoryBackend) CancelMLTaskRun(transformID, taskRunID string) error

CancelMLTaskRun transitions an ML task run to STOPPED status.

func (*InMemoryBackend) CancelStatement

func (b *InMemoryBackend) CancelStatement(sessionID string, statementID int32) error

func (*InMemoryBackend) Close

func (b *InMemoryBackend) Close()

Close stops the background reconciler and waits for its goroutine to exit. It is retained for callers (and tests) that manage a backend's lifecycle directly; it is an idempotent alias for StopReconciler.

func (*InMemoryBackend) CreateBlueprint

func (b *InMemoryBackend) CreateBlueprint(
	name, blueprintLocation, description string,
	tags map[string]string,
) (*Blueprint, error)

CreateBlueprint stores a new blueprint. blueprintLocation mirrors CreateBlueprintInput's required BlueprintLocation (the S3 path where the blueprint is published).

func (*InMemoryBackend) CreateCatalog

func (b *InMemoryBackend) CreateCatalog(
	catalogID, name, description string,
	params map[string]string,
) error

func (*InMemoryBackend) CreateClassifier

func (b *InMemoryBackend) CreateClassifier(c Classifier) error

CreateClassifier creates a new Glue classifier.

func (*InMemoryBackend) CreateColumnStatisticsTaskSettings

func (b *InMemoryBackend) CreateColumnStatisticsTaskSettings(
	dbName, tableName, roleArn string,
	columns []string,
) (*ColumnStatisticsTaskSettings, error)

CreateColumnStatisticsTaskSettings stores task settings.

func (*InMemoryBackend) CreateConnection

func (b *InMemoryBackend) CreateConnection(
	name, connType string, props map[string]string, tags map[string]string,
) (*Connection, error)

CreateConnection creates a new Glue connection.

func (*InMemoryBackend) CreateConnectionWithOptions added in v1.2.0

func (b *InMemoryBackend) CreateConnectionWithOptions(
	name, connType string, props map[string]string, tags map[string]string, opts ConnectionOptions,
) (*Connection, error)

CreateConnectionWithOptions is CreateConnection plus the optional creation-time settings ConnectionInput also supports (Description/ MatchCriteria/PhysicalConnectionRequirements).

func (*InMemoryBackend) CreateCrawler

func (b *InMemoryBackend) CreateCrawler(
	name, role, dbName string,
	targets CrawlerTarget,
	tags map[string]string,
) (*Crawler, error)

CreateCrawler creates a new Glue crawler.

func (*InMemoryBackend) CreateCrawlerWithOptions

func (b *InMemoryBackend) CreateCrawlerWithOptions(
	name, role, dbName string,
	targets CrawlerTarget,
	tags map[string]string,
	opts CrawlerOptions,
) (*Crawler, error)

CreateCrawlerWithOptions is CreateCrawler plus the optional creation-time settings AWS's CreateCrawlerRequest supports (Schedule/Classifiers/Configuration/TablePrefix/Description) that the original positional-argument CreateCrawler predates.

func (*InMemoryBackend) CreateCustomEntityType

func (b *InMemoryBackend) CreateCustomEntityType(
	name, regexString string,
	contextWords []string,
) (*CustomEntityType, error)

CreateCustomEntityType stores a new custom entity type.

func (*InMemoryBackend) CreateDataQualityRuleset

func (b *InMemoryBackend) CreateDataQualityRuleset(
	name, ruleset string,
	tags map[string]string,
) (*DataQualityRuleset, error)

CreateDataQualityRuleset creates a new data quality ruleset.

func (*InMemoryBackend) CreateDataQualityRulesetWithOptions added in v1.2.0

func (b *InMemoryBackend) CreateDataQualityRulesetWithOptions(
	name, ruleset string,
	tags map[string]string,
	opts DataQualityRulesetOptions,
) (*DataQualityRuleset, error)

CreateDataQualityRulesetWithOptions is CreateDataQualityRuleset plus the optional creation-time settings CreateDataQualityRulesetInput also supports (Description/DataQualitySecurityConfiguration/TargetTable).

func (*InMemoryBackend) CreateDatabase

func (b *InMemoryBackend) CreateDatabase(
	input DatabaseInput,
	tags map[string]string,
) (*Database, error)

CreateDatabase creates a new Glue database.

func (*InMemoryBackend) CreateDevEndpoint

func (b *InMemoryBackend) CreateDevEndpoint(
	name string,
	input DevEndpointInput,
	roleArn string,
	tags map[string]string,
) (*DevEndpoint, error)

CreateDevEndpoint creates a new Glue dev endpoint. RoleArn is required, per CreateDevEndpointInput.

func (*InMemoryBackend) CreateGlossary added in v1.2.0

func (b *InMemoryBackend) CreateGlossary(name, description string) (*Glossary, error)

CreateGlossary creates a new business glossary.

func (*InMemoryBackend) CreateGlossaryTerm added in v1.2.0

func (b *InMemoryBackend) CreateGlossaryTerm(glossaryID, name, shortDesc, longDesc string) (*GlossaryTerm, error)

CreateGlossaryTerm creates a term within an existing glossary.

func (*InMemoryBackend) CreateGlueIdentityCenterConfiguration

func (b *InMemoryBackend) CreateGlueIdentityCenterConfiguration(instanceARN string) error

CreateGlueIdentityCenterConfiguration creates the configuration.

func (*InMemoryBackend) CreateIntegration

func (b *InMemoryBackend) CreateIntegration(name string, tags map[string]string) (*Integration, error)

CreateIntegration stores a new integration.

func (*InMemoryBackend) CreateIntegrationResourceProperty

func (b *InMemoryBackend) CreateIntegrationResourceProperty(
	resourceArn string,
	sourceProps, targetProps map[string]string,
) (*IntegrationResourceProperty, error)

CreateIntegrationResourceProperty stores properties for an integration resource.

func (*InMemoryBackend) CreateIntegrationTableProperties

func (b *InMemoryBackend) CreateIntegrationTableProperties(
	resourceArn, tableName string,
	sourceConfig, targetConfig map[string]any,
) error

CreateIntegrationTableProperties stores properties for an integration table.

func (*InMemoryBackend) CreateJob

func (b *InMemoryBackend) CreateJob(input Job) (*Job, error)

CreateJob creates a new Glue job.

func (*InMemoryBackend) CreateMLTransform

func (b *InMemoryBackend) CreateMLTransform(
	name, description, role string,
	tables []GlueTable,
	params MLTransformParameter,
	tags map[string]string,
) (*MLTransform, error)

func (*InMemoryBackend) CreateMLTransformWithOptions added in v1.2.0

func (b *InMemoryBackend) CreateMLTransformWithOptions(
	name, description, role string,
	tables []GlueTable,
	params MLTransformParameter,
	tags map[string]string,
	opts MLTransformOptions,
) (*MLTransform, error)

CreateMLTransformWithOptions is CreateMLTransform plus the optional creation-time settings CreateMLTransformRequest also supports (GlueVersion/ WorkerType/NumberOfWorkers/MaxCapacity/MaxRetries/Timeout/Schema/ TransformEncryption), enforcing AWS's documented mutual exclusion between MaxCapacity and WorkerType/NumberOfWorkers.

func (*InMemoryBackend) CreatePartitionIndex

func (b *InMemoryBackend) CreatePartitionIndex(dbName, tableName string, input PartitionIndex) error

CreatePartitionIndex creates an index for an existing table's partition keys.

func (*InMemoryBackend) CreateRegistry

func (b *InMemoryBackend) CreateRegistry(
	name, description string,
	tags map[string]string,
) (*Registry, error)

CreateRegistry creates a new Glue Schema Registry.

func (*InMemoryBackend) CreateSchema

func (b *InMemoryBackend) CreateSchema(
	registryName, schemaName, dataFormat, compatibility, description string,
	tags map[string]string,
) (*Schema, error)

CreateSchema creates a new schema in the given registry.

func (*InMemoryBackend) CreateSecurityConfiguration

func (b *InMemoryBackend) CreateSecurityConfiguration(
	name string,
	enc EncryptionConfiguration,
) (*SecurityConfiguration, error)

func (*InMemoryBackend) CreateSession

func (b *InMemoryBackend) CreateSession(
	id, role string,
	cmd SessionCommand,
	opts Session,
) (*Session, error)

func (*InMemoryBackend) CreateTable

func (b *InMemoryBackend) CreateTable(dbName string, input TableInput) (*Table, error)

CreateTable creates a new Glue table in a database.

func (*InMemoryBackend) CreateTableOptimizer

func (b *InMemoryBackend) CreateTableOptimizer(
	catalogID, dbName, tableName, optimizerType string,
	config TableOptimizerConfiguration,
) error

CreateTableOptimizer registers a table optimizer and, mirroring the automatic compaction run AWS kicks off shortly after an optimizer is enabled, seeds an initial completed run so ListTableOptimizerRuns has real history to return.

func (*InMemoryBackend) CreateTrigger

func (b *InMemoryBackend) CreateTrigger(t Trigger, tags map[string]string) (*Trigger, error)

CreateTrigger creates a new Glue trigger.

func (*InMemoryBackend) CreateUsageProfile

func (b *InMemoryBackend) CreateUsageProfile(name, description string, tags map[string]string) (*UsageProfile, error)

CreateUsageProfile creates a new usage profile.

func (*InMemoryBackend) CreateUserDefinedFunction

func (b *InMemoryBackend) CreateUserDefinedFunction(
	dbName string,
	input UserDefinedFunction,
	tags map[string]string,
) (*UserDefinedFunction, error)

func (*InMemoryBackend) CreateWorkflow

func (b *InMemoryBackend) CreateWorkflow(w Workflow, tags map[string]string) (*Workflow, error)

CreateWorkflow creates a new Glue workflow.

func (*InMemoryBackend) DeleteAsset added in v1.2.0

func (b *InMemoryBackend) DeleteAsset(id string) error

DeleteAsset deletes an asset and cascades to its iterable form items (their only owner), matching the ownership rule that iterable form items cannot outlive the asset they belong to.

func (*InMemoryBackend) DeleteAssetType added in v1.2.0

func (b *InMemoryBackend) DeleteAssetType(id string) error

DeleteAssetType deletes an asset type. AWS documents no ConflictException for this operation (confirmed in deserializers.go's error switch for DeleteAssetType, unlike DeleteFormType/DeleteGlossary), so deleting an asset type still referenced by existing assets is allowed -- matching real AWS behavior rather than inventing an undocumented guard.

func (*InMemoryBackend) DeleteAttachment added in v1.2.0

func (b *InMemoryBackend) DeleteAttachment(assetID, attachmentName, iterableFormName, itemIdentifier string) error

DeleteAttachment deletes a form attachment from an asset, or from an item within one of its iterable forms. Deleting an attachment that does not exist is a no-op, matching the lenient delete semantics used elsewhere in this backend; only the owning asset's existence is enforced (the documented EntityNotFoundException).

func (*InMemoryBackend) DeleteBlueprint

func (b *InMemoryBackend) DeleteBlueprint(name string) error

DeleteBlueprint removes a blueprint.

func (*InMemoryBackend) DeleteCatalog

func (b *InMemoryBackend) DeleteCatalog(catalogID string) error

func (*InMemoryBackend) DeleteClassifier

func (b *InMemoryBackend) DeleteClassifier(name string) error

DeleteClassifier deletes a Glue classifier by name.

func (*InMemoryBackend) DeleteColumnStatisticsForPartition

func (b *InMemoryBackend) DeleteColumnStatisticsForPartition(
	dbName, tableName string,
	partitionValues []string,
	columnName string,
) error

func (*InMemoryBackend) DeleteColumnStatisticsForTable

func (b *InMemoryBackend) DeleteColumnStatisticsForTable(
	dbName, tableName, columnName string,
) error

func (*InMemoryBackend) DeleteColumnStatisticsTaskSettings

func (b *InMemoryBackend) DeleteColumnStatisticsTaskSettings(dbName, tableName string) error

DeleteColumnStatisticsTaskSettings removes task settings.

func (*InMemoryBackend) DeleteConnection

func (b *InMemoryBackend) DeleteConnection(name string) error

DeleteConnection deletes a single Glue connection by name.

func (*InMemoryBackend) DeleteConnectionType

func (b *InMemoryBackend) DeleteConnectionType(name string) error

DeleteConnectionType removes a custom connection type. Deleting a built-in type returns ErrConnectionTypeBuiltIn (undeletable); deleting an unknown type returns ErrNotFound. This replaces the previous no-op that always reported success.

func (*InMemoryBackend) DeleteCrawler

func (b *InMemoryBackend) DeleteCrawler(name string) error

DeleteCrawler deletes a Glue crawler by name.

func (*InMemoryBackend) DeleteCustomEntityType

func (b *InMemoryBackend) DeleteCustomEntityType(name string) error

DeleteCustomEntityType removes a custom entity type.

func (*InMemoryBackend) DeleteDataQualityRuleset

func (b *InMemoryBackend) DeleteDataQualityRuleset(name string) error

DeleteDataQualityRuleset removes a data quality ruleset by name.

func (*InMemoryBackend) DeleteDatabase

func (b *InMemoryBackend) DeleteDatabase(name string) error

DeleteDatabase deletes a Glue database by name, also removing all its tables and partitions.

func (*InMemoryBackend) DeleteDevEndpoint

func (b *InMemoryBackend) DeleteDevEndpoint(name string) error

DeleteDevEndpoint deletes a Glue dev endpoint by name.

func (*InMemoryBackend) DeleteFormType added in v1.2.0

func (b *InMemoryBackend) DeleteFormType(id string) error

DeleteFormType deletes a form type. Per AWS's documented behavior (confirmed in deserializers.go's error switch for DeleteFormType, which lists ConflictException), a form type cannot be deleted while it is still referenced by an asset type's Forms.

func (*InMemoryBackend) DeleteGlossary added in v1.2.0

func (b *InMemoryBackend) DeleteGlossary(id string) error

DeleteGlossary deletes a glossary. Per AWS's documented behavior (confirmed in deserializers.go's error switch for DeleteGlossary, which lists ConflictException), a glossary cannot be deleted while it still contains glossary terms.

func (*InMemoryBackend) DeleteGlossaryTerm added in v1.2.0

func (b *InMemoryBackend) DeleteGlossaryTerm(id string) error

DeleteGlossaryTerm deletes a glossary term. Beyond the primary-table delete, this also disassociates the term from any asset (and any iterable form item) that referenced it, so GetAsset/BatchGetIterableForms never return a dangling glossary-term ID for a term that no longer exists. This cleanup is not separately documented by DeleteGlossaryTerm's own shape, but is the same referential-integrity discipline this backend already applies to every other cascade (e.g. BatchDeleteTable cascading to partitions).

func (*InMemoryBackend) DeleteGlueIdentityCenterConfiguration

func (b *InMemoryBackend) DeleteGlueIdentityCenterConfiguration() error

DeleteGlueIdentityCenterConfiguration removes the configuration.

func (*InMemoryBackend) DeleteIntegration

func (b *InMemoryBackend) DeleteIntegration(name string) error

DeleteIntegration removes an integration.

func (*InMemoryBackend) DeleteIntegrationResourceProperty

func (b *InMemoryBackend) DeleteIntegrationResourceProperty(resourceArn string) error

DeleteIntegrationResourceProperty removes stored integration resource properties for resourceArn. Returns ErrNotFound if none exist.

func (*InMemoryBackend) DeleteIntegrationTableProperties

func (b *InMemoryBackend) DeleteIntegrationTableProperties(resourceArn, tableName string) error

DeleteIntegrationTableProperties removes stored integration table properties for the given resource ARN and table name. Returns ErrNotFound if none exist.

func (*InMemoryBackend) DeleteJob

func (b *InMemoryBackend) DeleteJob(name string) error

DeleteJob deletes a Glue job by name, also removing all job runs and bookmarks.

func (*InMemoryBackend) DeleteMLTransform

func (b *InMemoryBackend) DeleteMLTransform(id string) error

func (*InMemoryBackend) DeletePartitionIndex

func (b *InMemoryBackend) DeletePartitionIndex(dbName, tableName, indexName string) error

DeletePartitionIndex deletes an index from an existing table.

func (*InMemoryBackend) DeleteRegistry

func (b *InMemoryBackend) DeleteRegistry(name string) error

DeleteRegistry deletes a registry by name.

func (*InMemoryBackend) DeleteResourcePolicy

func (b *InMemoryBackend) DeleteResourcePolicy(resourceARN, policyHash string) error

func (*InMemoryBackend) DeleteSchema

func (b *InMemoryBackend) DeleteSchema(registryName, schemaName string) error

DeleteSchema deletes a schema by registry and schema name.

func (*InMemoryBackend) DeleteSchemaVersion

func (b *InMemoryBackend) DeleteSchemaVersion(
	registryName, schemaName string,
	versionNumber int64,
) error

DeleteSchemaVersion removes a single schema version from the store. Returns ErrNotFound if the schema or version does not exist.

func (*InMemoryBackend) DeleteSecurityConfiguration

func (b *InMemoryBackend) DeleteSecurityConfiguration(name string) error

func (*InMemoryBackend) DeleteSession

func (b *InMemoryBackend) DeleteSession(id string) error

func (*InMemoryBackend) DeleteTable

func (b *InMemoryBackend) DeleteTable(dbName, tableName string) error

DeleteTable deletes a Glue table and all its partitions.

func (*InMemoryBackend) DeleteTableOptimizer

func (b *InMemoryBackend) DeleteTableOptimizer(dbName, tableName, optimizerType string) error

func (*InMemoryBackend) DeleteTableVersion

func (b *InMemoryBackend) DeleteTableVersion(dbName, tableName, versionID string) error

func (*InMemoryBackend) DeleteTrigger

func (b *InMemoryBackend) DeleteTrigger(name string) error

DeleteTrigger deletes a Glue trigger by name.

func (*InMemoryBackend) DeleteUsageProfile

func (b *InMemoryBackend) DeleteUsageProfile(name string) error

DeleteUsageProfile removes a usage profile.

func (*InMemoryBackend) DeleteUserDefinedFunction

func (b *InMemoryBackend) DeleteUserDefinedFunction(dbName, name string) error

func (*InMemoryBackend) DeleteWorkflow

func (b *InMemoryBackend) DeleteWorkflow(name string) error

DeleteWorkflow deletes a Glue workflow and all its runs by name.

func (*InMemoryBackend) DescribeConnectionType

func (b *InMemoryBackend) DescribeConnectionType(name string) (*ConnectionTypeInfo, error)

DescribeConnectionType returns the info for a built-in or registered custom type, or ErrNotFound when the type is unknown.

func (*InMemoryBackend) DescribeEntity

func (b *InMemoryBackend) DescribeEntity(connectionName, entityName string) ([]EntityField, error)

DescribeEntity returns the schema fields for an entity reachable through a connection. It validates the connection exists and the entity is a known catalog entity, returning EntityNotFoundException otherwise — never an empty success.

func (*InMemoryBackend) DescribeRegistry

func (b *InMemoryBackend) DescribeRegistry(name string) (*Registry, error)

DescribeRegistry retrieves a registry by name.

func (*InMemoryBackend) DescribeSchema

func (b *InMemoryBackend) DescribeSchema(registryName, schemaName string) (*Schema, error)

DescribeSchema retrieves a schema by registry and schema name.

func (*InMemoryBackend) DisassociateGlossaryTerms added in v1.2.0

func (b *InMemoryBackend) DisassociateGlossaryTerms(assetID string, termIDs []string) ([]string, error)

DisassociateGlossaryTerms removes one or more glossary terms from an asset's associations, returning the asset's remaining term IDs.

func (*InMemoryBackend) GetAllDevEndpoints

func (b *InMemoryBackend) GetAllDevEndpoints() []*DevEndpoint

GetAllDevEndpoints returns all dev endpoints sorted by name.

func (*InMemoryBackend) GetAsset added in v1.2.0

func (b *InMemoryBackend) GetAsset(id string) (*Asset, error)

GetAsset returns an asset by its identifier.

func (*InMemoryBackend) GetAssetType added in v1.2.0

func (b *InMemoryBackend) GetAssetType(id string) (*AssetType, error)

GetAssetType returns an asset type by its identifier.

func (*InMemoryBackend) GetBlueprintRun

func (b *InMemoryBackend) GetBlueprintRun(blueprintName, runID string) (*BlueprintRun, error)

GetBlueprintRun returns a blueprint run by ID.

func (*InMemoryBackend) GetBlueprintRuns

func (b *InMemoryBackend) GetBlueprintRuns(blueprintName string) []*BlueprintRun

GetBlueprintRuns returns all runs for a blueprint.

func (*InMemoryBackend) GetCatalog

func (b *InMemoryBackend) GetCatalog(catalogID string) (*CatalogEntry, error)

func (*InMemoryBackend) GetCatalogImportStatus

func (b *InMemoryBackend) GetCatalogImportStatus(catalogID string) *CatalogImportStatus

GetCatalogImportStatus returns the import status for the given catalog. When catalogID is empty, the account-level status is returned. Returns nil (no error) when no import has been triggered yet.

func (*InMemoryBackend) GetCatalogs

func (b *InMemoryBackend) GetCatalogs() []*CatalogEntry

func (*InMemoryBackend) GetClassifier

func (b *InMemoryBackend) GetClassifier(name string) (*Classifier, error)

GetClassifier retrieves a Glue classifier by name.

func (*InMemoryBackend) GetClassifiers

func (b *InMemoryBackend) GetClassifiers() []*Classifier

GetClassifiers returns all Glue classifiers sorted by name.

func (*InMemoryBackend) GetColumnStatisticsForPartition

func (b *InMemoryBackend) GetColumnStatisticsForPartition(
	dbName, tableName string,
	partitionValues []string,
	columnNames []string,
) ([]*ColumnStatistics, error)

func (*InMemoryBackend) GetColumnStatisticsForTable

func (b *InMemoryBackend) GetColumnStatisticsForTable(
	dbName, tableName string,
	columnNames []string,
) ([]*ColumnStatistics, error)

func (*InMemoryBackend) GetColumnStatisticsTaskRun

func (b *InMemoryBackend) GetColumnStatisticsTaskRun(runID string) (*ColumnStatisticsTaskRun, error)

GetColumnStatisticsTaskRun returns a task run.

func (*InMemoryBackend) GetColumnStatisticsTaskRuns

func (b *InMemoryBackend) GetColumnStatisticsTaskRuns() []*ColumnStatisticsTaskRun

GetColumnStatisticsTaskRuns returns task runs as a slice (alias for ListColumnStatisticsTaskRuns).

func (*InMemoryBackend) GetColumnStatisticsTaskSettings

func (b *InMemoryBackend) GetColumnStatisticsTaskSettings(
	dbName, tableName string,
) (*ColumnStatisticsTaskSettings, error)

GetColumnStatisticsTaskSettings returns task settings.

func (*InMemoryBackend) GetConnection

func (b *InMemoryBackend) GetConnection(name string) (*Connection, error)

GetConnection retrieves a single Glue connection by name.

func (*InMemoryBackend) GetConnections

func (b *InMemoryBackend) GetConnections() []*Connection

GetConnections returns all Glue connections sorted by name.

func (*InMemoryBackend) GetCrawler

func (b *InMemoryBackend) GetCrawler(name string) (*Crawler, error)

GetCrawler retrieves a Glue crawler by name.

func (*InMemoryBackend) GetCrawlerMetrics

func (b *InMemoryBackend) GetCrawlerMetrics(crawlerNames []string) []*CrawlerMetrics

GetCrawlerMetrics returns metrics for one or all crawlers. If crawlerNames is empty, metrics for all crawlers are returned.

func (*InMemoryBackend) GetCrawlers

func (b *InMemoryBackend) GetCrawlers() []*Crawler

GetCrawlers returns all Glue crawlers sorted by name.

func (*InMemoryBackend) GetCustomEntityType

func (b *InMemoryBackend) GetCustomEntityType(name string) (*CustomEntityType, error)

GetCustomEntityType returns a custom entity type by name.

func (*InMemoryBackend) GetDashboardURL added in v1.2.0

func (b *InMemoryBackend) GetDashboardURL(resourceID, resourceType, requestOrigin string) (string, error)

GetDashboardURL returns the Spark monitoring dashboard URL for a JOB or SESSION resource. This backend has no real Glue Studio console, so the URL is a deterministic mock value -- the same modeling choice already used throughout this package for other console/network-facing fields that have no real infrastructure behind them (e.g. DevEndpoint's YarnEndpointAddress/PrivateAddress/PublicAddress; see PARITY.md). What IS real is the existence check: the named JOB/SESSION must actually exist in this backend, so a caller referencing an unknown resource still gets the documented EntityNotFoundException rather than a URL for nothing.

func (*InMemoryBackend) GetDataCatalogEncryptionSettings

func (b *InMemoryBackend) GetDataCatalogEncryptionSettings(
	catalogID string,
) (*DataCatalogEncryptionSettings, error)

func (*InMemoryBackend) GetDataQualityRuleRecommendationRun

func (b *InMemoryBackend) GetDataQualityRuleRecommendationRun(runID string) (*DQRuleRecommendationRun, error)

GetDataQualityRuleRecommendationRun returns a recommendation run.

func (*InMemoryBackend) GetDataQualityRuleset

func (b *InMemoryBackend) GetDataQualityRuleset(name string) (*DataQualityRuleset, error)

GetDataQualityRuleset retrieves a data quality ruleset by name.

func (*InMemoryBackend) GetDataQualityRulesetEvaluationRun

func (b *InMemoryBackend) GetDataQualityRulesetEvaluationRun(
	runID string,
) (*DataQualityEvaluationRun, error)

GetDataQualityRulesetEvaluationRun retrieves an evaluation run by ID.

func (*InMemoryBackend) GetDatabase

func (b *InMemoryBackend) GetDatabase(name string) (*Database, error)

GetDatabase retrieves a Glue database by name.

func (*InMemoryBackend) GetDatabases

func (b *InMemoryBackend) GetDatabases() []*Database

GetDatabases returns all Glue databases sorted by name.

func (*InMemoryBackend) GetDevEndpoint

func (b *InMemoryBackend) GetDevEndpoint(name string) (*DevEndpoint, error)

GetDevEndpoint retrieves a Glue dev endpoint by name.

func (*InMemoryBackend) GetEntityRecords

func (b *InMemoryBackend) GetEntityRecords(
	connectionName, entityName string,
	limit int,
	nextToken string,
) ([]map[string]any, string, error)

GetEntityRecords returns deterministic sample records for an entity reachable through a connection. It validates the connection and entity, then returns records conforming to the entity schema (AWS-shaped documents), honoring limit and nextToken index-based pagination. It never silently returns an empty success for a valid entity.

func (*InMemoryBackend) GetFormType added in v1.2.0

func (b *InMemoryBackend) GetFormType(id string) (*FormType, error)

GetFormType returns a form type by its identifier.

func (*InMemoryBackend) GetGlossary added in v1.2.0

func (b *InMemoryBackend) GetGlossary(id string) (*Glossary, error)

GetGlossary returns a glossary by its identifier.

func (*InMemoryBackend) GetGlossaryTerm added in v1.2.0

func (b *InMemoryBackend) GetGlossaryTerm(id string) (*GlossaryTerm, error)

GetGlossaryTerm returns a glossary term by its identifier.

func (*InMemoryBackend) GetGlueIdentityCenterConfiguration

func (b *InMemoryBackend) GetGlueIdentityCenterConfiguration() (*IdentityCenterConfig, error)

GetGlueIdentityCenterConfiguration returns the configuration.

func (*InMemoryBackend) GetIntegrationResourceProperty

func (b *InMemoryBackend) GetIntegrationResourceProperty(resourceArn string) (*IntegrationResourceProperty, error)

GetIntegrationResourceProperty retrieves stored resource properties.

func (*InMemoryBackend) GetIntegrationTableProperties

func (b *InMemoryBackend) GetIntegrationTableProperties(
	resourceArn, tableName string,
) (*IntegrationTableProperties, error)

GetIntegrationTableProperties retrieves stored table properties.

func (*InMemoryBackend) GetJob

func (b *InMemoryBackend) GetJob(name string) (*Job, error)

GetJob retrieves a Glue job by name.

func (*InMemoryBackend) GetJobBookmark

func (b *InMemoryBackend) GetJobBookmark(jobName string) (*JobBookmark, error)

GetJobBookmark returns the bookmark for a job.

func (*InMemoryBackend) GetJobRun

func (b *InMemoryBackend) GetJobRun(jobName, runID string) (*JobRun, error)

GetJobRun retrieves a specific job run by job name and run ID.

func (*InMemoryBackend) GetJobRuns

func (b *InMemoryBackend) GetJobRuns(jobName string) ([]*JobRun, error)

GetJobRuns returns all runs for a job.

func (*InMemoryBackend) GetJobs

func (b *InMemoryBackend) GetJobs() []*Job

GetJobs returns all Glue jobs sorted by name.

func (*InMemoryBackend) GetMLTaskRun

func (b *InMemoryBackend) GetMLTaskRun(transformID, taskRunID string) (*MLTaskRun, error)

GetMLTaskRun retrieves a single ML task run by transform ID and task run ID.

func (*InMemoryBackend) GetMLTaskRuns

func (b *InMemoryBackend) GetMLTaskRuns(transformID string) ([]*MLTaskRun, error)

GetMLTaskRuns returns all task runs for a given ML transform, newest first.

func (*InMemoryBackend) GetMLTransform

func (b *InMemoryBackend) GetMLTransform(id string) (*MLTransform, error)

func (*InMemoryBackend) GetMLTransforms

func (b *InMemoryBackend) GetMLTransforms() []*MLTransform

func (*InMemoryBackend) GetMaterializedViewRefreshTaskRun

func (b *InMemoryBackend) GetMaterializedViewRefreshTaskRun(taskRunID string) (*MaterializedViewRefreshRun, error)

GetMaterializedViewRefreshTaskRun returns a refresh run.

func (*InMemoryBackend) GetPartition

func (b *InMemoryBackend) GetPartition(dbName, tableName string, values []string) (*Partition, error)

GetPartition retrieves a single partition by its values.

func (*InMemoryBackend) GetPartitionIndexes

func (b *InMemoryBackend) GetPartitionIndexes(dbName, tableName string) ([]*PartitionIndex, error)

GetPartitionIndexes lists partition indexes for an existing table.

func (*InMemoryBackend) GetPartitions

func (b *InMemoryBackend) GetPartitions(dbName, tableName string) ([]*Partition, error)

GetPartitions returns all partitions for a table, sorted by key.

func (*InMemoryBackend) GetPlan

func (b *InMemoryBackend) GetPlan(language string) (string, string)

GetPlan returns minimal ETL code appropriate for the requested language. language should be "Python" or "Scala"; defaults to Python.

func (*InMemoryBackend) GetResourcePolicy

func (b *InMemoryBackend) GetResourcePolicy(resourceARN string) (string, string, error)

func (*InMemoryBackend) GetSchemaByDefinition

func (b *InMemoryBackend) GetSchemaByDefinition(
	registryName, schemaName, definition string,
) (*SchemaVersion, error)

GetSchemaByDefinition searches all versions of the named schema for one whose SchemaDefinition exactly matches definition.

func (*InMemoryBackend) GetSchemaVersion

func (b *InMemoryBackend) GetSchemaVersion(
	registryName, schemaName string,
	versionNumber int64,
) (*SchemaVersion, error)

GetSchemaVersion retrieves a specific schema version.

func (*InMemoryBackend) GetSchemaVersionsDiff

func (b *InMemoryBackend) GetSchemaVersionsDiff(
	registryName, schemaName string,
	v1, v2 int64,
) (string, error)

GetSchemaVersionsDiff compares the definitions of two schema versions and returns a human-readable diff string (lines added in v2 prefixed with "+", lines removed prefixed with "-"). An empty string means the versions are identical.

func (*InMemoryBackend) GetSecurityConfiguration

func (b *InMemoryBackend) GetSecurityConfiguration(name string) (*SecurityConfiguration, error)

func (*InMemoryBackend) GetSession

func (b *InMemoryBackend) GetSession(id string) (*Session, error)

func (*InMemoryBackend) GetSessionEndpoint added in v1.2.0

func (b *InMemoryBackend) GetSessionEndpoint(sessionID string) (*SessionEndpoint, error)

GetSessionEndpoint returns the Spark Connect endpoint for an interactive session. The session must exist and must not have been stopped/be stopping; this backend does not model a real Spark Connect listener, so the URL/token are deterministic mock values (same modeling choice as GetDashboardURL above), but the existence and state checks are real.

func (*InMemoryBackend) GetStatement

func (b *InMemoryBackend) GetStatement(sessionID string, statementID int32) (*Statement, error)

func (*InMemoryBackend) GetStatements

func (b *InMemoryBackend) GetStatements(sessionID string) ([]*Statement, error)

func (*InMemoryBackend) GetTable

func (b *InMemoryBackend) GetTable(dbName, tableName string) (*Table, error)

GetTable retrieves a Glue table.

func (*InMemoryBackend) GetTableOptimizer

func (b *InMemoryBackend) GetTableOptimizer(
	dbName, tableName, optimizerType string,
) (*TableOptimizer, error)

func (*InMemoryBackend) GetTableVersion

func (b *InMemoryBackend) GetTableVersion(
	dbName, tableName, versionID string,
) (*TableVersion, error)

GetTableVersion returns a specific version of a table.

func (*InMemoryBackend) GetTableVersions

func (b *InMemoryBackend) GetTableVersions(dbName, tableName string) []*TableVersion

GetTableVersions returns all stored versions for a table, sorted by versionID.

func (*InMemoryBackend) GetTables

func (b *InMemoryBackend) GetTables(dbName string) ([]*Table, error)

GetTables returns all tables in a database sorted by name.

func (*InMemoryBackend) GetTags

func (b *InMemoryBackend) GetTags(resourceARN string) (map[string]string, error)

GetTags retrieves tags for a resource by ARN.

func (*InMemoryBackend) GetTrigger

func (b *InMemoryBackend) GetTrigger(name string) (*Trigger, error)

GetTrigger retrieves a Glue trigger by name.

func (*InMemoryBackend) GetTriggers

func (b *InMemoryBackend) GetTriggers() []*Trigger

GetTriggers returns all Glue triggers sorted by name.

func (*InMemoryBackend) GetUsageProfile

func (b *InMemoryBackend) GetUsageProfile(name string) (*UsageProfile, error)

GetUsageProfile returns a usage profile by name.

func (*InMemoryBackend) GetUserDefinedFunction

func (b *InMemoryBackend) GetUserDefinedFunction(
	dbName, name string,
) (*UserDefinedFunction, error)

func (*InMemoryBackend) GetUserDefinedFunctions

func (b *InMemoryBackend) GetUserDefinedFunctions(dbName string) []*UserDefinedFunction

func (*InMemoryBackend) GetWorkflow

func (b *InMemoryBackend) GetWorkflow(name string) (*Workflow, error)

GetWorkflow retrieves a Glue workflow by name.

func (*InMemoryBackend) GetWorkflowRun

func (b *InMemoryBackend) GetWorkflowRun(workflowName, runID string) (*WorkflowRun, error)

GetWorkflowRun retrieves a specific workflow run by workflow name and run ID.

func (*InMemoryBackend) GetWorkflowRuns

func (b *InMemoryBackend) GetWorkflowRuns(workflowName string) ([]*WorkflowRun, error)

GetWorkflowRuns returns all runs for a workflow.

func (*InMemoryBackend) GetWorkflows

func (b *InMemoryBackend) GetWorkflows() []string

GetWorkflows returns all Glue workflows sorted by name.

func (*InMemoryBackend) ImportCatalogToGlue

func (b *InMemoryBackend) ImportCatalogToGlue(catalogID string) error

ImportCatalogToGlue marks the given catalog (or the account-level catalog when catalogID is empty) as imported from a Hive metastore.

func (*InMemoryBackend) ListAssetTypes added in v1.2.0

func (b *InMemoryBackend) ListAssetTypes() []*AssetType

ListAssetTypes returns every asset type, sorted by ID.

func (*InMemoryBackend) ListBlueprints

func (b *InMemoryBackend) ListBlueprints() []string

ListBlueprints returns all blueprint names.

func (*InMemoryBackend) ListColumnStatisticsTaskRuns

func (b *InMemoryBackend) ListColumnStatisticsTaskRuns() []*ColumnStatisticsTaskRun

ListColumnStatisticsTaskRuns returns all task runs.

func (*InMemoryBackend) ListConnectionTypes

func (b *InMemoryBackend) ListConnectionTypes() []*ConnectionTypeInfo

ListConnectionTypes returns all built-in and registered custom connection types sorted by name.

func (*InMemoryBackend) ListCrawlers

func (b *InMemoryBackend) ListCrawlers() []string

ListCrawlers returns crawler names sorted alphabetically.

func (*InMemoryBackend) ListCrawls

func (b *InMemoryBackend) ListCrawls(crawlerName string) ([]*CrawlHistoryEntry, error)

ListCrawls returns the crawl history for a crawler, newest first.

func (*InMemoryBackend) ListCustomEntityTypes

func (b *InMemoryBackend) ListCustomEntityTypes() []*CustomEntityType

ListCustomEntityTypes returns all custom entity type names.

func (*InMemoryBackend) ListDataQualityEvaluationRuns

func (b *InMemoryBackend) ListDataQualityEvaluationRuns() []*DataQualityEvaluationRun

ListDataQualityEvaluationRuns returns all DataQuality ruleset evaluation runs.

func (*InMemoryBackend) ListDataQualityResults

func (b *InMemoryBackend) ListDataQualityResults() []*DataQualityResult

ListDataQualityResults returns all DataQuality results.

func (*InMemoryBackend) ListDataQualityRuleRecommendationRuns

func (b *InMemoryBackend) ListDataQualityRuleRecommendationRuns() []*DQRuleRecommendationRun

ListDataQualityRuleRecommendationRuns returns all recommendation runs.

func (*InMemoryBackend) ListDataQualityRulesets

func (b *InMemoryBackend) ListDataQualityRulesets() []*DataQualityRuleset

ListDataQualityRulesets returns all rulesets sorted by name.

func (*InMemoryBackend) ListDataQualityStatisticAnnotations

func (b *InMemoryBackend) ListDataQualityStatisticAnnotations(profileID, statisticID string) []*StatisticAnnotation

ListDataQualityStatisticAnnotations returns stored annotations, optionally filtered by profile ID and/or statistic ID, sorted by key for a deterministic response.

func (*InMemoryBackend) ListEntities

func (b *InMemoryBackend) ListEntities(connectionName string) ([]EntityDescriptor, error)

ListEntities returns the entities reachable through a connection, sorted by name.

func (*InMemoryBackend) ListFormTypes added in v1.2.0

func (b *InMemoryBackend) ListFormTypes() []*FormType

ListFormTypes returns every form type, sorted by ID.

func (*InMemoryBackend) ListGlossaries added in v1.2.0

func (b *InMemoryBackend) ListGlossaries() []*Glossary

ListGlossaries returns every glossary, sorted by ID for deterministic pagination (see paginateSlice in handler.go).

func (*InMemoryBackend) ListGlossaryTerms added in v1.2.0

func (b *InMemoryBackend) ListGlossaryTerms(glossaryID string) ([]*GlossaryTerm, error)

ListGlossaryTerms returns every term belonging to a glossary, sorted by ID.

func (*InMemoryBackend) ListIntegrationResourceProperties

func (b *InMemoryBackend) ListIntegrationResourceProperties() []*IntegrationResourceProperty

ListIntegrationResourceProperties returns all stored integration resource properties, sorted by resource ARN for a deterministic response.

func (*InMemoryBackend) ListIntegrations

func (b *InMemoryBackend) ListIntegrations() []*Integration

ListIntegrations returns all integrations.

func (*InMemoryBackend) ListIterableForms added in v1.2.0

func (b *InMemoryBackend) ListIterableForms(assetID, iterableFormName string) ([]*IterableFormListItem, error)

ListIterableForms lists every item in one iterable form on an asset, sorted by item ID.

func (*InMemoryBackend) ListMaterializedViewRefreshTaskRuns

func (b *InMemoryBackend) ListMaterializedViewRefreshTaskRuns() []*MaterializedViewRefreshRun

ListMaterializedViewRefreshTaskRuns returns all refresh runs.

func (*InMemoryBackend) ListRegistries

func (b *InMemoryBackend) ListRegistries() []*Registry

ListRegistries returns all registries sorted by name.

func (*InMemoryBackend) ListResourcePolicies

func (b *InMemoryBackend) ListResourcePolicies() []*resourcePolicyEntry

ListResourcePolicies returns every stored resource policy (per-resource ARN policies plus the account-level policy, if set), sorted by key for a deterministic response.

func (*InMemoryBackend) ListSchemaVersions

func (b *InMemoryBackend) ListSchemaVersions(registryName, schemaName string) []*SchemaVersion

ListSchemaVersions returns all versions for a schema.

func (*InMemoryBackend) ListSchemas

func (b *InMemoryBackend) ListSchemas(registryName string) []*Schema

ListSchemas returns all schemas for a registry.

func (*InMemoryBackend) ListSecurityConfigurations

func (b *InMemoryBackend) ListSecurityConfigurations() []*SecurityConfiguration

func (*InMemoryBackend) ListSessions

func (b *InMemoryBackend) ListSessions() []*Session

func (*InMemoryBackend) ListUsageProfiles

func (b *InMemoryBackend) ListUsageProfiles() []*UsageProfile

ListUsageProfiles returns all usage profiles.

func (*InMemoryBackend) ModifyIntegration

func (b *InMemoryBackend) ModifyIntegration(name string) error

ModifyIntegration updates an integration.

func (*InMemoryBackend) PutAsset added in v1.2.0

func (b *InMemoryBackend) PutAsset(
	id, name, description, assetTypeID string,
	forms map[string]AssetFormEntry,
) (*Asset, error)

PutAsset creates or updates (upsert, keyed by the caller-supplied Identifier) an asset. Attachments/GlossaryTerms/IterableForms are preserved across an update-via-Put, matching real AWS semantics where PutAsset only documents Forms/Name/Description as replaced.

func (*InMemoryBackend) PutAssetType added in v1.2.0

func (b *InMemoryBackend) PutAssetType(name string, forms map[string]AssetTypeFormReference) (*AssetType, error)

PutAssetType creates or updates (upsert, keyed by Name) an asset type. Every referenced form type must already exist, matching DeleteFormType's documented "referenced by an asset type" foreign-key relationship.

func (*InMemoryBackend) PutAttachment added in v1.2.0

func (b *InMemoryBackend) PutAttachment(
	assetID, attachmentName, formTypeID, content, iterableFormName, itemIdentifier string,
) error

PutAttachment attaches a form to an asset, or -- when iterableFormName and itemIdentifier are both given -- to an item within one of the asset's iterable forms. An attachment with the same name is overwritten, matching PutAttachment's documented upsert behavior.

func (*InMemoryBackend) PutDataCatalogEncryptionSettings

func (b *InMemoryBackend) PutDataCatalogEncryptionSettings(
	catalogID string,
	settings DataCatalogEncryptionSettings,
) error

func (*InMemoryBackend) PutDataQualityStatisticAnnotation

func (b *InMemoryBackend) PutDataQualityStatisticAnnotation(profileID, statisticID, inclusion string)

PutDataQualityStatisticAnnotation stores (or overwrites) the inclusion annotation for a profile/statistic pair.

func (*InMemoryBackend) PutFormType added in v1.2.0

func (b *InMemoryBackend) PutFormType(name, schema string) (*FormType, error)

PutFormType creates or updates (upsert, keyed by Name) a form type. AWS documents that Name "[m]ust start with an uppercase letter".

func (*InMemoryBackend) PutResourcePolicy

func (b *InMemoryBackend) PutResourcePolicy(
	policy, resourceARN, existsCondition, hashCondition, enableHybrid string,
) (string, error)

PutResourcePolicy creates or updates a resource policy (or the account-level policy when resourceARN is empty). existsCondition ("MUST_EXIST"/"NOT_EXIST"/"" or "NONE") and hashCondition mirror PutResourcePolicyInput's PolicyExistsCondition/PolicyHashCondition optimistic-concurrency guards. enableHybrid mirrors PutResourcePolicyInput.EnableHybrid ("TRUE"/"FALSE"/""); AWS requires it be "TRUE" only when the account already has cross-account access granted via the Lake Formation console alongside this policy — this backend does not model Lake Formation console grants, so that precondition never applies and any well-formed value is accepted and recorded.

func (*InMemoryBackend) PutSchemaVersionMetadata

func (b *InMemoryBackend) PutSchemaVersionMetadata(schemaVersionID, key, value string) error

PutSchemaVersionMetadata stores a key-value metadata pair for a schema version. schemaVersionID must be a valid version ID registered via RegisterSchemaVersion.

func (*InMemoryBackend) PutWorkflowRunProperties

func (b *InMemoryBackend) PutWorkflowRunProperties(
	workflowName, runID string,
	props map[string]string,
) error

func (*InMemoryBackend) QuerySchemaVersionMetadata

func (b *InMemoryBackend) QuerySchemaVersionMetadata(schemaVersionID string) map[string]string

QuerySchemaVersionMetadata returns all metadata key-value pairs for the given schema version ID. Returns an empty map when none have been stored.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the backend region.

func (*InMemoryBackend) RegisterConnectionType

func (b *InMemoryBackend) RegisterConnectionType(name, description string) (*ConnectionTypeInfo, error)

RegisterConnectionType registers a custom connection type, returning the stored info. Registering a name that collides with a built-in type is rejected (AWS reserves managed connector names); re-registering an existing custom type updates its description, matching AWS's idempotent register semantics.

func (*InMemoryBackend) RegisterSchemaVersion

func (b *InMemoryBackend) RegisterSchemaVersion(
	registryName, schemaName, schemaDefinition string,
) (*SchemaVersion, error)

RegisterSchemaVersion registers a new version of a schema.

func (*InMemoryBackend) RemoveSchemaVersionMetadata

func (b *InMemoryBackend) RemoveSchemaVersionMetadata(schemaVersionID, key string) error

RemoveSchemaVersionMetadata deletes a metadata key from a schema version.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all backend state, returning it to the initial empty state.

func (*InMemoryBackend) ResetJobBookmark

func (b *InMemoryBackend) ResetJobBookmark(jobName string) error

ResetJobBookmark clears the bookmark for a job and returns the post-reset bookmark.

func (*InMemoryBackend) ResetJobBookmarkWithResult

func (b *InMemoryBackend) ResetJobBookmarkWithResult(jobName string) (*JobBookmark, error)

ResetJobBookmarkWithResult atomically clears the bookmark for a job and returns the post-reset bookmark.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore loads backend state from a JSON snapshot.

func (*InMemoryBackend) ResumeWorkflowRun

func (b *InMemoryBackend) ResumeWorkflowRun(workflowName, runID string) (string, []string, error)

ResumeWorkflowRun looks up the workflow run and returns its ID along with an empty node-ID list (AWS returns node IDs that were actually resumed).

func (*InMemoryBackend) RunStatement

func (b *InMemoryBackend) RunStatement(sessionID, code string) (*Statement, error)

func (*InMemoryBackend) SFNStartJobRun

func (b *InMemoryBackend) SFNStartJobRun(
	_ context.Context,
	jobName string,
	arguments map[string]string,
) (string, error)

SFNStartJobRun implements the Step Functions Glue StartJobRun service integration.

func (*InMemoryBackend) SearchAssets added in v1.2.0

func (b *InMemoryBackend) SearchAssets(
	searchText string,
	filter *searchFilterClause,
	sortAttr string,
	sortDesc bool,
) []*Asset

SearchAssets returns every asset matching searchText (a case-insensitive substring of Name or Description) and filter (a possibly-nested boolean filter clause), sorted by sortAttr (defaulting to ID when unrecognized or empty).

func (*InMemoryBackend) SearchTables

func (b *InMemoryBackend) SearchTables(searchText string) []*Table

SearchTables returns tables matching a case-insensitive substring of the table name. An empty searchText returns all tables.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serialises the backend state to JSON.

func (*InMemoryBackend) StartBlueprintRun

func (b *InMemoryBackend) StartBlueprintRun(blueprintName string) (*BlueprintRun, error)

StartBlueprintRun creates a new blueprint run record.

func (*InMemoryBackend) StartColumnStatisticsTaskRun

func (b *InMemoryBackend) StartColumnStatisticsTaskRun(dbName, tableName string) (*ColumnStatisticsTaskRun, error)

StartColumnStatisticsTaskRun starts a column statistics task run.

func (*InMemoryBackend) StartColumnStatisticsTaskRunSchedule

func (b *InMemoryBackend) StartColumnStatisticsTaskRunSchedule(dbName, tableName string) error

StartColumnStatisticsTaskRunSchedule enables the run schedule for a table's column statistics task settings. The settings must already exist (created via CreateColumnStatisticsTaskSettings), matching AWS's requirement that a schedule can only be attached to existing task settings.

func (*InMemoryBackend) StartCrawler

func (b *InMemoryBackend) StartCrawler(name string) error

StartCrawler sets a crawler's state to RUNNING (requires READY state). A background reconciler transitions the crawler to READY after crawlerTransitionDelay, creating Glue Catalog tables for each configured S3 prefix.

func (*InMemoryBackend) StartCrawlerSchedule

func (b *InMemoryBackend) StartCrawlerSchedule(name string) error

StartCrawlerSchedule enables the crawler's schedule.

func (*InMemoryBackend) StartDataQualityRuleRecommendationRun

func (b *InMemoryBackend) StartDataQualityRuleRecommendationRun(s3Path string) (*DQRuleRecommendationRun, error)

StartDataQualityRuleRecommendationRun creates a recommendation run.

func (*InMemoryBackend) StartDataQualityRulesetEvaluationRun

func (b *InMemoryBackend) StartDataQualityRulesetEvaluationRun(
	rulesetNames []string,
) (*DataQualityEvaluationRun, error)

StartDataQualityRulesetEvaluationRun validates the rulesets exist and creates a run.

func (*InMemoryBackend) StartExportLabelsTaskRun

func (b *InMemoryBackend) StartExportLabelsTaskRun(transformID, _ string) (*MLTaskRun, error)

StartExportLabelsTaskRun starts an ML transform export-labels task run.

func (*InMemoryBackend) StartImportLabelsTaskRun

func (b *InMemoryBackend) StartImportLabelsTaskRun(transformID, _ string) (*MLTaskRun, error)

StartImportLabelsTaskRun starts an ML transform import-labels task run.

func (*InMemoryBackend) StartJobRun

func (b *InMemoryBackend) StartJobRun(
	jobName string,
	arguments map[string]string,
) (*JobRun, error)

StartJobRun creates a new job run record for the named job.

func (*InMemoryBackend) StartJobRunWithOptions added in v1.2.0

func (b *InMemoryBackend) StartJobRunWithOptions(
	jobName string,
	arguments map[string]string,
	opts StartJobRunOptions,
) (*JobRun, error)

func (*InMemoryBackend) StartMLEvaluationTaskRun

func (b *InMemoryBackend) StartMLEvaluationTaskRun(transformID string) (*MLTaskRun, error)

StartMLEvaluationTaskRun starts an ML transform evaluation task run.

func (*InMemoryBackend) StartMLLabelingSetGenerationTaskRun

func (b *InMemoryBackend) StartMLLabelingSetGenerationTaskRun(transformID string) (*MLTaskRun, error)

StartMLLabelingSetGenerationTaskRun starts an ML transform labeling-set generation task run.

func (*InMemoryBackend) StartMaterializedViewRefreshTaskRun

func (b *InMemoryBackend) StartMaterializedViewRefreshTaskRun(
	dbName, tableName string,
) (*MaterializedViewRefreshRun, error)

StartMaterializedViewRefreshTaskRun starts a refresh run.

func (*InMemoryBackend) StartReconciler

func (b *InMemoryBackend) StartReconciler(ctx context.Context)

StartReconciler starts the managed background reconciler that advances Glue job-run and crawler lifecycle transitions. It replaces the previous unmanaged `go b.runReconciler()` (which leaked because nothing called Close) with a single goroutine owning a stop channel and WaitGroup, so it can be cancelled deterministically via ctx or StopReconciler. Calling it while already running is a no-op.

ctx originates from the service framework's background-worker lifecycle, so no context.Background() is introduced here.

func (*InMemoryBackend) StartTrigger

func (b *InMemoryBackend) StartTrigger(name string) error

StartTrigger activates a Glue trigger. Per AWS docs (about-triggers.html), on-demand triggers never enter the ACTIVATED state — they always remain CREATED — and firing one immediately runs its actions (job runs / crawler runs) rather than switching to a long-lived "active" monitoring state the way SCHEDULED/CONDITIONAL/ EVENT triggers do.

func (*InMemoryBackend) StartWorkflowRun

func (b *InMemoryBackend) StartWorkflowRun(name string) (*WorkflowRun, error)

StartWorkflowRun creates a new workflow run record.

func (*InMemoryBackend) StopColumnStatisticsTaskRun

func (b *InMemoryBackend) StopColumnStatisticsTaskRun(runID string) error

StopColumnStatisticsTaskRun stops a task run.

func (*InMemoryBackend) StopColumnStatisticsTaskRunSchedule

func (b *InMemoryBackend) StopColumnStatisticsTaskRunSchedule(dbName, tableName string) error

StopColumnStatisticsTaskRunSchedule disables the run schedule for a table's column statistics task settings.

func (*InMemoryBackend) StopCrawler

func (b *InMemoryBackend) StopCrawler(name string) error

StopCrawler sets a crawler's state to STOPPING (requires RUNNING state).

func (*InMemoryBackend) StopCrawlerSchedule

func (b *InMemoryBackend) StopCrawlerSchedule(name string) error

StopCrawlerSchedule disables the crawler's schedule.

func (*InMemoryBackend) StopMaterializedViewRefreshTaskRun

func (b *InMemoryBackend) StopMaterializedViewRefreshTaskRun(taskRunID string) error

StopMaterializedViewRefreshTaskRun stops a refresh run.

func (*InMemoryBackend) StopReconciler

func (b *InMemoryBackend) StopReconciler()

StopReconciler signals the reconciler to stop and blocks until the goroutine has exited, guaranteeing no leaked goroutine survives shutdown. It is idempotent and safe to call even when the reconciler was never started.

func (*InMemoryBackend) StopSession

func (b *InMemoryBackend) StopSession(id string) error

func (*InMemoryBackend) StopTrigger

func (b *InMemoryBackend) StopTrigger(name string) error

StopTrigger deactivates a Glue trigger. On-demand triggers never enter the DEACTIVATED state (AWS: they always remain CREATED), so StopTrigger is a no-op for them beyond existence-checking.

func (*InMemoryBackend) StopWorkflowRun

func (b *InMemoryBackend) StopWorkflowRun(workflowName, runID string) error

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(resourceARN string, tags map[string]string) error

TagResource adds tags to a resource by ARN.

func (*InMemoryBackend) TaggedResources added in v1.2.0

func (b *InMemoryBackend) TaggedResources() []TaggedEntry

TaggedResources returns every Glue resource ARN that currently has at least one tag, across every taggable Glue resource kind (databases, crawlers, jobs, data quality rulesets, connections, triggers, workflows). Unlike ECS/Athena/ECR, Glue keeps tags inline on each typed resource (Database.Tags, Crawler.Tags, ...) rather than in a side map keyed by ARN, so this walks each store.Table directly instead of a single flat map.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(
	resourceARN string,
	tagKeys []string,
) error

UntagResource removes tags from a resource by ARN.

func (*InMemoryBackend) UpdateAsset added in v1.2.0

func (b *InMemoryBackend) UpdateAsset(id string, name, description *string) (*Asset, error)

UpdateAsset updates an asset's name and/or description. A nil field leaves the current value unchanged, matching UpdateAssetInput's optional members.

func (*InMemoryBackend) UpdateBlueprint

func (b *InMemoryBackend) UpdateBlueprint(name, blueprintLocation, description string) (*Blueprint, error)

UpdateBlueprint updates an existing blueprint's BlueprintLocation and Description, mirroring UpdateBlueprintInput.

func (*InMemoryBackend) UpdateCatalog

func (b *InMemoryBackend) UpdateCatalog(
	catalogID, description string,
	params map[string]string,
) error

func (*InMemoryBackend) UpdateClassifier

func (b *InMemoryBackend) UpdateClassifier(c Classifier) error

UpdateClassifier updates an existing Glue classifier.

func (*InMemoryBackend) UpdateColumnStatisticsForPartition

func (b *InMemoryBackend) UpdateColumnStatisticsForPartition(
	dbName, tableName string,
	partitionValues []string,
	stats []*ColumnStatistics,
) error

func (*InMemoryBackend) UpdateColumnStatisticsForTable

func (b *InMemoryBackend) UpdateColumnStatisticsForTable(
	dbName, tableName string,
	stats []*ColumnStatistics,
) error

func (*InMemoryBackend) UpdateColumnStatisticsTaskSettings

func (b *InMemoryBackend) UpdateColumnStatisticsTaskSettings(
	dbName, tableName, roleArn string,
) error

UpdateColumnStatisticsTaskSettings updates task settings.

func (*InMemoryBackend) UpdateConnection

func (b *InMemoryBackend) UpdateConnection(name string, connType string, props map[string]string) error

UpdateConnection updates an existing connection's type and properties.

func (*InMemoryBackend) UpdateConnectionWithOptions added in v1.2.0

func (b *InMemoryBackend) UpdateConnectionWithOptions(
	name, connType string, props map[string]string, opts ConnectionOptions,
) error

UpdateConnectionWithOptions is UpdateConnection plus the optional settings ConnectionInput also supports (Description/MatchCriteria/ PhysicalConnectionRequirements).

func (*InMemoryBackend) UpdateCrawler

func (b *InMemoryBackend) UpdateCrawler(name, role, dbName string, targets CrawlerTarget) error

UpdateCrawler updates an existing Glue crawler.

func (*InMemoryBackend) UpdateCrawlerSchedule

func (b *InMemoryBackend) UpdateCrawlerSchedule(name, scheduleExpression string) error

UpdateCrawlerSchedule updates the schedule expression on a crawler.

func (*InMemoryBackend) UpdateCrawlerWithOptions

func (b *InMemoryBackend) UpdateCrawlerWithOptions(
	name, role, dbName string,
	targets CrawlerTarget,
	opts CrawlerOptions,
) error

UpdateCrawlerWithOptions is UpdateCrawler plus the optional settings AWS's UpdateCrawlerRequest supports (Schedule/Classifiers/Configuration/ TablePrefix/Description). Unset (zero-value) CrawlerOptions fields leave the corresponding crawler field unchanged, matching AWS's partial-update semantics for UpdateCrawler.

func (*InMemoryBackend) UpdateDataQualityRuleset

func (b *InMemoryBackend) UpdateDataQualityRuleset(name, ruleset, description string) error

UpdateDataQualityRuleset updates the ruleset expression for a named ruleset.

func (*InMemoryBackend) UpdateDatabase

func (b *InMemoryBackend) UpdateDatabase(name string, input DatabaseInput) error

UpdateDatabase updates an existing Glue database.

func (*InMemoryBackend) UpdateDevEndpoint

func (b *InMemoryBackend) UpdateDevEndpoint(
	name string,
	addArgs map[string]string,
	deleteArgs []string,
	opts UpdateDevEndpointOptions,
) error

UpdateDevEndpoint updates an existing dev endpoint's arguments and public keys, mirroring UpdateDevEndpointInput's AddArguments/DeleteArguments/ AddPublicKeys/DeletePublicKeys/PublicKey semantics.

func (*InMemoryBackend) UpdateGlossary added in v1.2.0

func (b *InMemoryBackend) UpdateGlossary(id string, name, description *string) (*Glossary, error)

UpdateGlossary updates a glossary's name and/or description. A nil field leaves the current value unchanged, matching UpdateGlossaryInput's optional Name/Description members.

func (*InMemoryBackend) UpdateGlossaryTerm added in v1.2.0

func (b *InMemoryBackend) UpdateGlossaryTerm(id string, name, shortDesc, longDesc *string) (*GlossaryTerm, error)

UpdateGlossaryTerm updates a term's name and/or descriptions. A nil field leaves the current value unchanged, matching UpdateGlossaryTermInput's optional members.

func (*InMemoryBackend) UpdateGlueIdentityCenterConfiguration

func (b *InMemoryBackend) UpdateGlueIdentityCenterConfiguration(instanceARN string) error

UpdateGlueIdentityCenterConfiguration updates the configuration.

func (*InMemoryBackend) UpdateIntegrationResourceProperty

func (b *InMemoryBackend) UpdateIntegrationResourceProperty(
	resourceArn string,
	sourceProps, targetProps map[string]string,
) (*IntegrationResourceProperty, error)

UpdateIntegrationResourceProperty updates a previously created resource property.

func (*InMemoryBackend) UpdateIntegrationTableProperties

func (b *InMemoryBackend) UpdateIntegrationTableProperties(
	resourceArn, tableName string,
	sourceConfig, targetConfig map[string]any,
) error

UpdateIntegrationTableProperties updates a previously created table property.

func (*InMemoryBackend) UpdateJob

func (b *InMemoryBackend) UpdateJob(name string, input Job) error

UpdateJob updates an existing Glue job.

func (*InMemoryBackend) UpdateJobFromSourceControl

func (b *InMemoryBackend) UpdateJobFromSourceControl(jobName string, details SourceControlDetails) error

UpdateJobFromSourceControl synchronizes a job definition from its linked remote repository. The emulator has no real repository to pull from, so it records the sync linkage against the job as real, queryable state.

func (*InMemoryBackend) UpdateMLTransform

func (b *InMemoryBackend) UpdateMLTransform(id string, update MLTransform) error

func (*InMemoryBackend) UpdatePartition

func (b *InMemoryBackend) UpdatePartition(
	dbName, tableName string,
	partitionValues []string,
	input PartitionInput,
) error

UpdatePartition updates an existing partition's storage descriptor and optionally renames it.

func (*InMemoryBackend) UpdateRegistry

func (b *InMemoryBackend) UpdateRegistry(name, description string) error

UpdateRegistry updates a registry's description.

func (*InMemoryBackend) UpdateSchema

func (b *InMemoryBackend) UpdateSchema(
	registryName, schemaName, compatibility, description string,
) error

UpdateSchema updates a schema's compatibility and description.

func (*InMemoryBackend) UpdateSourceControlFromJob

func (b *InMemoryBackend) UpdateSourceControlFromJob(jobName string, details SourceControlDetails) error

UpdateSourceControlFromJob pushes a job's current definition to its linked remote repository. As with UpdateJobFromSourceControl, the emulator has no real repository, so it records the same sync linkage against the job.

func (*InMemoryBackend) UpdateTable

func (b *InMemoryBackend) UpdateTable(dbName string, input TableInput) error

UpdateTable updates an existing Glue table.

func (*InMemoryBackend) UpdateTableOptimizer

func (b *InMemoryBackend) UpdateTableOptimizer(
	dbName, tableName, optimizerType string,
	config TableOptimizerConfiguration,
) error

func (*InMemoryBackend) UpdateTrigger

func (b *InMemoryBackend) UpdateTrigger(name string, update Trigger) error

UpdateTrigger updates an existing Glue trigger.

func (*InMemoryBackend) UpdateUsageProfile

func (b *InMemoryBackend) UpdateUsageProfile(name, description string) (*UsageProfile, error)

UpdateUsageProfile updates a usage profile.

func (*InMemoryBackend) UpdateUserDefinedFunction

func (b *InMemoryBackend) UpdateUserDefinedFunction(
	dbName, name string,
	input UserDefinedFunction,
) error

func (*InMemoryBackend) UpdateWorkflow

func (b *InMemoryBackend) UpdateWorkflow(name string, update Workflow) error

UpdateWorkflow updates an existing Glue workflow.

type Integration

type Integration struct {
	CreatedAt       time.Time         `json:"CreateTime"`
	Tags            map[string]string `json:"Tags,omitempty"`
	IntegrationName string            `json:"IntegrationName"`
	Status          string            `json:"Status"`
}

Integration represents a Glue integration.

type IntegrationResourceProperty

type IntegrationResourceProperty struct {
	CreatedAt        time.Time         `json:"CreateTime"`
	SourceProperties map[string]string `json:"SourceProperties,omitempty"`
	TargetProperties map[string]string `json:"TargetProperties,omitempty"`
	ResourceArn      string            `json:"ResourceArn"`
}

IntegrationResourceProperty stores resource-level properties for a Zero-ETL integration.

type IntegrationTableProperties

type IntegrationTableProperties struct {
	SourceTableConfig map[string]any `json:"SourceTableConfig,omitempty"`
	TargetTableConfig map[string]any `json:"TargetTableConfig,omitempty"`
	ResourceArn       string         `json:"ResourceArn"`
	TableName         string         `json:"TableName"`
}

IntegrationTableProperties stores table-level properties for a Zero-ETL integration.

type ItemErrorDetail added in v1.2.0

type ItemErrorDetail struct {
	Code           string `json:"Code,omitempty"`
	ItemIdentifier string `json:"ItemIdentifier,omitempty"`
	Message        string `json:"Message,omitempty"`
}

ItemErrorDetail describes an item BatchGetIterableForms could not retrieve, field-diffed against types.ItemError.

type IterableFormEntry added in v1.2.0

type IterableFormEntry struct {
	FormTypeID string `json:"FormTypeId,omitempty"`
}

IterableFormEntry identifies an iterable form available on an asset (e.g. "columns" on a table asset), field-diffed against types.IterableFormEntry.

type IterableFormItem added in v1.2.0

type IterableFormItem struct {
	Attachments   map[string]AssetFormEntry `json:"Attachments,omitempty"`
	Forms         map[string]AssetFormEntry `json:"Forms,omitempty"`
	ItemID        string                    `json:"ItemId,omitempty"`
	ItemName      string                    `json:"ItemName,omitempty"`
	GlossaryTerms []string                  `json:"GlossaryTerms,omitempty"`
}

IterableFormItem is the wire shape returned by BatchGetIterableForms, field-diffed against types.IterableFormItem.

type IterableFormListItem added in v1.2.0

type IterableFormListItem struct {
	ItemID        string   `json:"ItemId,omitempty"`
	ItemName      string   `json:"ItemName,omitempty"`
	Description   string   `json:"Description,omitempty"`
	GlossaryTerms []string `json:"GlossaryTerms,omitempty"`
}

IterableFormListItem is the wire shape returned by ListIterableForms, field-diffed against types.IterableFormListItem. Description is always empty in this backend (no write path ever populates a per-item description), so it is always omitted rather than fabricated.

type JDBCTarget

type JDBCTarget struct {
	ConnectionName string   `json:"ConnectionName,omitempty"`
	Path           string   `json:"Path,omitempty"`
	Exclusions     []string `json:"Exclusions,omitempty"`
}

JDBCTarget is a JDBC connection/path pair for a crawler, mirroring aws-sdk-go-v2/service/glue/types.JdbcTarget.

type JSONClassifier

type JSONClassifier struct {
	Name     string `json:"Name"`
	JSONPath string `json:"JsonPath,omitempty"`
}

JSONClassifier is a JSON-based classifier.

type Job

type Job struct {
	SourceControlDetails *SourceControlDetails `json:"SourceControlDetails,omitempty"`
	Tags                 map[string]string     `json:"-"`
	DefaultArguments     map[string]string     `json:"DefaultArguments,omitempty"`
	Command              JobCommand            `json:"Command,omitzero"`
	WorkerType           string                `json:"WorkerType,omitempty"`
	Role                 string                `json:"Role,omitempty"`
	GlueVersion          string                `json:"GlueVersion,omitempty"`
	Name                 string                `json:"Name"`
	ARN                  string                `json:"Arn,omitempty"`
	Description          string                `json:"Description,omitempty"`
	Connections          ConnectionsList       `json:"Connections,omitzero"`
	NotificationProperty NotificationProperty  `json:"NotificationProperty,omitzero"`
	NumberOfWorkers      int                   `json:"NumberOfWorkers,omitempty"`
	MaxRetries           int                   `json:"MaxRetries,omitempty"`
	Timeout              int                   `json:"Timeout,omitempty"`
	// MaxCapacity is the DPU capacity for jobs that use it instead of
	// WorkerType+NumberOfWorkers (e.g. Python shell jobs, or Spark jobs on
	// Glue versions that predate worker-type based capacity). AWS rejects a
	// request that sets both MaxCapacity and WorkerType/NumberOfWorkers.
	MaxCapacity       float64           `json:"MaxCapacity,omitempty"`
	ExecutionProperty ExecutionProperty `json:"ExecutionProperty,omitzero"`
	CreatedOn         float64           `json:"CreatedOn,omitempty"`
	LastModifiedOn    float64           `json:"LastModifiedOn,omitempty"`
}

Job represents a Glue job.

type JobBookmark

type JobBookmark struct {
	JobName   string `json:"JobName"`
	Run       string `json:"Run,omitempty"`
	ActiveRun string `json:"ActiveRun,omitempty"`
	Version   int    `json:"Version"`
	Attempt   int    `json:"Attempt,omitempty"`
}

JobBookmark holds the bookmark state for a job run.

type JobBookmarksEncryption

type JobBookmarksEncryption struct {
	JobBookmarksEncryptionMode string `json:"JobBookmarksEncryptionMode,omitempty"`
	KMSKeyARN                  string `json:"KmsKeyArn,omitempty"`
}

JobBookmarksEncryption holds job bookmarks encryption config.

type JobCommand

type JobCommand struct {
	Name           string `json:"Name,omitempty"`
	ScriptLocation string `json:"ScriptLocation,omitempty"`
	PythonVersion  string `json:"PythonVersion,omitempty"`
}

JobCommand holds the command for a Glue job.

type JobRun

type JobRun struct {
	Arguments             map[string]string    `json:"Arguments,omitempty"`
	ID                    string               `json:"Id"`
	JobName               string               `json:"JobName"`
	JobRunState           string               `json:"JobRunState"`
	ErrorMessage          string               `json:"ErrorMessage,omitempty"`
	WorkerType            string               `json:"WorkerType,omitempty"`
	GlueVersion           string               `json:"GlueVersion,omitempty"`
	SecurityConfiguration string               `json:"SecurityConfiguration,omitempty"`
	StartedOn             float64              `json:"StartedOn,omitempty"`
	CompletedOn           float64              `json:"CompletedOn,omitempty"`
	MaxCapacity           float64              `json:"MaxCapacity,omitempty"`
	ExecutionTime         int                  `json:"ExecutionTime,omitempty"`
	NumberOfWorkers       int                  `json:"NumberOfWorkers,omitempty"`
	Timeout               int                  `json:"Timeout,omitempty"`
	NotificationProperty  NotificationProperty `json:"NotificationProperty,omitzero"`
}

JobRun represents a single execution of a Glue job.

type LakeFormationConfiguration added in v1.2.0

type LakeFormationConfiguration struct {
	AccountID                   string `json:"AccountId,omitempty"`
	UseLakeFormationCredentials bool   `json:"UseLakeFormationCredentials,omitempty"`
}

LakeFormationConfiguration specifies a crawler's Lake Formation settings, mirroring aws-sdk-go-v2/service/glue/types.LakeFormationConfiguration.

type LineageConfiguration added in v1.2.0

type LineageConfiguration struct {
	CrawlerLineageSettings string `json:"CrawlerLineageSettings,omitempty"`
}

LineageConfiguration specifies a crawler's data-lineage settings, mirroring aws-sdk-go-v2/service/glue/types.LineageConfiguration.

type MLTaskRun

type MLTaskRun struct {
	Properties    map[string]string `json:"Properties,omitempty"`
	TransformID   string            `json:"TransformId"`
	TaskRunID     string            `json:"TaskRunId"`
	TaskType      string            `json:"TaskType"`
	Status        string            `json:"Status"`
	ErrorString   string            `json:"ErrorString,omitempty"`
	LogGroupName  string            `json:"LogGroupName,omitempty"`
	StartedOn     float64           `json:"StartedOn,omitempty"`
	CompletedOn   float64           `json:"CompletedOn,omitempty"`
	ExecutionTime int               `json:"ExecutionTime,omitempty"`
}

MLTaskRun represents a single ML transform task run.

type MLTaskType

type MLTaskType string

MLTaskType is the category of an ML transform task run.

type MLTransform

type MLTransform struct {
	Parameters          MLTransformParameter `json:"Parameters,omitzero"`
	TransformEncryption *TransformEncryption `json:"TransformEncryption,omitempty"`
	Schema              []SchemaColumnEntry  `json:"Schema,omitempty"`
	TransformID         string               `json:"TransformId"`
	Name                string               `json:"Name"`
	Description         string               `json:"Description,omitempty"`
	Role                string               `json:"Role,omitempty"`
	GlueVersion         string               `json:"GlueVersion,omitempty"`
	WorkerType          string               `json:"WorkerType,omitempty"`
	Status              string               `json:"Status"`
	InputRecordTables   []GlueTable          `json:"InputRecordTables,omitempty"`
	MaxCapacity         float64              `json:"MaxCapacity,omitempty"`
	CreatedOn           float64              `json:"CreatedOn,omitempty"`
	LastModifiedOn      float64              `json:"LastModifiedOn,omitempty"`
	NumberOfWorkers     int32                `json:"NumberOfWorkers,omitempty"`
	MaxRetries          int                  `json:"MaxRetries,omitempty"`
	Timeout             int                  `json:"Timeout,omitempty"`
	LabelCount          int                  `json:"LabelCount,omitempty"`
}

MLTransform represents an AWS Glue ML transform.

type MLTransformOptions added in v1.2.0

type MLTransformOptions struct {
	TransformEncryption *TransformEncryption
	GlueVersion         string
	WorkerType          string
	Schema              []SchemaColumnEntry
	MaxCapacity         float64
	MaxRetries          int
	Timeout             int
	NumberOfWorkers     int32
}

MLTransformOptions carries the optional CreateMLTransform settings beyond Name/Description/Role/InputRecordTables/Parameters/Tags.

type MLTransformParameter

type MLTransformParameter struct {
	FindMatchesParameters any    `json:"FindMatchesParameters,omitempty"`
	TransformType         string `json:"TransformType,omitempty"`
}

MLTransformParameter holds transform hyperparameters.

type MLUserDataEncryption added in v1.2.0

type MLUserDataEncryption struct {
	MLUserDataEncryptionMode string `json:"MlUserDataEncryptionMode"`
	KMSKeyID                 string `json:"KmsKeyId,omitempty"`
}

MLUserDataEncryption specifies the encryption mode applied to an MLTransform's user data, mirroring aws-sdk-go-v2/service/glue/types.MLUserDataEncryption.

type MappingEntry

type MappingEntry struct {
	SourceType  string `json:"SourceType"`
	SourcePath  string `json:"SourcePath"`
	SourceTable string `json:"SourceTable"`
	TargetType  string `json:"TargetType"`
	TargetPath  string `json:"TargetPath"`
	TargetTable string `json:"TargetTable"`
}

MappingEntry describes a single source-to-target column mapping for GetPlan.

type MaterializedViewRefreshRun

type MaterializedViewRefreshRun struct {
	DatabaseName string  `json:"DatabaseName"`
	TableName    string  `json:"TableName"`
	TaskRunID    string  `json:"TaskRunId"`
	Status       string  `json:"Status"`
	StartedOn    float64 `json:"StartedOn,omitempty"`
}

MaterializedViewRefreshRun represents a materialized view refresh task run.

type MongoDBTarget added in v1.2.0

type MongoDBTarget struct {
	ConnectionName string `json:"ConnectionName,omitempty"`
	Path           string `json:"Path,omitempty"`
	ScanAll        bool   `json:"ScanAll,omitempty"`
}

MongoDBTarget is a DocumentDB/MongoDB crawl target, mirroring aws-sdk-go-v2/service/glue/types.MongoDBTarget.

type NotificationProperty

type NotificationProperty struct {
	NotifyDelayAfter int `json:"NotifyDelayAfter,omitempty"`
}

NotificationProperty specifies the delay, in minutes, after which a job run notification is sent (JobRun.NotificationProperty / Job.NotificationProperty).

type Order

type Order struct {
	Column    string `json:"Column"`
	SortOrder int    `json:"SortOrder"`
}

Order specifies the sort order of a column, mirroring aws-sdk-go-v2/service/glue/types.Order.

type Partition

type Partition struct {
	Parameters        map[string]string `json:"Parameters,omitempty"`
	DatabaseName      string            `json:"DatabaseName"`
	TableName         string            `json:"TableName"`
	CatalogID         string            `json:"CatalogId,omitempty"`
	Values            []string          `json:"Values"`
	StorageDescriptor StorageDescriptor `json:"StorageDescriptor,omitzero"`
	CreationTime      float64           `json:"CreationTime,omitempty"`
}

Partition represents a Glue table partition.

type PartitionError

type PartitionError struct {
	ErrorDetail     ErrorDetail `json:"ErrorDetail"`
	PartitionValues []string    `json:"PartitionValues"`
}

PartitionError represents an error for a single partition operation.

type PartitionIndex

type PartitionIndex struct {
	IndexName   string   `json:"IndexName"`
	IndexStatus string   `json:"IndexStatus"`
	Keys        []string `json:"Keys"`
}

PartitionIndex describes an index over table partition keys.

type PartitionInput

type PartitionInput struct {
	Parameters        map[string]string `json:"Parameters,omitempty"`
	Values            []string          `json:"Values"`
	StorageDescriptor StorageDescriptor `json:"StorageDescriptor,omitzero"`
}

PartitionInput is the input for creating a partition.

type PartitionValueList

type PartitionValueList struct {
	Values []string `json:"Values"`
}

PartitionValueList identifies a partition by its values.

type PhysicalConnectionRequirements added in v1.2.0

type PhysicalConnectionRequirements struct {
	AvailabilityZone    string   `json:"AvailabilityZone,omitempty"`
	SubnetID            string   `json:"SubnetId,omitempty"`
	SecurityGroupIDList []string `json:"SecurityGroupIdList,omitempty"`
}

PhysicalConnectionRequirements specifies the VPC/subnet/security-group requirements needed to make a Glue connection, mirroring aws-sdk-go-v2/service/glue/types.PhysicalConnectionRequirements.

type PrincipalPermissions added in v1.2.0

type PrincipalPermissions struct {
	Principal   *DataLakePrincipal `json:"Principal,omitempty"`
	Permissions []string           `json:"Permissions,omitempty"`
}

PrincipalPermissions grants a set of Lake Formation permissions to a principal, mirroring aws-sdk-go-v2/service/glue/types.PrincipalPermissions.

type Provider

type Provider struct{}

Provider implements service.Provider for Glue.

func (*Provider) Init

Init initializes the Glue backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type RecrawlPolicy added in v1.2.0

type RecrawlPolicy struct {
	RecrawlBehavior string `json:"RecrawlBehavior,omitempty"`
}

RecrawlPolicy specifies a crawler's re-crawl behavior, mirroring aws-sdk-go-v2/service/glue/types.RecrawlPolicy.

type Registry

type Registry struct {
	Tags        map[string]string `json:"Tags,omitempty"`
	Name        string            `json:"RegistryName"`
	ARN         string            `json:"RegistryArn"`
	Description string            `json:"Description,omitempty"`
	Status      string            `json:"Status"`
	CreatedTime float64           `json:"CreatedTime,omitempty"`
	UpdatedTime float64           `json:"UpdatedTime,omitempty"`
}

Registry represents a Glue Schema Registry.

type ResourceURI

type ResourceURI struct {
	ResourceType string `json:"ResourceType,omitempty"`
	URI          string `json:"Uri,omitempty"`
}

ResourceURI holds a URI for a UDF resource.

type S3EncryptionEntry

type S3EncryptionEntry struct {
	S3EncryptionMode string `json:"S3EncryptionMode,omitempty"`
	KMSKeyARN        string `json:"KmsKeyArn,omitempty"`
}

S3EncryptionEntry holds per-S3-bucket encryption config.

type S3Target

type S3Target struct {
	Path       string   `json:"Path,omitempty"`
	Exclusions []string `json:"Exclusions,omitempty"`
}

S3Target is an S3 path for a crawler.

type Schema

type Schema struct {
	Tags                map[string]string `json:"Tags,omitempty"`
	RegistryName        string            `json:"RegistryName"`
	SchemaName          string            `json:"SchemaName"`
	SchemaARN           string            `json:"SchemaArn"`
	RegistryARN         string            `json:"RegistryArn"`
	DataFormat          string            `json:"DataFormat"`
	Compatibility       string            `json:"Compatibility"`
	Description         string            `json:"Description,omitempty"`
	SchemaStatus        string            `json:"SchemaStatus"`
	CreatedTime         float64           `json:"CreatedTime,omitempty"`
	UpdatedTime         float64           `json:"UpdatedTime,omitempty"`
	LatestSchemaVersion int64             `json:"LatestSchemaVersion"`
	NextSchemaVersion   int64             `json:"NextSchemaVersion"`
	CheckpointVersion   int64             `json:"SchemaCheckpoint"`
}

Schema represents a Glue Schema Registry schema.

type SchemaChangePolicy added in v1.2.0

type SchemaChangePolicy struct {
	UpdateBehavior string `json:"UpdateBehavior,omitempty"`
	DeleteBehavior string `json:"DeleteBehavior,omitempty"`
}

SchemaChangePolicy specifies a crawler's update/deletion behavior, mirroring aws-sdk-go-v2/service/glue/types.SchemaChangePolicy.

type SchemaColumnEntry added in v1.2.0

type SchemaColumnEntry struct {
	Name     string `json:"Name,omitempty"`
	DataType string `json:"DataType,omitempty"`
}

SchemaColumnEntry is a column name/data-type pair describing an MLTransform's input schema, mirroring aws-sdk-go-v2/service/glue/types.SchemaColumn.

type SchemaVersion

type SchemaVersion struct {
	SchemaVersionID  string  `json:"SchemaVersionId"`
	SchemaARN        string  `json:"SchemaArn"`
	SchemaDefinition string  `json:"SchemaDefinition,omitempty"`
	Status           string  `json:"Status"`
	DataFormat       string  `json:"DataFormat,omitempty"`
	VersionNumber    int64   `json:"VersionNumber"`
	CreatedTime      float64 `json:"CreatedTime,omitempty"`
}

SchemaVersion represents a single version of a schema.

type SearchResultItem added in v1.2.0

type SearchResultItem struct {
	AssetDescription string  `json:"AssetDescription,omitempty"`
	AssetName        string  `json:"AssetName,omitempty"`
	AssetTypeID      string  `json:"AssetTypeId,omitempty"`
	ID               string  `json:"Id,omitempty"`
	UpdatedAt        float64 `json:"UpdatedAt,omitempty"`
}

SearchResultItem is a single SearchAssets match, field-diffed against types.SearchResultItem.

type SecurityConfiguration

type SecurityConfiguration struct {
	Name                    string                  `json:"Name"`
	EncryptionConfiguration EncryptionConfiguration `json:"EncryptionConfiguration"`
	CreatedTimeStamp        float64                 `json:"CreatedTimeStamp,omitempty"`
}

SecurityConfiguration represents a Glue security configuration.

type SerDeInfo

type SerDeInfo struct {
	Parameters           map[string]string `json:"Parameters,omitempty"`
	Name                 string            `json:"Name,omitempty"`
	SerializationLibrary string            `json:"SerializationLibrary,omitempty"`
}

SerDeInfo holds the serialization/deserialization information for a StorageDescriptor, mirroring aws-sdk-go-v2/service/glue/types.SerDeInfo.

type Session

type Session struct {
	DefaultArguments map[string]string `json:"DefaultArguments,omitempty"`
	Command          SessionCommand    `json:"Command,omitzero"`
	SessionID        string            `json:"Id"`
	Role             string            `json:"Role,omitempty"`
	Status           string            `json:"Status"`
	Description      string            `json:"Description,omitempty"`
	CreatedOn        float64           `json:"CreatedOn,omitempty"`
	MaxCapacity      float64           `json:"MaxCapacity,omitempty"`
	Timeout          int32             `json:"Timeout,omitempty"`
}

Session represents a Glue interactive session.

type SessionCommand

type SessionCommand struct {
	Name          string `json:"Name,omitempty"`
	PythonVersion string `json:"PythonVersion,omitempty"`
}

SessionCommand holds the command info for a Glue interactive session.

type SessionEndpoint added in v1.2.0

type SessionEndpoint struct {
	URL                     string  `json:"Url"`
	AuthToken               string  `json:"AuthToken"`
	AuthTokenExpirationTime float64 `json:"AuthTokenExpirationTime"`
}

SessionEndpoint carries the Spark Connect endpoint URL and authentication token for an interactive session, field-diffed against types.SessionEndpoint.

type Snapshottable

type Snapshottable interface {
	Snapshot(ctx context.Context) []byte
	Restore(ctx context.Context, data []byte) error
}

Snapshottable is an optional interface that a StorageBackend may implement to support persistence via Snapshot/Restore.

type SourceControlDetails

type SourceControlDetails struct {
	AuthStrategy string `json:"AuthStrategy,omitempty"`
	AuthToken    string `json:"AuthToken,omitempty"`
	Branch       string `json:"Branch,omitempty"`
	Folder       string `json:"Folder,omitempty"`
	LastCommitID string `json:"LastCommitId,omitempty"`
	Owner        string `json:"Owner,omitempty"`
	Provider     string `json:"Provider,omitempty"`
	Repository   string `json:"Repository,omitempty"`
}

SourceControlDetails records the remote-repository link for a job synchronized via UpdateJobFromSourceControl / UpdateSourceControlFromJob.

type StartJobRunOptions added in v1.2.0

type StartJobRunOptions struct {
	NotificationProperty  *NotificationProperty
	WorkerType            string
	SecurityConfiguration string
	NumberOfWorkers       int
	MaxCapacity           float64
	Timeout               int
}

StartJobRunOptions carries the optional per-run overrides AWS's StartJobRunRequest supports beyond JobName/Arguments.

type Statement

type Statement struct {
	Output      any     `json:"Output,omitempty"`
	SessionId   string  `json:"SessionId,omitempty"` //nolint:revive,staticcheck // AWS API naming
	Code        string  `json:"Code,omitempty"`
	State       string  `json:"State"`
	Progress    float64 `json:"Progress,omitempty"`
	StartedOn   float64 `json:"StartedOn,omitempty"`
	CompletedOn float64 `json:"CompletedOn,omitempty"`
	Id          int32   `json:"Id"` //nolint:revive,staticcheck // AWS API uses Id not ID
}

Statement represents a statement run within a Glue session.

type StatisticAnnotation

type StatisticAnnotation struct {
	ProfileID      string  `json:"ProfileId"`
	StatisticID    string  `json:"StatisticId,omitempty"`
	Inclusion      string  `json:"Inclusion,omitempty"`
	RecordedOn     float64 `json:"RecordedOn,omitempty"`
	LastModifiedOn float64 `json:"LastModifiedOn,omitempty"`
}

StatisticAnnotation records an inclusion annotation applied via PutDataQualityProfileAnnotation (profile-wide, StatisticID == "") or BatchPutDataQualityStatisticAnnotation (per-statistic).

type StorageBackend

type StorageBackend interface {
	// Region returns the backend region.
	Region() string
	// AccountID returns the backend account ID.
	AccountID() string
	// Reset clears all backend state, returning it to the initial empty state.
	Reset()

	// Managed reconciler lifecycle. StartReconciler is invoked by the service
	// framework's BackgroundWorker hook; StopReconciler by its Shutdowner hook.
	StartReconciler(ctx context.Context)
	StopReconciler()

	// Connection-type registry operations.
	RegisterConnectionType(name, description string) (*ConnectionTypeInfo, error)
	DeleteConnectionType(name string) error
	ListConnectionTypes() []*ConnectionTypeInfo
	DescribeConnectionType(name string) (*ConnectionTypeInfo, error)

	// Connector entity metadata/data operations.
	DescribeEntity(connectionName, entityName string) ([]EntityField, error)
	GetEntityRecords(connectionName, entityName string, limit int, nextToken string) ([]map[string]any, string, error)
	ListEntities(connectionName string) ([]EntityDescriptor, error)

	// Database operations.
	CreateDatabase(input DatabaseInput, tags map[string]string) (*Database, error)
	GetDatabase(name string) (*Database, error)
	GetDatabases() []*Database
	UpdateDatabase(name string, input DatabaseInput) error
	DeleteDatabase(name string) error

	// Table operations.
	CreateTable(dbName string, input TableInput) (*Table, error)
	GetTable(dbName, tableName string) (*Table, error)
	GetTables(dbName string) ([]*Table, error)
	UpdateTable(dbName string, input TableInput) error
	DeleteTable(dbName, tableName string) error

	// Crawler operations.
	CreateCrawler(
		name, role, dbName string,
		targets CrawlerTarget,
		tags map[string]string,
	) (*Crawler, error)
	CreateCrawlerWithOptions(
		name, role, dbName string,
		targets CrawlerTarget,
		tags map[string]string,
		opts CrawlerOptions,
	) (*Crawler, error)
	GetCrawler(name string) (*Crawler, error)
	GetCrawlers() []*Crawler
	ListCrawlers() []string
	UpdateCrawler(name, role, dbName string, targets CrawlerTarget) error
	UpdateCrawlerWithOptions(name, role, dbName string, targets CrawlerTarget, opts CrawlerOptions) error
	DeleteCrawler(name string) error

	// Job operations.
	CreateJob(input Job) (*Job, error)
	GetJob(name string) (*Job, error)
	GetJobs() []*Job
	UpdateJob(name string, input Job) error
	DeleteJob(name string) error
	UpdateJobFromSourceControl(jobName string, details SourceControlDetails) error
	UpdateSourceControlFromJob(jobName string, details SourceControlDetails) error

	// Tag operations.
	TagResource(resourceARN string, tags map[string]string) error
	UntagResource(resourceARN string, tagKeys []string) error
	GetTags(resourceARN string) (map[string]string, error)

	// Partition operations.
	BatchCreatePartition(
		dbName, tableName string,
		inputs []PartitionInput,
	) ([]*Partition, []PartitionError)
	BatchDeletePartition(dbName, tableName string, values []PartitionValueList) []PartitionError
	BatchDeleteTableVersion(dbName, tableName string, versionIDs []string) []TableVersionError

	// Single partition operations.
	GetPartition(dbName, tableName string, values []string) (*Partition, error)
	GetPartitions(dbName, tableName string) ([]*Partition, error)
	UpdatePartition(dbName, tableName string, partitionValues []string, input PartitionInput) error
	CreatePartitionIndex(dbName, tableName string, input PartitionIndex) error
	DeletePartitionIndex(dbName, tableName, indexName string) error
	GetPartitionIndexes(dbName, tableName string) ([]*PartitionIndex, error)

	// Connection operations.
	CreateConnection(
		name, connType string,
		props map[string]string,
		tags map[string]string,
	) (*Connection, error)
	CreateConnectionWithOptions(
		name, connType string,
		props map[string]string,
		tags map[string]string,
		opts ConnectionOptions,
	) (*Connection, error)
	GetConnection(name string) (*Connection, error)
	GetConnections() []*Connection
	DeleteConnection(name string) error
	UpdateConnection(name string, connType string, props map[string]string) error
	UpdateConnectionWithOptions(name, connType string, props map[string]string, opts ConnectionOptions) error

	// Batch connection operations.
	BatchDeleteConnection(names []string) ([]string, []ErrorDetail)

	// Batch table operations.
	BatchDeleteTable(dbName string, tableNames []string) []TableError

	// Batch blueprint operations.
	BatchGetBlueprints(names []string) ([]*Blueprint, []string)

	// Batch crawler operations.
	BatchGetCrawlers(names []string) ([]*Crawler, []string)

	// Batch custom entity type operations.
	BatchGetCustomEntityTypes(names []string) ([]*CustomEntityType, []string)

	// Batch data quality operations.
	BatchGetDataQualityResult(resultIDs []string) ([]*DataQualityResult, []ErrorDetail)

	// Batch dev endpoint operations.
	BatchGetDevEndpoints(names []string) ([]*DevEndpoint, []string)

	// Seed helpers (internal use for tests).
	AddConnectionInternal(conn *Connection)
	AddBlueprintInternal(bp *Blueprint)
	AddCustomEntityTypeInternal(cet *CustomEntityType)
	AddDataQualityResultInternal(dqr *DataQualityResult)
	AddDevEndpointInternal(dep *DevEndpoint)
	AddTableVersionInternal(dbName, tableName string, tv *TableVersion)
	AddPartitionInternal(dbName, tableName string, p *Partition)

	// Job run operations.
	StartJobRun(jobName string, arguments map[string]string) (*JobRun, error)
	StartJobRunWithOptions(jobName string, arguments map[string]string, opts StartJobRunOptions) (*JobRun, error)
	GetJobRun(jobName, runID string) (*JobRun, error)
	GetJobRuns(jobName string) ([]*JobRun, error)
	BatchStopJobRun(jobName string, runIDs []string) []BatchStopJobRunError
	GetJobBookmark(jobName string) (*JobBookmark, error)
	ResetJobBookmark(jobName string) error
	ResetJobBookmarkWithResult(jobName string) (*JobBookmark, error)

	// Crawler scheduling operations.
	StartCrawler(name string) error
	StopCrawler(name string) error
	UpdateCrawlerSchedule(name, scheduleExpression string) error
	StartCrawlerSchedule(name string) error
	StopCrawlerSchedule(name string) error
	ListCrawls(crawlerName string) ([]*CrawlHistoryEntry, error)

	// Data quality ruleset operations.
	CreateDataQualityRuleset(
		name, ruleset string,
		tags map[string]string,
	) (*DataQualityRuleset, error)
	CreateDataQualityRulesetWithOptions(
		name, ruleset string,
		tags map[string]string,
		opts DataQualityRulesetOptions,
	) (*DataQualityRuleset, error)
	GetDataQualityRuleset(name string) (*DataQualityRuleset, error)
	DeleteDataQualityRuleset(name string) error
	UpdateDataQualityRuleset(name, ruleset, description string) error
	ListDataQualityRulesets() []*DataQualityRuleset
	StartDataQualityRulesetEvaluationRun(rulesetNames []string) (*DataQualityEvaluationRun, error)
	GetDataQualityRulesetEvaluationRun(runID string) (*DataQualityEvaluationRun, error)
	CancelDataQualityRulesetEvaluationRun(runID string) error

	// Seed helpers for new types.
	AddJobRunInternal(run *JobRun)
	AddDataQualityRulesetInternal(r *DataQualityRuleset)
	AddDataQualityEvalRunInternal(run *DataQualityEvaluationRun)

	// Trigger operations.
	CreateTrigger(t Trigger, tags map[string]string) (*Trigger, error)
	GetTrigger(name string) (*Trigger, error)
	GetTriggers() []*Trigger
	BatchGetTriggers(names []string) ([]*Trigger, []string)
	UpdateTrigger(name string, update Trigger) error
	DeleteTrigger(name string) error
	StartTrigger(name string) error
	StopTrigger(name string) error

	// Workflow operations.
	CreateWorkflow(w Workflow, tags map[string]string) (*Workflow, error)
	GetWorkflow(name string) (*Workflow, error)
	GetWorkflows() []string
	BatchGetWorkflows(names []string) ([]*Workflow, []string)
	UpdateWorkflow(name string, update Workflow) error
	DeleteWorkflow(name string) error
	StartWorkflowRun(name string) (*WorkflowRun, error)
	GetWorkflowRun(workflowName, runID string) (*WorkflowRun, error)
	GetWorkflowRuns(workflowName string) ([]*WorkflowRun, error)

	// Classifier operations.
	CreateClassifier(c Classifier) error
	GetClassifier(name string) (*Classifier, error)
	GetClassifiers() []*Classifier
	UpdateClassifier(c Classifier) error
	DeleteClassifier(name string) error

	// DevEndpoint full CRUD.
	CreateDevEndpoint(name string, input DevEndpointInput, roleArn string, tags map[string]string) (*DevEndpoint, error)
	GetDevEndpoint(name string) (*DevEndpoint, error)
	GetAllDevEndpoints() []*DevEndpoint
	DeleteDevEndpoint(name string) error

	// Schema Registry operations.
	CreateRegistry(name, description string, tags map[string]string) (*Registry, error)
	DescribeRegistry(name string) (*Registry, error)
	ListRegistries() []*Registry
	UpdateRegistry(name, description string) error
	DeleteRegistry(name string) error

	// Schema operations.
	CreateSchema(
		registryName, schemaName, dataFormat, compatibility, description string,
		tags map[string]string,
	) (*Schema, error)
	DescribeSchema(registryName, schemaName string) (*Schema, error)
	ListSchemas(registryName string) []*Schema
	UpdateSchema(registryName, schemaName, compatibility, description string) error
	DeleteSchema(registryName, schemaName string) error

	// Schema Version operations.
	RegisterSchemaVersion(registryName, schemaName, schemaDefinition string) (*SchemaVersion, error)
	GetSchemaVersion(registryName, schemaName string, versionNumber int64) (*SchemaVersion, error)
	ListSchemaVersions(registryName, schemaName string) []*SchemaVersion

	// Crawler metrics.
	GetCrawlerMetrics(crawlerNames []string) []*CrawlerMetrics

	// Table version retrieval (read-only; versions are created via CreateTable/UpdateTable).
	GetTableVersions(dbName, tableName string) []*TableVersion
	GetTableVersion(dbName, tableName, versionID string) (*TableVersion, error)

	// SearchTables returns tables matching a case-insensitive substring filter.
	SearchTables(searchText string) []*Table

	// UserDefinedFunction operations.
	CreateUserDefinedFunction(
		dbName string,
		input UserDefinedFunction,
		tags map[string]string,
	) (*UserDefinedFunction, error)
	GetUserDefinedFunction(dbName, name string) (*UserDefinedFunction, error)
	GetUserDefinedFunctions(dbName string) []*UserDefinedFunction
	UpdateUserDefinedFunction(dbName, name string, input UserDefinedFunction) error
	DeleteUserDefinedFunction(dbName, name string) error

	// SecurityConfiguration operations.
	CreateSecurityConfiguration(
		name string,
		enc EncryptionConfiguration,
	) (*SecurityConfiguration, error)
	GetSecurityConfiguration(name string) (*SecurityConfiguration, error)
	DeleteSecurityConfiguration(name string) error
	ListSecurityConfigurations() []*SecurityConfiguration

	// Session operations.
	CreateSession(id, role string, cmd SessionCommand, opts Session) (*Session, error)
	GetSession(id string) (*Session, error)
	ListSessions() []*Session
	DeleteSession(id string) error
	StopSession(id string) error

	// Statement operations.
	RunStatement(sessionID, code string) (*Statement, error)
	GetStatement(sessionID string, statementID int32) (*Statement, error)
	GetStatements(sessionID string) ([]*Statement, error)
	CancelStatement(sessionID string, statementID int32) error

	// TableOptimizer operations.
	CreateTableOptimizer(
		catalogID, dbName, tableName, optimizerType string,
		config TableOptimizerConfiguration,
	) error
	GetTableOptimizer(dbName, tableName, optimizerType string) (*TableOptimizer, error)
	UpdateTableOptimizer(
		dbName, tableName, optimizerType string,
		config TableOptimizerConfiguration,
	) error
	DeleteTableOptimizer(dbName, tableName, optimizerType string) error
	BatchGetTableOptimizer(
		entries []BatchGetTableOptimizerEntry,
	) ([]*TableOptimizer, []BatchGetTableOptimizerError)

	// Column statistics operations.
	UpdateColumnStatisticsForTable(dbName, tableName string, stats []*ColumnStatistics) error
	GetColumnStatisticsForTable(
		dbName, tableName string,
		columnNames []string,
	) ([]*ColumnStatistics, error)
	DeleteColumnStatisticsForTable(dbName, tableName, columnName string) error
	UpdateColumnStatisticsForPartition(
		dbName, tableName string,
		partitionValues []string,
		stats []*ColumnStatistics,
	) error
	GetColumnStatisticsForPartition(
		dbName, tableName string,
		partitionValues []string,
		columnNames []string,
	) ([]*ColumnStatistics, error)
	DeleteColumnStatisticsForPartition(
		dbName, tableName string,
		partitionValues []string,
		columnName string,
	) error

	// Resource policy operations.
	PutResourcePolicy(policy, resourceARN, existsCondition, hashCondition, enableHybrid string) (string, error)
	GetResourcePolicy(resourceARN string) (string, string, error)
	DeleteResourcePolicy(resourceARN, policyHash string) error
	ListResourcePolicies() []*resourcePolicyEntry

	// MLTransform operations.
	CreateMLTransform(
		name, description, role string,
		tables []GlueTable,
		params MLTransformParameter,
		tags map[string]string,
	) (*MLTransform, error)
	CreateMLTransformWithOptions(
		name, description, role string,
		tables []GlueTable,
		params MLTransformParameter,
		tags map[string]string,
		opts MLTransformOptions,
	) (*MLTransform, error)
	GetMLTransform(id string) (*MLTransform, error)
	GetMLTransforms() []*MLTransform
	UpdateMLTransform(id string, update MLTransform) error
	DeleteMLTransform(id string) error

	// Catalog operations.
	CreateCatalog(catalogID, name, description string, params map[string]string) error
	GetCatalog(catalogID string) (*CatalogEntry, error)
	GetCatalogs() []*CatalogEntry
	UpdateCatalog(catalogID, description string, params map[string]string) error
	DeleteCatalog(catalogID string) error

	// WorkflowRun extras.
	StopWorkflowRun(workflowName, runID string) error
	PutWorkflowRunProperties(workflowName, runID string, props map[string]string) error

	// Table version deletion.
	DeleteTableVersion(dbName, tableName, versionID string) error

	// DevEndpoint update.
	UpdateDevEndpoint(name string, addArgs map[string]string, deleteArgs []string, opts UpdateDevEndpointOptions) error

	// Data catalog encryption settings.
	PutDataCatalogEncryptionSettings(catalogID string, settings DataCatalogEncryptionSettings) error
	GetDataCatalogEncryptionSettings(catalogID string) (*DataCatalogEncryptionSettings, error)

	// Blueprint CRUD (batch 2).
	CreateBlueprint(name, blueprintLocation, description string, tags map[string]string) (*Blueprint, error)
	DeleteBlueprint(name string) error
	UpdateBlueprint(name, blueprintLocation, description string) (*Blueprint, error)
	ListBlueprints() []string

	// BlueprintRun operations.
	StartBlueprintRun(blueprintName string) (*BlueprintRun, error)
	GetBlueprintRun(blueprintName, runID string) (*BlueprintRun, error)
	GetBlueprintRuns(blueprintName string) []*BlueprintRun

	// UsageProfile operations.
	CreateUsageProfile(name, description string, tags map[string]string) (*UsageProfile, error)
	GetUsageProfile(name string) (*UsageProfile, error)
	DeleteUsageProfile(name string) error
	ListUsageProfiles() []*UsageProfile
	UpdateUsageProfile(name, description string) (*UsageProfile, error)

	// CustomEntityType individual CRUD.
	CreateCustomEntityType(
		name, regexString string,
		contextWords []string,
	) (*CustomEntityType, error)
	GetCustomEntityType(name string) (*CustomEntityType, error)
	DeleteCustomEntityType(name string) error
	ListCustomEntityTypes() []*CustomEntityType

	// DataQuality recommendation runs.
	StartDataQualityRuleRecommendationRun(s3Path string) (*DQRuleRecommendationRun, error)
	GetDataQualityRuleRecommendationRun(runID string) (*DQRuleRecommendationRun, error)
	CancelDataQualityRuleRecommendationRun(runID string) error
	ListDataQualityRuleRecommendationRuns() []*DQRuleRecommendationRun

	// ColumnStatisticsTask operations.
	CreateColumnStatisticsTaskSettings(
		dbName, tableName, roleArn string,
		columns []string,
	) (*ColumnStatisticsTaskSettings, error)
	GetColumnStatisticsTaskSettings(dbName, tableName string) (*ColumnStatisticsTaskSettings, error)
	UpdateColumnStatisticsTaskSettings(dbName, tableName, roleArn string) error
	DeleteColumnStatisticsTaskSettings(dbName, tableName string) error
	StartColumnStatisticsTaskRunSchedule(dbName, tableName string) error
	StopColumnStatisticsTaskRunSchedule(dbName, tableName string) error
	StartColumnStatisticsTaskRun(dbName, tableName string) (*ColumnStatisticsTaskRun, error)
	StopColumnStatisticsTaskRun(runID string) error
	GetColumnStatisticsTaskRun(runID string) (*ColumnStatisticsTaskRun, error)
	GetColumnStatisticsTaskRuns() []*ColumnStatisticsTaskRun
	ListColumnStatisticsTaskRuns() []*ColumnStatisticsTaskRun

	// MaterializedView refresh operations.
	StartMaterializedViewRefreshTaskRun(
		dbName, tableName string,
	) (*MaterializedViewRefreshRun, error)
	StopMaterializedViewRefreshTaskRun(taskRunID string) error
	GetMaterializedViewRefreshTaskRun(taskRunID string) (*MaterializedViewRefreshRun, error)
	ListMaterializedViewRefreshTaskRuns() []*MaterializedViewRefreshRun

	// Integration operations.
	CreateIntegration(name string, tags map[string]string) (*Integration, error)
	DeleteIntegration(name string) error
	ListIntegrations() []*Integration
	ModifyIntegration(name string) error
	CreateIntegrationResourceProperty(
		resourceArn string,
		sourceProps, targetProps map[string]string,
	) (*IntegrationResourceProperty, error)
	GetIntegrationResourceProperty(resourceArn string) (*IntegrationResourceProperty, error)
	UpdateIntegrationResourceProperty(
		resourceArn string,
		sourceProps, targetProps map[string]string,
	) (*IntegrationResourceProperty, error)
	ListIntegrationResourceProperties() []*IntegrationResourceProperty
	CreateIntegrationTableProperties(
		resourceArn, tableName string,
		sourceConfig, targetConfig map[string]any,
	) error
	GetIntegrationTableProperties(
		resourceArn, tableName string,
	) (*IntegrationTableProperties, error)
	UpdateIntegrationTableProperties(
		resourceArn, tableName string,
		sourceConfig, targetConfig map[string]any,
	) error

	// GlueIdentityCenter operations.
	CreateGlueIdentityCenterConfiguration(instanceARN string) error
	GetGlueIdentityCenterConfiguration() (*IdentityCenterConfig, error)
	UpdateGlueIdentityCenterConfiguration(instanceARN string) error
	DeleteGlueIdentityCenterConfiguration() error

	// ML transform task run operations.
	StartMLEvaluationTaskRun(transformID string) (*MLTaskRun, error)
	StartMLLabelingSetGenerationTaskRun(transformID string) (*MLTaskRun, error)
	StartExportLabelsTaskRun(transformID, outputPath string) (*MLTaskRun, error)
	StartImportLabelsTaskRun(transformID, inputPath string) (*MLTaskRun, error)
	GetMLTaskRun(transformID, taskRunID string) (*MLTaskRun, error)
	GetMLTaskRuns(transformID string) ([]*MLTaskRun, error)
	CancelMLTaskRun(transformID, taskRunID string) error

	// DataQuality listing and model operations.
	ListDataQualityEvaluationRuns() []*DataQualityEvaluationRun
	ListDataQualityResults() []*DataQualityResult
	PutDataQualityStatisticAnnotation(profileID, statisticID, inclusion string)
	ListDataQualityStatisticAnnotations(profileID, statisticID string) []*StatisticAnnotation

	// CatalogImport operations.
	ImportCatalogToGlue(catalogID string) error
	GetCatalogImportStatus(catalogID string) *CatalogImportStatus

	// Schema version metadata operations.
	PutSchemaVersionMetadata(schemaVersionID, key, value string) error
	QuerySchemaVersionMetadata(schemaVersionID string) map[string]string
	RemoveSchemaVersionMetadata(schemaVersionID, key string) error

	// Schema lookup by definition.
	GetSchemaByDefinition(registryName, schemaName, definition string) (*SchemaVersion, error)

	// Schema version diff.
	GetSchemaVersionsDiff(registryName, schemaName string, v1, v2 int64) (string, error)

	// ETL plan generation.
	GetPlan(language string) (string, string)

	// Workflow resume.
	ResumeWorkflowRun(workflowName, runID string) (string, []string, error)

	// Schema version deletion (single version, by number).
	DeleteSchemaVersion(registryName, schemaName string, versionNumber int64) error

	// Integration resource/table property deletion.
	DeleteIntegrationResourceProperty(resourceArn string) error
	DeleteIntegrationTableProperties(resourceArn, tableName string) error

	// Business glossary operations (glossaries.go).
	CreateGlossary(name, description string) (*Glossary, error)
	GetGlossary(id string) (*Glossary, error)
	UpdateGlossary(id string, name, description *string) (*Glossary, error)
	DeleteGlossary(id string) error
	ListGlossaries() []*Glossary
	CreateGlossaryTerm(glossaryID, name, shortDesc, longDesc string) (*GlossaryTerm, error)
	GetGlossaryTerm(id string) (*GlossaryTerm, error)
	UpdateGlossaryTerm(id string, name, shortDesc, longDesc *string) (*GlossaryTerm, error)
	DeleteGlossaryTerm(id string) error
	ListGlossaryTerms(glossaryID string) ([]*GlossaryTerm, error)
	AssociateGlossaryTerms(assetID string, termIDs []string) ([]string, error)
	DisassociateGlossaryTerms(assetID string, termIDs []string) ([]string, error)

	// Asset catalog operations: asset types, assets, attachments, and
	// iterable form items (assets.go, search_assets.go).
	PutAssetType(name string, forms map[string]AssetTypeFormReference) (*AssetType, error)
	GetAssetType(id string) (*AssetType, error)
	DeleteAssetType(id string) error
	ListAssetTypes() []*AssetType
	PutAsset(id, name, description, assetTypeID string, forms map[string]AssetFormEntry) (*Asset, error)
	GetAsset(id string) (*Asset, error)
	UpdateAsset(id string, name, description *string) (*Asset, error)
	DeleteAsset(id string) error
	SearchAssets(searchText string, filter *searchFilterClause, sortAttr string, sortDesc bool) []*Asset
	PutAttachment(assetID, attachmentName, formTypeID, content, iterableFormName, itemIdentifier string) error
	DeleteAttachment(assetID, attachmentName, iterableFormName, itemIdentifier string) error
	BatchGetIterableForms(
		assetID, iterableFormName string,
		itemIDs []string,
	) ([]*IterableFormItem, []ItemErrorDetail, error)
	ListIterableForms(assetID, iterableFormName string) ([]*IterableFormListItem, error)

	// Form type operations (forms.go).
	PutFormType(name, schema string) (*FormType, error)
	GetFormType(id string) (*FormType, error)
	DeleteFormType(id string) error
	ListFormTypes() []*FormType

	// Spark monitoring dashboard / interactive-session Spark Connect endpoint
	// (dashboard.go).
	GetDashboardURL(resourceID, resourceType, requestOrigin string) (string, error)
	GetSessionEndpoint(sessionID string) (*SessionEndpoint, error)
}

StorageBackend defines the interface for all Glue backend operations. InMemoryBackend implements this interface; alternative backends (e.g. test doubles) can implement it too, keeping the Handler backend-agnostic.

type StorageDescriptor

type StorageDescriptor struct {
	SerdeInfo              *SerDeInfo        `json:"SerdeInfo,omitempty"`
	Parameters             map[string]string `json:"Parameters,omitempty"`
	Location               string            `json:"Location,omitempty"`
	InputFormat            string            `json:"InputFormat,omitempty"`
	OutputFormat           string            `json:"OutputFormat,omitempty"`
	Columns                []Column          `json:"Columns,omitempty"`
	BucketColumns          []string          `json:"BucketColumns,omitempty"`
	SortColumns            []Order           `json:"SortColumns,omitempty"`
	NumberOfBuckets        int               `json:"NumberOfBuckets,omitempty"`
	Compressed             bool              `json:"Compressed,omitempty"`
	StoredAsSubDirectories bool              `json:"StoredAsSubDirectories,omitempty"`
}

StorageDescriptor describes the physical storage of a table or partition.

type Table

type Table struct {
	Parameters        map[string]string `json:"Parameters,omitempty"`
	Name              string            `json:"Name"`
	DatabaseName      string            `json:"DatabaseName"`
	CatalogID         string            `json:"CatalogId"`
	Description       string            `json:"Description,omitempty"`
	Owner             string            `json:"Owner,omitempty"`
	TableType         string            `json:"TableType,omitempty"`
	PartitionKeys     []Column          `json:"PartitionKeys,omitempty"`
	StorageDescriptor StorageDescriptor `json:"StorageDescriptor,omitzero"`
	Retention         int               `json:"Retention,omitempty"`
	CreateTime        float64           `json:"CreateTime,omitempty"`
	UpdateTime        float64           `json:"UpdateTime,omitempty"`
}

Table represents a Glue catalog table.

type TableError

type TableError struct {
	TableName   string      `json:"TableName"`
	ErrorDetail ErrorDetail `json:"ErrorDetail"`
}

TableError represents an error for a single table operation.

type TableInput

type TableInput struct {
	Parameters        map[string]string `json:"Parameters,omitempty"`
	Name              string            `json:"Name"`
	Description       string            `json:"Description,omitempty"`
	Owner             string            `json:"Owner,omitempty"`
	TableType         string            `json:"TableType,omitempty"`
	PartitionKeys     []Column          `json:"PartitionKeys,omitempty"`
	StorageDescriptor StorageDescriptor `json:"StorageDescriptor,omitzero"`
	Retention         int               `json:"Retention,omitempty"`
}

TableInput is the input for creating or updating a Glue table.

type TableOptimizer

type TableOptimizer struct {
	LastRun       *TableOptimizerRun          `json:"LastRun,omitempty"`
	CatalogID     string                      `json:"CatalogId,omitempty"`
	DatabaseName  string                      `json:"DatabaseName"`
	TableName     string                      `json:"TableName"`
	Type          string                      `json:"Type"`
	Configuration TableOptimizerConfiguration `json:"Configuration,omitzero"`
}

TableOptimizer represents a single table optimizer resource.

type TableOptimizerConfiguration

type TableOptimizerConfiguration struct {
	RoleARN string `json:"RoleArn,omitempty"`
	Enabled bool   `json:"Enabled"`
}

TableOptimizerConfiguration holds the config for a table optimizer.

type TableOptimizerRun

type TableOptimizerRun struct {
	Metrics   any     `json:"metrics,omitempty"`
	EventType string  `json:"eventType,omitempty"`
	Error     string  `json:"error,omitempty"`
	StartedAt float64 `json:"startTimestamp,omitempty"`
	EndedAt   float64 `json:"endTimestamp,omitempty"`
}

TableOptimizerRun holds a single run record for a table optimizer. The Glue Iceberg table-optimizer sub-API serializes this nested document with lowerCamelCase keys, unlike the rest of the Glue JSON protocol.

type TableVersion

type TableVersion struct {
	Table     *Table `json:"Table,omitempty"`
	VersionID string `json:"VersionId"`
}

TableVersion represents a version of a Glue table.

type TableVersionError

type TableVersionError struct {
	TableName   string      `json:"TableName"`
	VersionID   string      `json:"VersionId"`
	ErrorDetail ErrorDetail `json:"ErrorDetail"`
}

TableVersionError represents an error for a table version operation.

type TaggedEntry added in v1.2.0

type TaggedEntry struct {
	Tags map[string]string
	ARN  string
}

TaggedEntry pairs a resource ARN with its tag map, for cross-service tag enumeration by the Resource Groups Tagging API (see cli.go's wireTaggingGlue).

type TransformEncryption added in v1.2.0

type TransformEncryption struct {
	MLUserDataEncryption             *MLUserDataEncryption `json:"MlUserDataEncryption,omitempty"`
	TaskRunSecurityConfigurationName string                `json:"TaskRunSecurityConfigurationName,omitempty"`
}

TransformEncryption specifies the encryption settings for an MLTransform's task runs, mirroring aws-sdk-go-v2/service/glue/types.TransformEncryption.

type Trigger

type Trigger struct {
	Tags                   map[string]string              `json:"-"`
	Predicate              *TriggerPredicate              `json:"Predicate,omitempty"`
	EventBatchingCondition *TriggerEventBatchingCondition `json:"EventBatchingCondition,omitempty"`
	ARN                    string                         `json:"Arn,omitempty"`
	Name                   string                         `json:"Name"`
	Type                   string                         `json:"Type,omitempty"`
	State                  string                         `json:"State,omitempty"`
	Schedule               string                         `json:"Schedule,omitempty"`
	Description            string                         `json:"Description,omitempty"`
	WorkflowName           string                         `json:"WorkflowName,omitempty"`
	Actions                []TriggerAction                `json:"Actions,omitempty"`
	// StartOnCreation mirrors CreateTriggerInput.StartOnCreation: when true, a
	// SCHEDULED or CONDITIONAL trigger is activated immediately on creation. It is
	// not part of the Trigger wire shape itself (hence json:"-"), only of the
	// create request, matching the real CreateTriggerInput/Trigger type split.
	StartOnCreation bool `json:"-"`
}

Trigger represents a Glue trigger.

type TriggerAction

type TriggerAction struct {
	Arguments             map[string]string     `json:"Arguments,omitempty"`
	NotificationProperty  *NotificationProperty `json:"NotificationProperty,omitempty"`
	JobName               string                `json:"JobName,omitempty"`
	CrawlerName           string                `json:"CrawlerName,omitempty"`
	SecurityConfiguration string                `json:"SecurityConfiguration,omitempty"`
	Timeout               int                   `json:"Timeout,omitempty"`
}

TriggerAction represents an action for a Glue trigger. An action fires either a job (JobName) or a crawler (CrawlerName) — real AWS triggers support both.

type TriggerCondition

type TriggerCondition struct {
	JobName         string `json:"JobName,omitempty"`
	CrawlerName     string `json:"CrawlerName,omitempty"`
	CrawlState      string `json:"CrawlState,omitempty"`
	LogicalOperator string `json:"LogicalOperator,omitempty"`
	State           string `json:"State,omitempty"`
}

TriggerCondition represents a condition within a trigger predicate.

type TriggerEventBatchingCondition added in v1.2.0

type TriggerEventBatchingCondition struct {
	BatchSize   int `json:"BatchSize"`
	BatchWindow int `json:"BatchWindow,omitempty"`
}

TriggerEventBatchingCondition specifies EventBridge event-batching settings for an EVENT-type trigger, mirroring aws-sdk-go-v2/service/glue/types.EventBatchingCondition.

type TriggerPredicate

type TriggerPredicate struct {
	Logical    string             `json:"Logical,omitempty"`
	Conditions []TriggerCondition `json:"Conditions,omitempty"`
}

TriggerPredicate represents a predicate for a conditional trigger.

type UpdateDevEndpointOptions added in v1.2.0

type UpdateDevEndpointOptions struct {
	PublicKey        string
	AddPublicKeys    []string
	DeletePublicKeys []string
}

UpdateDevEndpointOptions carries the optional UpdateDevEndpoint fields beyond AddArguments/DeleteArguments.

type UsageProfile

type UsageProfile struct {
	CreatedOn      time.Time         `json:"CreatedOn"`
	LastModifiedOn time.Time         `json:"LastModifiedOn"`
	Tags           map[string]string `json:"Tags,omitempty"`
	Name           string            `json:"Name"`
	Description    string            `json:"Description,omitempty"`
}

UsageProfile represents a Glue usage profile.

type UserDefinedFunction

type UserDefinedFunction struct {
	DatabaseName string        `json:"DatabaseName"`
	FunctionName string        `json:"FunctionName"`
	ClassName    string        `json:"ClassName,omitempty"`
	OwnerName    string        `json:"OwnerName,omitempty"`
	OwnerType    string        `json:"OwnerType,omitempty"`
	FunctionType string        `json:"FunctionType,omitempty"`
	CatalogID    string        `json:"CatalogId,omitempty"`
	FunctionARN  string        `json:"-"`
	ResourceURIs []ResourceURI `json:"ResourceUris,omitempty"`
	CreateTime   float64       `json:"CreateTime,omitempty"`
}

UserDefinedFunction represents a Glue UDF.

type Workflow

type Workflow struct {
	Tags                 map[string]string `json:"-"`
	DefaultRunProperties map[string]string `json:"DefaultRunProperties,omitempty"`
	Name                 string            `json:"Name"`
	Description          string            `json:"Description,omitempty"`
	ARN                  string            `json:"Arn,omitempty"`
	CreatedOn            float64           `json:"CreatedOn,omitempty"`
	LastModifiedOn       float64           `json:"LastModifiedOn,omitempty"`
	MaxConcurrentRuns    int               `json:"MaxConcurrentRuns,omitempty"`
}

Workflow represents a Glue workflow.

type WorkflowRun

type WorkflowRun struct {
	Properties   map[string]string `json:"WorkflowRunProperties,omitempty"`
	WorkflowName string            `json:"WorkflowName"`
	RunID        string            `json:"WorkflowRunId"`
	Status       string            `json:"Status"`
	StartedOn    float64           `json:"StartedOn,omitempty"`
	CompletedOn  float64           `json:"CompletedOn,omitempty"`
}

WorkflowRun represents a single run of a Glue workflow.

type XMLClassifier

type XMLClassifier struct {
	Name           string `json:"Name"`
	Classification string `json:"Classification,omitempty"`
	RowTag         string `json:"RowTag,omitempty"`
}

XMLClassifier is an XML-based classifier.

Source Files

Jump to

Keyboard shortcuts

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