mgn

package
v1.2.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: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LifeCycleStateStopped             = "STOPPED"
	LifeCycleStateNotReady            = "NOT_READY"
	LifeCycleStateReadyForTest        = "READY_FOR_TEST"
	LifeCycleStateTesting             = "TESTING"
	LifeCycleStateReadyForCutover     = "READY_FOR_CUTOVER"
	LifeCycleStateCuttingOver         = "CUTTING_OVER"
	LifeCycleStateCutover             = "CUTOVER"
	LifeCycleStateDisconnected        = "DISCONNECTED"
	LifeCycleStateDiscovered          = "DISCOVERED"
	LifeCycleStatePendingInstallation = "PENDING_INSTALLATION"
)

LifeCycleState wire values (types.LifeCycleState, 10 values -- the richest state enum in this service). See sourceservers.go's doc comment for the (documented, inferred -- not SDK-specified) legal transition table.

View Source
const (
	ChangeLifecycleReadyForTest    = "READY_FOR_TEST"
	ChangeLifecycleReadyForCutover = "READY_FOR_CUTOVER"
	ChangeLifecycleCutover         = "CUTOVER"
)

ChangeServerLifeCycleStateSourceServerLifecycleState wire values -- the 3 caller-settable LifeCycleState targets ChangeServerLifeCycleState exposes (types.ChangeServerLifeCycleStateSourceServerLifecycleState). Every other LifeCycleState value is system-driven only (see sourceservers.go).

View Source
const (
	DataReplicationStateStopped                 = "STOPPED"
	DataReplicationStateInitiating              = "INITIATING"
	DataReplicationStateInitialSync             = "INITIAL_SYNC"
	DataReplicationStateBacklog                 = "BACKLOG"
	DataReplicationStateCreatingSnapshot        = "CREATING_SNAPSHOT"
	DataReplicationStateContinuous              = "CONTINUOUS"
	DataReplicationStatePaused                  = "PAUSED"
	DataReplicationStateRescan                  = "RESCAN"
	DataReplicationStateStalled                 = "STALLED"
	DataReplicationStateDisconnected            = "DISCONNECTED"
	DataReplicationStatePendingSnapshotShipping = "PENDING_SNAPSHOT_SHIPPING"
	DataReplicationStateShippingSnapshot        = "SHIPPING_SNAPSHOT"
)

DataReplicationState wire values (types.DataReplicationState, 12 values).

View Source
const (
	StepWait                            = "WAIT"
	StepCreateSecurityGroup             = "CREATE_SECURITY_GROUP"
	StepLaunchReplicationServer         = "LAUNCH_REPLICATION_SERVER"
	StepBootReplicationServer           = "BOOT_REPLICATION_SERVER"
	StepAuthenticateWithService         = "AUTHENTICATE_WITH_SERVICE"
	StepDownloadReplicationSoftware     = "DOWNLOAD_REPLICATION_SOFTWARE"
	StepCreateStagingDisks              = "CREATE_STAGING_DISKS"
	StepAttachStagingDisks              = "ATTACH_STAGING_DISKS"
	StepPairReplicationServerWithAgent  = "PAIR_REPLICATION_SERVER_WITH_AGENT"
	StepConnectAgentToReplicationServer = "CONNECT_AGENT_TO_REPLICATION_SERVER"
	StepStartDataTransfer               = "START_DATA_TRANSFER"
	StepSetupFsxProxy                   = "SETUP_FSX_PROXY"
)

DataReplicationInitiationStepName wire values -- the fixed 12-step sequence a simulated replication initiation walks, in order.

View Source
const (
	StepStatusNotStarted = "NOT_STARTED"
	StepStatusInProgress = "IN_PROGRESS"
	StepStatusSucceeded  = "SUCCEEDED"
	StepStatusFailed     = "FAILED"
	StepStatusSkipped    = "SKIPPED"
)

DataReplicationInitiationStepStatus wire values.

View Source
const (
	ReplicationTypeAgentBased       = "AGENT_BASED"
	ReplicationTypeSnapshotShipping = "SNAPSHOT_SHIPPING"
)

ReplicationType wire values (types.ReplicationType).

View Source
const (
	JobStatusPending   = "PENDING"
	JobStatusStarted   = "STARTED"
	JobStatusCompleted = "COMPLETED"
)

JobStatus wire values -- only 3 values, no FAILED at the Job level (types.JobStatus).

View Source
const (
	JobTypeLaunch    = "LAUNCH"
	JobTypeTerminate = "TERMINATE"
)

JobType wire values (types.JobType).

View Source
const (
	InitiatedByStartTest    = "START_TEST"
	InitiatedByStartCutover = "START_CUTOVER"
	InitiatedByTerminate    = "TERMINATE"
)

InitiatedBy wire values (types.InitiatedBy).

View Source
const (
	LaunchStatusPending    = "PENDING"
	LaunchStatusInProgress = "IN_PROGRESS"
	LaunchStatusLaunched   = "LAUNCHED"
	LaunchStatusTerminated = "TERMINATED"
)

LaunchStatus wire values (types.LaunchStatus) -- ParticipatingServer's per-server progress within a Job.

View Source
const (
	JobLogEventJobStart        = "JOB_START"
	JobLogEventSnapshotStart   = "SNAPSHOT_START"
	JobLogEventSnapshotEnd     = "SNAPSHOT_END"
	JobLogEventConversionStart = "CONVERSION_START"
	JobLogEventConversionEnd   = "CONVERSION_END"
	JobLogEventLaunchStart     = "LAUNCH_START"
	JobLogEventJobEnd          = "JOB_END"
)

JobLogEvent wire values (types.JobLogEvent, 16 values) -- the honest granular steps a simulated Job progression walks through per ParticipatingServer, in order (SERVER_SKIPPED/CLEANUP_*/LAUNCH_FAILED/ JOB_CANCEL are never emitted by this deterministic, always-succeeds simulation -- see jobs.go).

View Source
const (
	HealthStatusHealthy = "HEALTHY"
	HealthStatusLagging = "LAGGING"
	HealthStatusError   = "ERROR"
)

ApplicationHealthStatus / WaveHealthStatus wire values -- distinct enum types on the wire but identical values (types.ApplicationHealthStatus, types.WaveHealthStatus).

View Source
const (
	ProgressStatusNotStarted = "NOT_STARTED"
	ProgressStatusInProgress = "IN_PROGRESS"
	ProgressStatusCompleted  = "COMPLETED"
)

ApplicationProgressStatus / WaveProgressStatus wire values (identical values, distinct enum types).

View Source
const (
	TaskStatusPending   = "PENDING"
	TaskStatusStarted   = "STARTED"
	TaskStatusFailed    = "FAILED"
	TaskStatusSucceeded = "SUCCEEDED"
)

ExportStatus / ImportStatus wire values (types.ExportStatus, types.ImportStatus -- identical 4 values).

View Source
const (
	BootModeLegacyBios = "LEGACY_BIOS"
	BootModeUefi       = "UEFI"
	BootModeUseSource  = "USE_SOURCE"
)

BootMode wire values (types.BootMode).

View Source
const (
	ImportErrorTypeValidation = "VALIDATION_ERROR"
	ImportErrorTypeProcessing = "PROCESSING_ERROR"
)

ImportErrorType wire values (types.ImportErrorType). This backend only ever constructs ImportErrorTypeValidation (a malformed CSV row parsed by s3import.go); ImportErrorTypeProcessing is used for the whole-object failure case (missing/unreadable S3 source) -- see exportimport.go's StartImport.

View Source
const (
	LaunchDispositionStopped = "STOPPED"
	LaunchDispositionStarted = "STARTED"
)

LaunchDisposition wire values (types.LaunchDisposition).

View Source
const (
	RightSizingMethodNone  = "NONE"
	RightSizingMethodBasic = "BASIC"
)

TargetInstanceTypeRightSizingMethod wire values.

View Source
const (
	DataPlaneRoutingPrivateIP = "PRIVATE_IP"
	DataPlaneRoutingPublicIP  = "PUBLIC_IP"
)

ReplicationConfigurationDataPlaneRouting wire values.

View Source
const (
	StagingDiskTypeGp2 = "GP2"
	StagingDiskTypeSt1 = "ST1"
	StagingDiskTypeGp3 = "GP3"
)

ReplicationConfigurationDefaultLargeStagingDiskType wire values.

View Source
const (
	EbsEncryptionDefault = "DEFAULT"
	EbsEncryptionCustom  = "CUSTOM"
)

ReplicationConfigurationEbsEncryption wire values.

View Source
const (
	InternetProtocolIPv4 = "IPV4"
	InternetProtocolIPv6 = "IPV6"
)

InternetProtocol wire values.

View Source
const (
	StorageTypeEbs      = "EBS"
	StorageTypeFsxOntap = "FSX_ONTAP"
)

StorageType wire values (types.StorageType).

View Source
const (
	SourceEnvironmentNsx                   = "NSX"
	SourceEnvironmentVsphere               = "VSPHERE"
	SourceEnvironmentFortigateFirewall     = "FORTIGATE_FIREWALL"
	SourceEnvironmentPaloAltoFirewall      = "PALO_ALTO_FIREWALL"
	SourceEnvironmentCiscoAci              = "CISCO_ACI"
	SourceEnvironmentLogicalModel          = "LOGICAL_MODEL"
	SourceEnvironmentModelizeIt            = "MODELIZE_IT"
	SourceEnvironmentAwsDiscoveryCollector = "AWS_DISCOVERY_COLLECTOR"
)

SourceEnvironment wire values (types.SourceEnvironment, 8 values).

View Source
const (
	TargetNetworkTopologyIsolatedVpc = "ISOLATED_VPC"
	TargetNetworkTopologyHubAndSpoke = "HUB_AND_SPOKE"
)

TargetNetworkTopology wire values.

View Source
const (
	TargetDeploymentSingleAccount = "SINGLE_ACCOUNT"
	TargetDeploymentMultiAccount  = "MULTI_ACCOUNT"
)

TargetDeployment wire values.

View Source
const (
	StageMapping                = "MAPPING"
	StageMappingUpdate          = "MAPPING_UPDATE" // Activity-only
	StageCodeGeneration         = "CODE_GENERATION"
	StageDeploy                 = "DEPLOY"
	StageDeployedStacksDeletion = "DEPLOYED_STACKS_DELETION"
	StageAnalyze                = "ANALYZE"
)

ExecutionStage / ExecutionStageActivity wire values (types.ExecutionStage, types.ExecutionStageActivity -- Activity adds MAPPING_UPDATE, everything else identical).

View Source
const (
	NMStatusPending   = "PENDING"
	NMStatusStarted   = "STARTED"
	NMStatusSucceeded = "SUCCEEDED"
	NMStatusFailed    = "FAILED"
)

ExecutionStatus / NetworkMigrationJobStatus wire values (identical 4 values, distinct enum types).

View Source
const (
	SGMappingStrategyMap     = "MAP"
	SGMappingStrategySkip    = "SKIP"
	SGMappingStrategyMapDhcp = "MAP_DHCP"
)

SecurityGroupMappingStrategy wire values.

View Source
const (
	MapperSegmentTypeWorkload  = "WORKLOAD"
	MapperSegmentTypeAppliance = "APPLIANCE"
)

NetworkMigrationMapperSegmentType wire values.

View Source
const (
	ValidationReasonUnknownOperation      = "unknownOperation"
	ValidationReasonCannotParse           = "cannotParse"
	ValidationReasonFieldValidationFailed = "fieldValidationFailed"
	ValidationReasonOther                 = "other"
)

ValidationExceptionReason wire values -- lower-camelCase, unlike every other enum in this service (PARITY.md wire-trap #6).

Variables

View Source
var ErrNilAppContext = errors.New("AppContext is required")

ErrNilAppContext is returned by Provider.Init when appCtx is nil.

Functions

This section is empty.

Types

type Application

type Application struct {
	Tags                 *tags.Tags
	AggregatedStatus     *ApplicationAggregatedStatus
	ApplicationID        string
	Arn                  string
	CreationDateTime     string
	LastModifiedDateTime string
	Description          string
	Name                 string
	WaveID               string
	IsArchived           bool
}

Application mirrors types.Application.

type ApplicationAggregatedStatus

type ApplicationAggregatedStatus struct {
	HealthStatus       string
	LastUpdateDateTime string
	ProgressStatus     string
	TotalSourceServers int64
}

ApplicationAggregatedStatus mirrors types.ApplicationAggregatedStatus.

type CPU

type CPU struct {
	ModelName string
	Cores     int64
}

CPU mirrors types.CPU.

type Checksum

type Checksum struct {
	EncryptionAlgorithm string
	Hash                string
}

Checksum mirrors types.Checksum.

type Connector

type Connector struct {
	Tags             *tags.Tags
	SsmCommandConfig *ConnectorSsmCommandConfig
	ConnectorID      string
	Arn              string
	Name             string
	SsmInstanceID    string
}

Connector mirrors types.Connector.

type ConnectorSsmCommandConfig

type ConnectorSsmCommandConfig struct {
	CloudWatchLogGroupName  string
	OutputS3BucketName      string
	CloudWatchOutputEnabled bool
	S3OutputEnabled         bool
}

ConnectorSsmCommandConfig mirrors types.ConnectorSsmCommandConfig.

type CreateConnectorInput

type CreateConnectorInput struct {
	SsmCommandConfig *ConnectorSsmCommandConfig
	Tags             map[string]string
	Name             string
	SsmInstanceID    string
}

CreateConnectorInput mirrors CreateConnectorInput.

type CreateLaunchConfigurationTemplateInput

type CreateLaunchConfigurationTemplateInput struct {
	Licensing                           *Licensing
	PostLaunchActions                   *PostLaunchActions
	LargeVolumeConf                     *LaunchTemplateDiskConf
	SmallVolumeConf                     *LaunchTemplateDiskConf
	Tags                                map[string]string
	BootMode                            string
	Ec2LaunchTemplateID                 string
	LaunchDisposition                   string
	MapAutoTaggingMpeID                 string
	ParametersEncryptionKey             string
	TargetInstanceTypeRightSizingMethod string
	SmallVolumeMaxSize                  int64
	AssociatePublicIPAddress            bool
	CopyPrivateIP                       bool
	CopyTags                            bool
	EnableMapAutoTagging                bool
	EnableParametersEncryption          bool
}

CreateLaunchConfigurationTemplateInput mirrors CreateLaunchConfigurationTemplateInput -- nothing is required (confirmed by direct SDK read, PARITY.md's note on the required-vs-optional asymmetry with ReplicationConfigurationTemplate).

type CreateNetworkMigrationDefinitionInput

type CreateNetworkMigrationDefinitionInput struct {
	TargetNetwork         *TargetNetwork
	TargetS3Configuration *TargetS3Configuration
	ScopeTags             map[string]string
	Tags                  map[string]string
	Name                  string
	Description           string
	TargetDeployment      string
	SourceConfigurations  []SourceConfiguration
}

CreateNetworkMigrationDefinitionInput mirrors CreateNetworkMigrationDefinitionInput.

type CreateReplicationConfigurationTemplateInput

type CreateReplicationConfigurationTemplateInput struct {
	StorageConfiguration                *StorageConfiguration
	Tags                                map[string]string
	StagingAreaTags                     map[string]string
	InternetProtocol                    string
	StagingAreaSubnetID                 string
	DefaultLargeStagingDiskType         string
	EbsEncryption                       string
	EbsEncryptionKeyArn                 string
	DataPlaneRouting                    string
	ReplicationServerInstanceType       string
	ReplicationServersSecurityGroupsIDs []string
	BandwidthThrottling                 int64
	AssociateDefaultSecurityGroup       bool
	CreatePublicIP                      bool
	StoreSnapshotOnLocalZone            bool
	UseDedicatedReplicationServer       bool
	UseFipsEndpoint                     bool
}

CreateReplicationConfigurationTemplateInput mirrors CreateReplicationConfigurationTemplateInput -- 11 fields are required (confirmed by direct SDK read; PARITY.md's note on the asymmetry with LaunchConfigurationTemplate, where nothing is required).

type DataReplicationError

type DataReplicationError struct {
	Error    string
	RawError string
}

DataReplicationError mirrors types.DataReplicationError.

type DataReplicationInfo

type DataReplicationInfo struct {
	DataReplicationError      *DataReplicationError
	DataReplicationInitiation *DataReplicationInitiation
	DataReplicationState      string
	EtaDateTime               string
	LagDuration               string
	LastSnapshotDateTime      string
	ReplicatorID              string
	ReplicatedDisks           []DataReplicationInfoReplicatedDisk
}

DataReplicationInfo mirrors types.DataReplicationInfo. This is the inherently bookkeeping-only sub-state-machine PARITY.md documents: no real source machine or replication agent exists, so DataReplicationState/ ReplicatedDisks progress on a deterministic timer (see sourceservers.go's scheduleReplication), never a fabricated realistic-looking bandwidth/lag figure. DataReplicationError is left permanently nil (no real failure condition exists to trigger any of the 18 DataReplicationErrorString values).

type DataReplicationInfoReplicatedDisk

type DataReplicationInfoReplicatedDisk struct {
	DeviceName             string
	BackloggedStorageBytes int64
	ReplicatedStorageBytes int64
	RescannedStorageBytes  int64
	TotalStorageBytes      int64
}

DataReplicationInfoReplicatedDisk mirrors types.DataReplicationInfoReplicatedDisk.

type DataReplicationInitiation

type DataReplicationInitiation struct {
	NextAttemptDateTime string
	StartDateTime       string
	Steps               []DataReplicationInitiationStep
}

DataReplicationInitiation mirrors types.DataReplicationInitiation.

type DataReplicationInitiationStep

type DataReplicationInitiationStep struct {
	Name   string
	Status string
}

DataReplicationInitiationStep mirrors types.DataReplicationInitiationStep.

type DescribeJobsFilters

type DescribeJobsFilters struct {
	JobIDs []string
}

DescribeJobsFilters mirrors types.DescribeJobsRequestFilters. FromDate/ ToDate filtering is NOT implemented (this backend's Job.CreationDateTime is an opaque RFC3339 string per models.go's convention, and filtering by date range is not exercised by this pass's round-trip tests) -- JobIDs filtering is the one implemented, real filter.

type DescribeSourceServersFilters

type DescribeSourceServersFilters struct {
	ApplicationIDs   []string
	IsArchived       *bool
	LifeCycleStates  []string
	ReplicationTypes []string
	SourceServerIDs  []string
}

DescribeSourceServersFilters mirrors types.DescribeSourceServersRequestFilters.

type Disk

type Disk struct {
	DeviceName string
	Bytes      int64
}

Disk mirrors types.Disk.

type EnrichmentTargetS3Configuration

type EnrichmentTargetS3Configuration struct {
	S3Bucket      string
	S3BucketOwner string
	S3Key         string
}

EnrichmentTargetS3Configuration mirrors types.EnrichmentTargetS3Configuration.

type ExportTask

type ExportTask struct {
	Tags               *tags.Tags
	Summary            *ExportTaskSummary
	ExportID           string
	Arn                string
	CreationDateTime   string
	EndDateTime        string
	S3Bucket           string
	S3BucketOwner      string
	S3Key              string
	Status             string
	ProgressPercentage float32
}

ExportTask mirrors types.ExportTask.

type ExportTaskSummary

type ExportTaskSummary struct {
	ApplicationsCount int64
	ServersCount      int64
	WavesCount        int64
}

ExportTaskSummary mirrors types.ExportTaskSummary.

type FsxOntapConfiguration

type FsxOntapConfiguration struct {
	CredentialsSecretArn    string
	StorageVirtualMachineID string
}

FsxOntapConfiguration mirrors types.FsxOntapConfiguration.

type Handler

type Handler struct {
	Backend   *InMemoryBackend
	AccountID string
	Region    string
}

Handler is the HTTP handler for the AWS Application Migration Service API.

func NewHandler

func NewHandler(backend *InMemoryBackend) *Handler

NewHandler creates a new MGN handler.

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 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 extracts the operation name from the request.

func (*Handler) ExtractResource

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

ExtractResource extracts the primary resource identifier from the request -- the ARN in the /tags/{resourceArn} path, or empty for every other (body-addressed) operation.

func (*Handler) GetSupportedOperations

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

GetSupportedOperations returns every operation this handler routes -- all 95 operations on the aws-sdk-go-v2/service/mgn client, per sdk_completeness_test.go's empty exception list.

func (*Handler) Handler

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

Handler returns the Echo handler function for MGN 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 stored state in the backend.

func (*Handler) Restore

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

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

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

RouteMatcher returns a matcher that reports true iff the request resolves to a known routeEntry via routeKey.

func (*Handler) Snapshot

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

Snapshot implements persistence.Persistable by delegating to the backend.

type IdentificationHints

type IdentificationHints struct {
	AwsInstanceID string
	Fqdn          string
	Hostname      string
	VMPath        string
	VMWareUUID    string
}

IdentificationHints mirrors types.IdentificationHints.

type ImportErrorData

type ImportErrorData struct {
	RawError  string
	RowNumber int64
}

ImportErrorData mirrors types.ImportErrorData -- one CSV row's failure detail. AccountID/ApplicationID/Ec2LaunchTemplateID are always empty in this emulator: no delegated-account import path, no ApplicationID column in the documented CSV schema (SourceServer<->Application association is real AWS's own AssociateSourceServers, a separate call, not part of StartImport), and no per-server EC2 launch template concept modeled at import time. RowNumber/RawError are always real, describing the actual malformed row parseSourceServerCSV rejected.

type ImportFileEnrichment

type ImportFileEnrichment struct {
	CreatedAt      time.Time
	EndedAt        time.Time
	Checksum       *Checksum
	S3BucketTarget *EnrichmentTargetS3Configuration
	JobID          string
	Status         string
	StatusDetails  string
}

ImportFileEnrichment mirrors types.ImportFileEnrichment. See exportimport.go: StartImportFileEnrichment/ListImportFileEnrichments are wire-routed under /network-migration/ despite being conceptually part of the Export/Import family (PARITY.md wire-shape trap #4).

type ImportTask

type ImportTask struct {
	Tags               *tags.Tags
	Summary            *ImportTaskSummary
	S3BucketSource     *S3BucketSource
	ImportID           string
	Arn                string
	CreationDateTime   string
	EndDateTime        string
	Status             string
	Errors             []*ImportTaskError
	ProgressPercentage float32
}

ImportTask mirrors types.ImportTask. Errors accumulates every ImportTaskError StartImport's real CSV parse produced (surfaced via ListImportErrors) -- unlike ExportTask, which never has anything to report here (see exportimport.go's ListExportErrors doc comment), a malformed row or an unreadable S3 source both leave a real, non-fabricated entry here.

type ImportTaskError

type ImportTaskError struct {
	ErrorData     *ImportErrorData
	ErrorDateTime string
	ErrorType     string
}

ImportTaskError mirrors types.ImportTaskError -- returned by ListImportErrors for the ImportID it was recorded against. See s3import.go's parseSourceServerCSV for how these are produced and consts.go's ImportErrorType* for the two kinds this backend emits.

type ImportTaskSummary

type ImportTaskSummary struct {
	Applications countPair
	Servers      countPair
	Waves        countPair
}

ImportTaskSummary mirrors types.ImportTaskSummary. Servers.CreatedCount is a real, live count of the SourceServers StartImport actually parsed and created from the caller's CSV object (see s3import.go) -- never fabricated. ModifiedCount is always zero: this emulator has no natural key to detect "this row re-describes a previously-imported server" (no AWS-published convention for that exists), so every successfully-parsed row always creates a new SourceServer, documented as a simplification. Applications/Waves are always zero-valued: StartImport's CSV schema (this package's own documented assumption, see PARITY.md) only carries SourceServer-level columns, matching the "hard design problem" this service exists to solve (SourceServer creation, not Application/Wave bulk-load).

type InMemoryBackend

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

InMemoryBackend is the in-memory store for AWS Application Migration Service (MGN).

A single coarse lock guards every collection below: operations routinely cross resource boundaries (AssociateSourceServers reads+writes an Application and every named SourceServer; StartTest/StartCutover create a Job while reading N SourceServers; TagResource resolves an ARN into whichever of 12 taggable resource kinds it names), so the invariant boundary is the whole backend -- see .claude/memories/pkgs-catalog.md's locking rule.

func NewInMemoryBackend

func NewInMemoryBackend(ctx context.Context, accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new in-memory AWS Application Migration Service backend.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the account ID for this backend.

func (*InMemoryBackend) ArchiveApplication

func (b *InMemoryBackend) ArchiveApplication(id string) (*Application, error)

ArchiveApplication sets an Application's IsArchived flag true.

func (*InMemoryBackend) ArchiveWave

func (b *InMemoryBackend) ArchiveWave(id string) (*Wave, error)

ArchiveWave sets a Wave's IsArchived flag true.

func (*InMemoryBackend) AssociateApplications

func (b *InMemoryBackend) AssociateApplications(waveID string, applicationIDs []string) error

AssociateApplications associates applicationIDs with waveID (each Application.WaveID reverse pointer is set) and recomputes the Wave's rollup status.

func (*InMemoryBackend) AssociateSourceServers

func (b *InMemoryBackend) AssociateSourceServers(applicationID string, sourceServerIDs []string) error

AssociateSourceServers associates sourceServerIDs with applicationID (each SourceServer.ApplicationID reverse pointer is set) and recomputes the Application's rollup status.

func (*InMemoryBackend) ChangeServerLifeCycleState

func (b *InMemoryBackend) ChangeServerLifeCycleState(sourceServerID, targetState string) (*SourceServer, error)

ChangeServerLifeCycleState forces sourceServerID's LifeCycleState to one of the 3 caller-settable targets (see this file's doc comment).

func (*InMemoryBackend) Close

func (b *InMemoryBackend) Close()

Close stops all scheduled state-transition timers so none outlives the backend. Safe to call multiple times.

func (*InMemoryBackend) CreateApplication

func (b *InMemoryBackend) CreateApplication(name, description string, appTags map[string]string) (*Application, error)

CreateApplication creates a new Application.

func (*InMemoryBackend) CreateConnector

func (b *InMemoryBackend) CreateConnector(in CreateConnectorInput) (*Connector, error)

CreateConnector creates a new Connector.

func (*InMemoryBackend) CreateLaunchConfigurationTemplate

func (b *InMemoryBackend) CreateLaunchConfigurationTemplate(
	in CreateLaunchConfigurationTemplateInput,
) (*LaunchConfigurationTemplate, error)

CreateLaunchConfigurationTemplate creates a new, account-level, reusable LaunchConfigurationTemplate.

func (*InMemoryBackend) CreateNetworkMigrationDefinition

func (b *InMemoryBackend) CreateNetworkMigrationDefinition(
	in CreateNetworkMigrationDefinitionInput,
) (*NetworkMigrationDefinition, error)

CreateNetworkMigrationDefinition creates a new NetworkMigrationDefinition.

func (*InMemoryBackend) CreateReplicationConfigurationTemplate

func (b *InMemoryBackend) CreateReplicationConfigurationTemplate(
	in CreateReplicationConfigurationTemplateInput,
) (*ReplicationConfigurationTemplate, error)

CreateReplicationConfigurationTemplate creates a new, account-level, reusable ReplicationConfigurationTemplate.

func (*InMemoryBackend) CreateWave

func (b *InMemoryBackend) CreateWave(name, description string, waveTags map[string]string) (*Wave, error)

CreateWave creates a new Wave.

func (*InMemoryBackend) DeleteApplication

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

DeleteApplication deletes an Application. Rejected (ConflictException) if it still has associated SourceServers.

func (*InMemoryBackend) DeleteConnector

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

DeleteConnector deletes a Connector.

func (*InMemoryBackend) DeleteJob

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

DeleteJob deletes jobID and its log entries. Rejected (ConflictException) while the Job is still PENDING/STARTED.

func (*InMemoryBackend) DeleteLaunchConfigurationTemplate

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

DeleteLaunchConfigurationTemplate deletes a LaunchConfigurationTemplate.

func (*InMemoryBackend) DeleteNetworkMigrationDefinition

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

DeleteNetworkMigrationDefinition deletes a NetworkMigrationDefinition. Rejected (ConflictException) if it still has executions.

func (*InMemoryBackend) DeleteReplicationConfigurationTemplate

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

DeleteReplicationConfigurationTemplate deletes a ReplicationConfigurationTemplate.

func (*InMemoryBackend) DeleteSourceServer

func (b *InMemoryBackend) DeleteSourceServer(sourceServerID string) error

DeleteSourceServer deletes sourceServerID and its per-server launch/ replication configuration and post-launch actions.

func (*InMemoryBackend) DeleteVcenterClient

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

DeleteVcenterClient deletes a VcenterClient.

func (*InMemoryBackend) DeleteWave

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

DeleteWave deletes a Wave. Rejected (ConflictException) if it still has associated Applications.

func (*InMemoryBackend) DescribeJobLogItems

func (b *InMemoryBackend) DescribeJobLogItems(jobID, token string, limit int) (page.Page[*JobLog], error)

DescribeJobLogItems returns a page of JobLog entries for jobID, in creation order.

func (*InMemoryBackend) DescribeJobs

func (b *InMemoryBackend) DescribeJobs(f DescribeJobsFilters, token string, limit int) (page.Page[*Job], error)

DescribeJobs returns a page of Jobs matching f.

func (*InMemoryBackend) DescribeLaunchConfigurationTemplates

func (b *InMemoryBackend) DescribeLaunchConfigurationTemplates(
	ids []string,
	token string,
	limit int,
) (page.Page[*LaunchConfigurationTemplate], error)

DescribeLaunchConfigurationTemplates returns a page of LaunchConfigurationTemplates, optionally filtered by ids.

func (*InMemoryBackend) DescribeReplicationConfigurationTemplates

func (b *InMemoryBackend) DescribeReplicationConfigurationTemplates(
	ids []string,
	token string,
	limit int,
) (page.Page[*ReplicationConfigurationTemplate], error)

DescribeReplicationConfigurationTemplates returns a page of ReplicationConfigurationTemplates, optionally filtered by ids.

func (*InMemoryBackend) DescribeSourceServers

func (b *InMemoryBackend) DescribeSourceServers(
	f DescribeSourceServersFilters,
	token string,
	limit int,
) (page.Page[*SourceServer], error)

DescribeSourceServers returns a page of SourceServers matching f.

func (*InMemoryBackend) DescribeVcenterClients

func (b *InMemoryBackend) DescribeVcenterClients(token string, limit int) (page.Page[*VcenterClient], error)

DescribeVcenterClients returns a page of VcenterClients.

func (*InMemoryBackend) DisassociateApplications

func (b *InMemoryBackend) DisassociateApplications(waveID string, applicationIDs []string) error

DisassociateApplications removes the association between waveID and applicationIDs.

func (*InMemoryBackend) DisassociateSourceServers

func (b *InMemoryBackend) DisassociateSourceServers(applicationID string, sourceServerIDs []string) error

DisassociateSourceServers removes the association between applicationID and sourceServerIDs.

func (*InMemoryBackend) DisconnectFromService

func (b *InMemoryBackend) DisconnectFromService(sourceServerID string) (*SourceServer, error)

DisconnectFromService moves sourceServerID to its terminal DISCONNECTED state (both LifeCycleState and DataReplicationState).

func (*InMemoryBackend) FinalizeCutover

func (b *InMemoryBackend) FinalizeCutover(sourceServerID string) (*SourceServer, error)

FinalizeCutover completes a cutover already started by StartCutover -- see this file's doc comment: CUTTING_OVER -> CUTOVER is the one LifeCycleState transition that happens ONLY here, not automatically on Job completion.

func (*InMemoryBackend) GetLaunchConfiguration

func (b *InMemoryBackend) GetLaunchConfiguration(sourceServerID string) (*LaunchConfiguration, error)

GetLaunchConfiguration returns sourceServerID's per-server LaunchConfiguration.

func (*InMemoryBackend) GetNetworkMigrationDefinition

func (b *InMemoryBackend) GetNetworkMigrationDefinition(id string) (*NetworkMigrationDefinition, error)

GetNetworkMigrationDefinition returns the full detail of a NetworkMigrationDefinition.

func (*InMemoryBackend) GetNetworkMigrationMapperSegmentConstruct

func (b *InMemoryBackend) GetNetworkMigrationMapperSegmentConstruct(
	definitionID, executionID, segmentID, constructID string,
) error

GetNetworkMigrationMapperSegmentConstruct always returns ResourceNotFoundException -- see this file's doc comment: no construct is ever created.

func (*InMemoryBackend) GetReplicationConfiguration

func (b *InMemoryBackend) GetReplicationConfiguration(sourceServerID string) (*ReplicationConfiguration, error)

GetReplicationConfiguration returns sourceServerID's per-server ReplicationConfiguration.

func (*InMemoryBackend) InitializeService

func (b *InMemoryBackend) InitializeService()

InitializeService marks the calling account as initialized. Idempotent: calling it again is a no-op, not an error (the real SDK's own Input has no fields at all to reject on a second call, and InitializeService's error set -- AccessDeniedException, ValidationException only -- has no ConflictException to signal "already initialized").

func (*InMemoryBackend) ListApplications

func (b *InMemoryBackend) ListApplications(
	f ListApplicationsFilters,
	token string,
	limit int,
) (page.Page[*Application], error)

ListApplications returns a page of Applications matching f.

func (*InMemoryBackend) ListConnectors

func (b *InMemoryBackend) ListConnectors(
	f ListConnectorsFilters,
	token string,
	limit int,
) (page.Page[*Connector], error)

ListConnectors returns a page of Connectors matching f.

func (*InMemoryBackend) ListExportErrors

func (b *InMemoryBackend) ListExportErrors() error

ListExportErrors always returns an empty list: this deterministic emulator never injects a real export failure to report an error for (see this file's doc comment) -- an honestly-empty list, not a stub, since ListExportErrors' own error set has no ResourceNotFoundException (confirmed by direct SDK read), so it never 404s on an unknown exportID either.

func (*InMemoryBackend) ListExports

func (b *InMemoryBackend) ListExports(ids []string, token string, limit int) (page.Page[*ExportTask], error)

ListExports returns a page of ExportTasks, optionally filtered by ids.

func (*InMemoryBackend) ListImportErrors

func (b *InMemoryBackend) ListImportErrors(importID, token string, limit int) (page.Page[*ImportTaskError], error)

ListImportErrors returns the real per-row CSV parse failures recorded against importID's ImportTask (see s3import.go/finishImportLocked) -- StartImport itself never fabricates a row, so a malformed row shows up here, never as a fabricated CreatedCount. An unrecognized importID yields an empty page rather than an error: same no-404 rationale as before (ListImportErrors' own error set has no ResourceNotFoundException).

func (*InMemoryBackend) ListImportFileEnrichments

func (b *InMemoryBackend) ListImportFileEnrichments(
	jobIDs []string,
	token string,
	limit int,
) page.Page[*ImportFileEnrichment]

ListImportFileEnrichments returns a page of ImportFileEnrichment jobs, optionally filtered by jobIDs.

func (*InMemoryBackend) ListImports

func (b *InMemoryBackend) ListImports(ids []string, token string, limit int) (page.Page[*ImportTask], error)

ListImports returns a page of ImportTasks, optionally filtered by ids.

func (*InMemoryBackend) ListManagedAccounts

func (b *InMemoryBackend) ListManagedAccounts() ([]ManagedAccount, error)

ListManagedAccounts returns the accounts this caller manages. This backend does not simulate real AWS Organizations delegated-admin multi-account MGN management (a real, non-trivial cross-account feature PARITY.md explicitly scopes out) -- it honestly returns only the calling account itself, never fabricated data for other accounts.

func (*InMemoryBackend) ListNetworkMigrationAnalyses

func (b *InMemoryBackend) ListNetworkMigrationAnalyses(
	definitionID, executionID, token string,
	limit int,
) (page.Page[*NetworkMigrationJob], error)

ListNetworkMigrationAnalyses returns a page of analysis job details.

func (*InMemoryBackend) ListNetworkMigrationAnalysisResults

func (b *InMemoryBackend) ListNetworkMigrationAnalysisResults(definitionID, executionID string) error

ListNetworkMigrationAnalysisResults always returns an empty list -- see this file's doc comment on why analysis CONTENT is never fabricated.

func (*InMemoryBackend) ListNetworkMigrationCodeGenerationSegments

func (b *InMemoryBackend) ListNetworkMigrationCodeGenerationSegments(definitionID, executionID string) error

ListNetworkMigrationCodeGenerationSegments always returns an empty list -- see this file's doc comment.

func (*InMemoryBackend) ListNetworkMigrationCodeGenerations

func (b *InMemoryBackend) ListNetworkMigrationCodeGenerations(
	definitionID, executionID, token string,
	limit int,
) (page.Page[*NetworkMigrationJob], error)

ListNetworkMigrationCodeGenerations returns a page of code-generation job details.

func (*InMemoryBackend) ListNetworkMigrationDefinitions

func (b *InMemoryBackend) ListNetworkMigrationDefinitions(
	f ListNetworkMigrationDefinitionsFilters,
	token string,
	limit int,
) page.Page[*NetworkMigrationDefinition]

ListNetworkMigrationDefinitions returns a page of NetworkMigrationDefinitionSummary-shaped entries (converted in wire_convert.go) matching f. This is the single op in the entire service with a one-member error set (AccessDeniedException alone, PARITY.md wire-trap #8) -- it never itself returns ResourceNotFoundException or ValidationException, which this method's signature reflects by never producing either.

func (*InMemoryBackend) ListNetworkMigrationDeployedStacks

func (b *InMemoryBackend) ListNetworkMigrationDeployedStacks(definitionID, executionID string) error

ListNetworkMigrationDeployedStacks always returns an empty list -- no real CloudFormation-equivalent deployment engine exists (see this file's doc comment).

func (*InMemoryBackend) ListNetworkMigrationDeployments

func (b *InMemoryBackend) ListNetworkMigrationDeployments(
	definitionID, executionID, token string,
	limit int,
) (page.Page[*NetworkMigrationJob], error)

ListNetworkMigrationDeployments returns a page of deployment job details.

func (*InMemoryBackend) ListNetworkMigrationExecutions

func (b *InMemoryBackend) ListNetworkMigrationExecutions(
	definitionID string,
	f ListNetworkMigrationExecutionsFilters,
	token string,
	limit int,
) (page.Page[*NetworkMigrationExecution], error)

ListNetworkMigrationExecutions returns a page of NetworkMigrationExecutions for definitionID matching f -- the only List op in family N scoped by definitionID alone (no ExecutionID scoping key, since it lists the executions themselves).

func (*InMemoryBackend) ListNetworkMigrationMapperSegmentConstructs

func (b *InMemoryBackend) ListNetworkMigrationMapperSegmentConstructs(
	definitionID, executionID, segmentID string,
) error

ListNetworkMigrationMapperSegmentConstructs always returns an empty list -- see this file's doc comment.

func (*InMemoryBackend) ListNetworkMigrationMapperSegments

func (b *InMemoryBackend) ListNetworkMigrationMapperSegments(definitionID, executionID string) error

ListNetworkMigrationMapperSegments always returns an empty list -- see this file's doc comment.

func (*InMemoryBackend) ListNetworkMigrationMappingUpdates

func (b *InMemoryBackend) ListNetworkMigrationMappingUpdates(
	definitionID, executionID, token string,
	limit int,
) (page.Page[*NetworkMigrationJob], error)

ListNetworkMigrationMappingUpdates returns a page of mapping-update job details.

func (*InMemoryBackend) ListNetworkMigrationMappings

func (b *InMemoryBackend) ListNetworkMigrationMappings(
	definitionID, executionID, token string,
	limit int,
) (page.Page[*NetworkMigrationJob], error)

ListNetworkMigrationMappings returns a page of mapping job details.

func (*InMemoryBackend) ListSourceServerActions

func (b *InMemoryBackend) ListSourceServerActions(
	sourceServerID string,
	token string,
	limit int,
) (page.Page[*SourceServerActionDocument], error)

ListSourceServerActions returns a page of post-launch actions for sourceServerID.

func (*InMemoryBackend) ListTagsForResource

func (b *InMemoryBackend) ListTagsForResource(resourceArn string) (map[string]string, error)

ListTagsForResource returns the tags on the named resource.

func (*InMemoryBackend) ListTemplateActions

func (b *InMemoryBackend) ListTemplateActions(
	launchConfigurationTemplateID string,
	token string,
	limit int,
) (page.Page[*TemplateActionDocument], error)

ListTemplateActions returns a page of post-launch actions for launchConfigurationTemplateID.

func (*InMemoryBackend) ListWaves

func (b *InMemoryBackend) ListWaves(f ListWavesFilters, token string, limit int) (page.Page[*Wave], error)

ListWaves returns a page of Waves matching f.

func (*InMemoryBackend) MarkAsArchived

func (b *InMemoryBackend) MarkAsArchived(sourceServerID string) (*SourceServer, error)

MarkAsArchived sets sourceServerID's IsArchived flag -- a visibility/ cleanup flag orthogonal to LifeCycleState (an archived server can be in any lifecycle state -- see this file's doc comment).

func (*InMemoryBackend) PauseReplication

func (b *InMemoryBackend) PauseReplication(sourceServerID string) (*SourceServer, error)

PauseReplication pauses data replication.

func (*InMemoryBackend) PutSourceServerAction

PutSourceServerAction creates or replaces a post-launch action on a SourceServer.

func (*InMemoryBackend) PutTemplateAction

PutTemplateAction creates or replaces a post-launch action on a LaunchConfigurationTemplate.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the AWS region this backend is configured for.

func (*InMemoryBackend) RemoveSourceServerAction

func (b *InMemoryBackend) RemoveSourceServerAction(sourceServerID, actionID string) error

RemoveSourceServerAction removes a post-launch action from a SourceServer.

func (*InMemoryBackend) RemoveTemplateAction

func (b *InMemoryBackend) RemoveTemplateAction(launchConfigurationTemplateID, actionID string) error

RemoveTemplateAction removes a post-launch action from a LaunchConfigurationTemplate.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all stored state.

func (*InMemoryBackend) Restore

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

Restore loads backend state from a JSON snapshot.

func (*InMemoryBackend) ResumeReplication

func (b *InMemoryBackend) ResumeReplication(sourceServerID string) (*SourceServer, error)

ResumeReplication resumes a paused replication back to CONTINUOUS -- simplified: this emulator has no real backlog to re-drain, so resuming goes directly back to CONTINUOUS rather than re-walking INITIAL_SYNC/ BACKLOG, a documented simplification (not an SDK-specified behavior).

func (*InMemoryBackend) RetryDataReplication

func (b *InMemoryBackend) RetryDataReplication(sourceServerID string) (*SourceServer, error)

RetryDataReplication restarts a stalled/errored replication. This emulator never fabricates a failure condition (no DataReplicationErrorString value is ever set -- PARITY.md), so there is no real "stalled" state to retry out of; this always succeeds by restarting the same deterministic progression StartReplication uses, documented as a simplification.

func (*InMemoryBackend) SeedVcenterClient

func (b *InMemoryBackend) SeedVcenterClient(opts SeedVcenterClientOptions) *VcenterClient

SeedVcenterClient creates a new VcenterClient directly in this backend -- see this file's package-level doc comment for why this exported, non-SDK helper exists.

func (*InMemoryBackend) SetS3Backend

func (b *InMemoryBackend) SetS3Backend(s3 S3Accessor)

SetS3Backend wires the S3 backend StartImport reads its source object from. Until this is called, StartImport always fails the ImportTask (no backend to honestly read from) rather than fabricating created records -- see readImportSourceServers.

func (*InMemoryBackend) Snapshot

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

Snapshot serialises the backend state to JSON.

func (*InMemoryBackend) StartCutover

func (b *InMemoryBackend) StartCutover(sourceServerIDs []string, jobTags map[string]string) (*Job, error)

StartCutover starts a batch cutover Job across sourceServerIDs. Same error-shape constraint as StartTest -- see its doc comment.

func (*InMemoryBackend) StartExport

func (b *InMemoryBackend) StartExport(
	s3Bucket, s3Key, s3BucketOwner string,
	exportTags map[string]string,
) (*ExportTask, error)

StartExport starts a new (Pending -> Started -> Succeeded) async ExportTask, snapshotting this account's real current Applications/Waves/ SourceServers counts into Summary.

func (*InMemoryBackend) StartImport

func (b *InMemoryBackend) StartImport(source *S3BucketSource, importTags map[string]string) (*ImportTask, error)

StartImport starts a new (Pending -> Started -> Succeeded|Failed) async ImportTask that really reads and parses source (see s3import.go). Summary counts reflect what was actually parsed and created -- never fabricated (see models.go's ImportTaskSummary doc comment).

func (*InMemoryBackend) StartImportFileEnrichment

func (b *InMemoryBackend) StartImportFileEnrichment(
	target *EnrichmentTargetS3Configuration,
) (*ImportFileEnrichment, error)

StartImportFileEnrichment starts a new (Pending -> Started -> Succeeded) async ImportFileEnrichment job. Tags accepted as input have nowhere to go on the wire response (types.ImportFileEnrichment carries no Tags field at all, confirmed by direct SDK read, and this resource kind is absent from family L's 12 taggable kinds) -- accepted and silently dropped, matching the real SDK's own shape, not a bug in this implementation.

func (*InMemoryBackend) StartNetworkMigrationAnalysis

func (b *InMemoryBackend) StartNetworkMigrationAnalysis(definitionID, executionID string) (string, error)

StartNetworkMigrationAnalysis starts a new analysis job.

func (*InMemoryBackend) StartNetworkMigrationCodeGeneration

func (b *InMemoryBackend) StartNetworkMigrationCodeGeneration(definitionID, executionID string) (string, error)

StartNetworkMigrationCodeGeneration starts a new code-generation job.

func (*InMemoryBackend) StartNetworkMigrationDeployment

func (b *InMemoryBackend) StartNetworkMigrationDeployment(definitionID, executionID string) (string, error)

StartNetworkMigrationDeployment starts a new deployment job.

func (*InMemoryBackend) StartNetworkMigrationMapping

func (b *InMemoryBackend) StartNetworkMigrationMapping(definitionID, executionID string) (string, error)

StartNetworkMigrationMapping starts a new mapping job (family M, but shares family N's job-bookkeeping engine -- networkmigrationjobs.go).

func (*InMemoryBackend) StartNetworkMigrationMappingUpdate

func (b *InMemoryBackend) StartNetworkMigrationMappingUpdate(definitionID, executionID string) (string, error)

StartNetworkMigrationMappingUpdate starts a new mapping-update job. The real Input's Constructs/Segments edit-script (OperationUnion of Delete/ Merge/Split/Update) is accepted but not applied to any stored construct -- see this file's doc comment: no construct exists to apply it to.

func (*InMemoryBackend) StartReplication

func (b *InMemoryBackend) StartReplication(sourceServerID string) error

StartReplication restarts data replication for a stopped/disconnected source server -- a void-result op (StartReplicationOutput genuinely has no fields beyond ResultMetadata, confirmed by direct SDK read, matching PARITY.md's note that this asymmetry with its Stop/Pause/Resume siblings is real, not an oversight).

func (*InMemoryBackend) StartTest

func (b *InMemoryBackend) StartTest(sourceServerIDs []string, jobTags map[string]string) (*Job, error)

StartTest starts a batch test Job across sourceServerIDs. Real AWS requires READY_FOR_TEST; StartTest's own error set (Conflict, UninitializedAccount, Validation -- no ResourceNotFound, confirmed by direct SDK read) means an unknown SourceServerID cannot 404 here, so this backend folds it into ValidationException instead (a documented necessity, not a guess -- there is no other error shape this op can use for that condition).

func (*InMemoryBackend) StopReplication

func (b *InMemoryBackend) StopReplication(sourceServerID string) (*SourceServer, error)

StopReplication halts data replication. Any in-flight scheduleReplicationLocked tick becomes a no-op once it observes the state is no longer what it expects (see that function's own doc comment).

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(_ context.Context, resourceArn string, newTags map[string]string) error

TagResource adds or updates tags on the named resource.

func (*InMemoryBackend) TaggedResources

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

TaggedResources returns every tagged resource across all 12 taggable kinds, for the resourcegroupstaggingapi integration.

func (*InMemoryBackend) TerminateTargetInstances

func (b *InMemoryBackend) TerminateTargetInstances(sourceServerIDs []string, jobTags map[string]string) (*Job, error)

TerminateTargetInstances starts a batch terminate Job across sourceServerIDs. Same error-shape constraint as StartTest -- see its doc comment.

func (*InMemoryBackend) UnarchiveApplication

func (b *InMemoryBackend) UnarchiveApplication(id string) (*Application, error)

UnarchiveApplication sets an Application's IsArchived flag false.

func (*InMemoryBackend) UnarchiveWave

func (b *InMemoryBackend) UnarchiveWave(id string) (*Wave, error)

UnarchiveWave sets a Wave's IsArchived flag false.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(_ context.Context, resourceArn string, tagKeys []string) error

UntagResource removes tags from the named resource.

func (*InMemoryBackend) UpdateApplication

func (b *InMemoryBackend) UpdateApplication(id string, name, description *string) (*Application, error)

UpdateApplication applies a partial update to an Application.

func (*InMemoryBackend) UpdateConnector

func (b *InMemoryBackend) UpdateConnector(id string, in UpdateConnectorInput) (*Connector, error)

UpdateConnector applies a partial update to a Connector.

func (*InMemoryBackend) UpdateLaunchConfiguration

func (b *InMemoryBackend) UpdateLaunchConfiguration(
	sourceServerID string,
	in UpdateLaunchConfigurationInput,
) (*LaunchConfiguration, error)

UpdateLaunchConfiguration applies a partial update to sourceServerID's per-server LaunchConfiguration.

func (*InMemoryBackend) UpdateLaunchConfigurationTemplate

func (b *InMemoryBackend) UpdateLaunchConfigurationTemplate(
	id string,
	in UpdateLaunchConfigurationTemplateInput,
) (*LaunchConfigurationTemplate, error)

UpdateLaunchConfigurationTemplate applies a partial update to id.

func (*InMemoryBackend) UpdateNetworkMigrationDefinition

func (b *InMemoryBackend) UpdateNetworkMigrationDefinition(
	id string,
	in UpdateNetworkMigrationDefinitionInput,
) (*NetworkMigrationDefinition, error)

UpdateNetworkMigrationDefinition applies a partial update to id.

func (*InMemoryBackend) UpdateNetworkMigrationMapperSegment

func (b *InMemoryBackend) UpdateNetworkMigrationMapperSegment(definitionID, executionID, segmentID string) error

UpdateNetworkMigrationMapperSegment always returns ResourceNotFoundException -- see this file's doc comment: no segment is ever created for this to update. The real Input's only mutable field is ScopeTags (confirmed by direct SDK read -- PARITY.md's family-M table over-stated this as also including TargetAccount, a real correction this implementation pass found; see this package's PARITY.md revision notes).

func (*InMemoryBackend) UpdateReplicationConfiguration

func (b *InMemoryBackend) UpdateReplicationConfiguration(
	sourceServerID string,
	in UpdateReplicationConfigurationInput,
) (*ReplicationConfiguration, error)

UpdateReplicationConfiguration applies a partial update to sourceServerID's per-server ReplicationConfiguration.

func (*InMemoryBackend) UpdateReplicationConfigurationTemplate

func (b *InMemoryBackend) UpdateReplicationConfigurationTemplate(
	id string,
	in UpdateReplicationConfigurationTemplateInput,
) (*ReplicationConfigurationTemplate, error)

UpdateReplicationConfigurationTemplate applies a partial update to id.

func (*InMemoryBackend) UpdateSourceServer

func (b *InMemoryBackend) UpdateSourceServer(
	sourceServerID string,
	action *SourceServerConnectorAction,
) (*SourceServer, error)

UpdateSourceServer applies a ConnectorAction to sourceServerID and returns the flattened SourceServer (PARITY.md wire-trap #1).

func (*InMemoryBackend) UpdateSourceServerReplicationType

func (b *InMemoryBackend) UpdateSourceServerReplicationType(
	sourceServerID, replicationType string,
) (*SourceServer, error)

UpdateSourceServerReplicationType changes sourceServerID's ReplicationType.

func (*InMemoryBackend) UpdateWave

func (b *InMemoryBackend) UpdateWave(id string, name, description *string) (*Wave, error)

UpdateWave applies a partial update to a Wave.

type Job

type Job struct {
	Tags                 *tags.Tags
	JobID                string
	Arn                  string
	CreationDateTime     string
	EndDateTime          string
	InitiatedBy          string
	Status               string
	Type                 string
	ParticipatingServers []*ParticipatingServer
}

Job mirrors types.Job.

type JobLog

type JobLog struct {
	EventData   *JobLogEventData
	LogID       string
	JobID       string
	Event       string
	LogDateTime string
}

JobLog mirrors types.JobLog plus an internal LogID primary key (the wire shape has no ID field of its own; DescribeJobLogItems is scoped/paged by JobID, so this backend needs its own synthetic key -- see jobs.go's jobLogsByJob index).

type JobLogEventData

type JobLogEventData struct {
	ConversionServerID string
	RawError           string
	SourceServerID     string
	TargetInstanceID   string
}

JobLogEventData mirrors types.JobLogEventData.

type LastKnownCheck

type LastKnownCheck struct {
	CheckedAt time.Time
	Error     string
	Name      string
	Status    string
	Type      string
}

LastKnownCheck mirrors types.LastKnownCheck.

type LaunchConfiguration

type LaunchConfiguration struct {
	Licensing                           *Licensing
	PostLaunchActions                   *PostLaunchActions
	SourceServerID                      string
	BootMode                            string
	Ec2LaunchTemplateID                 string
	LaunchDisposition                   string
	MapAutoTaggingMpeID                 string
	Name                                string
	TargetInstanceTypeRightSizingMethod string
	CopyPrivateIP                       bool
	CopyTags                            bool
	EnableMapAutoTagging                bool
}

LaunchConfiguration mirrors the shape GetLaunchConfiguration/ UpdateLaunchConfiguration flatten onto their Output -- there is NO types.LaunchConfiguration struct anywhere in this SDK module (confirmed: PARITY.md wire-trap #2). One exists per SourceServer, auto-created alongside it (see sourceservers.go's seedSourceServerLocked) since no dedicated Create/Delete op exists for this resource kind (PARITY.md's "four distinct configuration-family resources" section) -- a documented, invented convention, not derived from AWS behavior.

type LaunchConfigurationTemplate

type LaunchConfigurationTemplate struct {
	Tags                                *tags.Tags
	Licensing                           *Licensing
	PostLaunchActions                   *PostLaunchActions
	LargeVolumeConf                     *LaunchTemplateDiskConf
	SmallVolumeConf                     *LaunchTemplateDiskConf
	LaunchConfigurationTemplateID       string
	Arn                                 string
	BootMode                            string
	Ec2LaunchTemplateID                 string
	LaunchDisposition                   string
	MapAutoTaggingMpeID                 string
	ParametersEncryptionKey             string
	TargetInstanceTypeRightSizingMethod string
	SmallVolumeMaxSize                  int64
	AssociatePublicIPAddress            bool
	CopyPrivateIP                       bool
	CopyTags                            bool
	EnableMapAutoTagging                bool
	EnableParametersEncryption          bool
}

LaunchConfigurationTemplate mirrors types.LaunchConfigurationTemplate.

type LaunchTemplateDiskConf

type LaunchTemplateDiskConf struct {
	VolumeType string
	Iops       int64
	Throughput int64
}

LaunchTemplateDiskConf mirrors types.LaunchTemplateDiskConf.

type LaunchedInstance

type LaunchedInstance struct {
	Ec2InstanceID            string
	FirstBoot                string
	JobID                    string
	LastKnownFsxChecksStatus string
	LastKnownChecks          []LastKnownCheck
}

LaunchedInstance mirrors types.LaunchedInstance. Ec2InstanceID is a synthetic, gopherstack-format ID (e.g. "i-" + hex), NOT cross-checked against a real services/ec2 instance -- see PARITY.md's cross-service wiring section: real EC2 instance launch on cutover is scoped as a documented follow-on, not implemented this pass.

type Licensing

type Licensing struct {
	OsByol bool
}

Licensing mirrors types.Licensing.

type LifeCycle

type LifeCycle struct {
	LastCutover                *LifeCycleLastCutover
	LastTest                   *LifeCycleLastTest
	AddedToServiceDateTime     string
	ElapsedReplicationDuration string
	FirstByteDateTime          string
	LastSeenByServiceDateTime  string
	State                      string
}

LifeCycle mirrors types.LifeCycle. See sourceservers.go's doc comment for the (documented, SDK-inferred) legal LifeCycleState transition table.

type LifeCycleLastCutover

type LifeCycleLastCutover struct {
	Finalized *timestamped
	Initiated *timestampedJobRef
	Reverted  *timestamped
}

LifeCycleLastCutover mirrors types.LifeCycleLastCutover.

type LifeCycleLastTest

type LifeCycleLastTest struct {
	Finalized *timestamped
	Initiated *timestampedJobRef
	Reverted  *timestamped
}

LifeCycleLastTest mirrors types.LifeCycleLastTest.

type ListApplicationsFilters

type ListApplicationsFilters struct {
	IsArchived     *bool
	ApplicationIDs []string
	WaveIDs        []string
}

ListApplicationsFilters mirrors types.ListApplicationsRequestFilters.

type ListConnectorsFilters

type ListConnectorsFilters struct {
	ConnectorIDs []string
}

ListConnectorsFilters mirrors types.ListConnectorsRequestFilters.

type ListNetworkMigrationDefinitionsFilters

type ListNetworkMigrationDefinitionsFilters struct {
	NetworkMigrationDefinitionIDs []string
}

ListNetworkMigrationDefinitionsFilters mirrors types.ListNetworkMigrationDefinitionsRequestFilters.

type ListNetworkMigrationExecutionsFilters

type ListNetworkMigrationExecutionsFilters struct {
	NetworkMigrationExecutionIDs      []string
	NetworkMigrationExecutionStatuses []string
}

ListNetworkMigrationExecutionsFilters mirrors types.ListNetworkMigrationExecutionRequestFilters.

type ListWavesFilters

type ListWavesFilters struct {
	IsArchived *bool
	WaveIDs    []string
}

ListWavesFilters mirrors types.ListWavesRequestFilters.

type ManagedAccount

type ManagedAccount struct {
	AccountID string
}

ManagedAccount mirrors types.ManagedAccount.

type NetworkInterface

type NetworkInterface struct {
	MacAddress string
	Ips        []string
	IsPrimary  bool
}

NetworkInterface mirrors types.NetworkInterface.

type NetworkMigrationDefinition

type NetworkMigrationDefinition struct {
	CreatedAt                    time.Time
	UpdatedAt                    time.Time
	Tags                         *tags.Tags
	TargetNetwork                *TargetNetwork
	TargetS3Configuration        *TargetS3Configuration
	ScopeTags                    map[string]string
	NetworkMigrationDefinitionID string
	Arn                          string
	Name                         string
	Description                  string
	TargetDeployment             string
	SourceConfigurations         []SourceConfiguration
}

NetworkMigrationDefinition mirrors the flattened detail shape Create/Get/UpdateNetworkMigrationDefinition all return (richer than types.NetworkMigrationDefinitionSummary, which ListNetworkMigrationDefinitions alone uses -- see wire_convert.go).

type NetworkMigrationExecution

type NetworkMigrationExecution struct {
	CreatedAt                    time.Time
	UpdatedAt                    time.Time
	Tags                         *tags.Tags
	NetworkMigrationExecutionID  string
	NetworkMigrationDefinitionID string
	Activity                     string
	Stage                        string
	Status                       string
}

NetworkMigrationExecution mirrors types.NetworkMigrationExecution. See PARITY.md's "hard design problem": no op creates a NetworkMigrationExecutionID. This backend auto-vivifies one the first time any of the 5 StartNetworkMigration* ops references an (DefinitionID, ExecutionID) pair not previously seen -- an explicit, documented gopherstack convention (see networkmigrationjobs.go's resolveOrCreateExecutionLocked), never presented as derived AWS behavior.

type NetworkMigrationJob

type NetworkMigrationJob struct {
	CreatedAt                    time.Time
	EndedAt                      time.Time
	JobID                        string
	NetworkMigrationDefinitionID string
	NetworkMigrationExecutionID  string
	Activity                     string
	Status                       string
	StatusDetails                string
}

NetworkMigrationJob is this backend's single generic bookkeeping record backing every one of StartNetworkMigrationMapping/MappingUpdate/Analysis/ CodeGeneration/Deployment -- all five real SDK job-details types (NetworkMigrationMappingJobDetails, NetworkMigrationMappingUpdateJobDetails, NetworkMigrationAnalysisJobDetails, NetworkMigrationCodeGenerationJobDetails, NetworkMigrationDeployerJobDetails) share an IDENTICAL {CreatedAt, EndedAt, JobID, NetworkMigrationDefinitionID, NetworkMigrationExecutionID, Status, StatusDetails} shape (confirmed by direct read of types.go), differing only in which List* op reads them back -- so one internal table discriminated by Activity, rather than five duplicate tables, is the honest, non-redundant representation. See networkmigrationjobs.go.

type OS

type OS struct {
	FullString string
}

OS mirrors types.OS.

type ParticipatingServer

type ParticipatingServer struct {
	SourceServerID        string
	LaunchStatus          string
	LaunchedEc2InstanceID string
}

ParticipatingServer mirrors types.ParticipatingServer. Stored as []*ParticipatingServer (not []ParticipatingServer) on Job specifically so jobs.go's scheduleJob can hold a stable pointer to one participant's LaunchStatus field across the Job's async progression -- see directconnect/models.go's MacSecKey doc comment for the identical stable-pointer rationale this mirrors.

type PostLaunchActions

type PostLaunchActions struct {
	CloudWatchLogGroupName string
	Deployment             string
	S3LogBucket            string
	S3OutputKeyPrefix      string
	SsmDocuments           []ssmDocument
}

PostLaunchActions mirrors types.PostLaunchActions.

type Provider

type Provider struct{}

Provider implements service.Provider for AWS Application Migration Service (MGN).

func (*Provider) Init

Init initializes the MGN service backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type PutSourceServerActionInput

type PutSourceServerActionInput struct {
	ExternalParameters    map[string]string
	Parameters            map[string][]ssmParameter
	SourceServerID        string
	ActionID              string
	ActionName            string
	Category              string
	Description           string
	DocumentIdentifier    string
	DocumentVersion       string
	Order                 int32
	TimeoutSeconds        int32
	Active                bool
	MustSucceedForCutover bool
}

PutSourceServerActionInput mirrors PutSourceServerActionInput.

type PutTemplateActionInput

type PutTemplateActionInput struct {
	ExternalParameters            map[string]string
	Parameters                    map[string][]ssmParameter
	LaunchConfigurationTemplateID string
	ActionID                      string
	ActionName                    string
	Category                      string
	Description                   string
	DocumentIdentifier            string
	DocumentVersion               string
	OperatingSystem               string
	Order                         int32
	TimeoutSeconds                int32
	Active                        bool
	MustSucceedForCutover         bool
}

PutTemplateActionInput mirrors PutTemplateActionInput.

type ReplicationConfiguration

type ReplicationConfiguration struct {
	StorageConfiguration                *StorageConfiguration
	StagingAreaTags                     map[string]string
	InternetProtocol                    string
	StagingAreaSubnetID                 string
	DataPlaneRouting                    string
	DefaultLargeStagingDiskType         string
	EbsEncryption                       string
	EbsEncryptionKeyArn                 string
	SourceServerID                      string
	Name                                string
	ReplicationServerInstanceType       string
	ReplicatedDisks                     []ReplicationConfigurationReplicatedDisk
	ReplicationServersSecurityGroupsIDs []string
	BandwidthThrottling                 int64
	AssociateDefaultSecurityGroup       bool
	CreatePublicIP                      bool
	StoreSnapshotOnLocalZone            bool
	UseDedicatedReplicationServer       bool
	UseFipsEndpoint                     bool
}

ReplicationConfiguration mirrors the shape GetReplicationConfiguration/ UpdateReplicationConfiguration flatten onto their Output -- there is NO types.ReplicationConfiguration struct anywhere in this SDK module (PARITY.md wire-trap #2). One exists per SourceServer, auto-created alongside it -- same documented convention as LaunchConfiguration above.

type ReplicationConfigurationReplicatedDisk

type ReplicationConfigurationReplicatedDisk struct {
	DeviceName      string
	StagingDiskType string
	Iops            int64
	Throughput      int64
	IsBootDisk      bool
}

ReplicationConfigurationReplicatedDisk mirrors types.ReplicationConfigurationReplicatedDisk.

type ReplicationConfigurationTemplate

type ReplicationConfigurationTemplate struct {
	Tags                                *tags.Tags
	StorageConfiguration                *StorageConfiguration
	StagingAreaTags                     map[string]string
	EbsEncryption                       string
	InternetProtocol                    string
	StagingAreaSubnetID                 string
	DataPlaneRouting                    string
	DefaultLargeStagingDiskType         string
	ReplicationConfigurationTemplateID  string
	EbsEncryptionKeyArn                 string
	Arn                                 string
	ReplicationServerInstanceType       string
	ReplicationServersSecurityGroupsIDs []string
	BandwidthThrottling                 int64
	AssociateDefaultSecurityGroup       bool
	CreatePublicIP                      bool
	StoreSnapshotOnLocalZone            bool
	UseDedicatedReplicationServer       bool
	UseFipsEndpoint                     bool
}

ReplicationConfigurationTemplate mirrors types.ReplicationConfigurationTemplate.

type S3Accessor

type S3Accessor interface {
	GetObject(ctx context.Context, in *s3sdk.GetObjectInput) (*s3sdk.GetObjectOutput, error)
}

S3Accessor is the subset of S3 operations StartImport needs to read its source object. Satisfied by the in-process S3 backend (services/s3), wired in cli.go alongside the DynamoDB/Firehose->S3 wiring -- see SetS3Backend.

type S3BucketSource

type S3BucketSource struct {
	S3Bucket      string
	S3BucketOwner string
	S3Key         string
}

S3BucketSource mirrors types.S3BucketSource.

type SeedVcenterClientOptions

type SeedVcenterClientOptions struct {
	Tags             map[string]string
	SourceServerTags map[string]string
	VcenterClientID  string
	DatacenterName   string
	Hostname         string
	VcenterUUID      string
}

SeedVcenterClientOptions configures SeedVcenterClient. Every field is optional.

type SourceConfiguration

type SourceConfiguration struct {
	SourceEnvironment     string
	SourceS3Configuration SourceS3Configuration
}

SourceConfiguration mirrors types.SourceConfiguration.

type SourceProperties

type SourceProperties struct {
	IdentificationHints     *IdentificationHints
	Os                      *OS
	LastUpdatedDateTime     string
	RecommendedInstanceType string
	Cpus                    []CPU
	Disks                   []Disk
	NetworkInterfaces       []NetworkInterface
	RAMBytes                int64
}

SourceProperties mirrors types.SourceProperties.

type SourceS3Configuration

type SourceS3Configuration struct {
	S3Bucket      string
	S3BucketOwner string
	S3Key         string
}

SourceS3Configuration mirrors types.SourceS3Configuration.

type SourceServer

type SourceServer struct {
	Tags                   *tags.Tags
	ConnectorAction        *SourceServerConnectorAction
	DataReplicationInfo    *DataReplicationInfo
	LaunchedInstance       *LaunchedInstance
	LifeCycle              *LifeCycle
	SourceProperties       *SourceProperties
	ApplicationID          string
	Arn                    string
	FqdnForActionFramework string
	ReplicationType        string
	SourceServerID         string
	UserProvidedID         string
	VcenterClientID        string
	IsArchived             bool
}

SourceServer mirrors types.SourceServer -- the central resource this service exists to manage. See PARITY.md's "hard design problem": no public SDK operation creates one directly; the only wire-reachable path is StartImport's real CSV-driven bulk load (s3import.go parses the caller's S3 object per this package's documented column assumption and creates one SourceServer per valid row -- see exportimport.go). That is this emulator's one and only SourceServer creation path, a deliberate resolution of the gap, never presented as derived AWS behavior (AWS's own creation mechanism -- the MGN Replication Agent's internal registration call -- is not part of this public SDK surface at all).

type SourceServerActionDocument

type SourceServerActionDocument struct {
	ExternalParameters    map[string]string
	Parameters            map[string][]ssmParameter
	SourceServerID        string
	ActionID              string
	ActionName            string
	Category              string
	Description           string
	DocumentIdentifier    string
	DocumentVersion       string
	Order                 int32
	TimeoutSeconds        int32
	Active                bool
	MustSucceedForCutover bool
}

SourceServerActionDocument mirrors types.SourceServerActionDocument, plus an internal SourceServerID key (not itself a wire field on this type, but this backend's composite primary key alongside ActionID -- see actions.go).

type SourceServerConnectorAction

type SourceServerConnectorAction struct {
	ConnectorArn         string
	CredentialsSecretArn string
}

SourceServerConnectorAction mirrors types.SourceServerConnectorAction.

type StorageConfiguration

type StorageConfiguration struct {
	FsxOntapConfiguration *FsxOntapConfiguration
	StorageType           string
}

StorageConfiguration mirrors types.StorageConfiguration.

type TaggedEntry

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

TaggedEntry is one tagged resource, used by TaggedResources for the resourcegroupstaggingapi integration (cli.go's wireTaggingMGN).

type TargetNetwork

type TargetNetwork struct {
	Topology       string
	InboundCidr    string
	InspectionCidr string
	OutboundCidr   string
}

TargetNetwork mirrors types.TargetNetwork.

type TargetS3Configuration

type TargetS3Configuration struct {
	S3Bucket      string
	S3BucketOwner string
}

TargetS3Configuration mirrors types.TargetS3Configuration.

type TemplateActionDocument

type TemplateActionDocument struct {
	ExternalParameters            map[string]string
	Parameters                    map[string][]ssmParameter
	LaunchConfigurationTemplateID string
	ActionID                      string
	ActionName                    string
	Category                      string
	Description                   string
	DocumentIdentifier            string
	DocumentVersion               string
	OperatingSystem               string
	Order                         int32
	TimeoutSeconds                int32
	Active                        bool
	MustSucceedForCutover         bool
}

TemplateActionDocument mirrors types.TemplateActionDocument, plus an internal LaunchConfigurationTemplateID key (composite primary key alongside ActionID -- see actions.go).

type UpdateConnectorInput

type UpdateConnectorInput struct {
	SsmCommandConfig *ConnectorSsmCommandConfig
	Name             *string
	SsmInstanceID    *string
}

UpdateConnectorInput mirrors UpdateConnectorInput -- everything but ConnectorID is optional.

type UpdateLaunchConfigurationInput

type UpdateLaunchConfigurationInput struct {
	BootMode                            *string
	CopyPrivateIP                       *bool
	CopyTags                            *bool
	EnableMapAutoTagging                *bool
	LaunchDisposition                   *string
	Licensing                           *Licensing
	MapAutoTaggingMpeID                 *string
	Name                                *string
	PostLaunchActions                   *PostLaunchActions
	TargetInstanceTypeRightSizingMethod *string
}

UpdateLaunchConfigurationInput carries the partial-update fields UpdateLaunchConfiguration accepts, mirrored 1:1 from UpdateLaunchConfigurationInput -- every field but SourceServerID is optional, so callers pass a pointer/hasX flag per field via wire_convert.go's applyLaunchConfigUpdate rather than a single struct literal, matching this style throughout the family files.

type UpdateLaunchConfigurationTemplateInput

type UpdateLaunchConfigurationTemplateInput struct {
	Licensing                           *Licensing
	PostLaunchActions                   *PostLaunchActions
	LargeVolumeConf                     *LaunchTemplateDiskConf
	SmallVolumeConf                     *LaunchTemplateDiskConf
	BootMode                            *string
	Ec2LaunchTemplateID                 *string
	LaunchDisposition                   *string
	MapAutoTaggingMpeID                 *string
	TargetInstanceTypeRightSizingMethod *string
	SmallVolumeMaxSize                  *int64
	AssociatePublicIPAddress            *bool
	CopyPrivateIP                       *bool
	CopyTags                            *bool
	EnableMapAutoTagging                *bool
}

UpdateLaunchConfigurationTemplateInput mirrors UpdateLaunchConfigurationTemplateInput -- everything but LaunchConfigurationTemplateID is optional.

type UpdateNetworkMigrationDefinitionInput

type UpdateNetworkMigrationDefinitionInput struct {
	TargetNetworkUpdate   *TargetNetwork
	TargetS3Configuration *TargetS3Configuration
	ScopeTags             map[string]string
	Name                  *string
	Description           *string
	TargetDeployment      *string
	SourceConfigurations  []SourceConfiguration
}

UpdateNetworkMigrationDefinitionInput mirrors UpdateNetworkMigrationDefinitionInput -- everything but NetworkMigrationDefinitionID is optional.

type UpdateReplicationConfigurationInput

type UpdateReplicationConfigurationInput struct {
	DefaultLargeStagingDiskType         *string
	EbsEncryptionKeyArn                 *string
	UseFipsEndpoint                     *bool
	UseDedicatedReplicationServer       *bool
	AssociateDefaultSecurityGroup       *bool
	BandwidthThrottling                 *int64
	CreatePublicIP                      *bool
	DataPlaneRouting                    *string
	StagingAreaTags                     map[string]string
	StorageConfiguration                *StorageConfiguration
	EbsEncryption                       *string
	InternetProtocol                    *string
	Name                                *string
	ReplicationServerInstanceType       *string
	StagingAreaSubnetID                 *string
	StoreSnapshotOnLocalZone            *bool
	ReplicationServersSecurityGroupsIDs []string
	ReplicatedDisks                     []ReplicationConfigurationReplicatedDisk
}

UpdateReplicationConfigurationInput mirrors UpdateReplicationConfigurationInput -- every field but SourceServerID is optional.

type UpdateReplicationConfigurationTemplateInput

type UpdateReplicationConfigurationTemplateInput struct {
	ReplicationServerInstanceType       *string
	StagingAreaSubnetID                 *string
	BandwidthThrottling                 *int64
	DataPlaneRouting                    *string
	DefaultLargeStagingDiskType         *string
	EbsEncryption                       *string
	StagingAreaTags                     map[string]string
	EbsEncryptionKeyArn                 *string
	StorageConfiguration                *StorageConfiguration
	InternetProtocol                    *string
	AssociateDefaultSecurityGroup       *bool
	CreatePublicIP                      *bool
	StoreSnapshotOnLocalZone            *bool
	UseDedicatedReplicationServer       *bool
	UseFipsEndpoint                     *bool
	ReplicationServersSecurityGroupsIDs []string
}

UpdateReplicationConfigurationTemplateInput mirrors UpdateReplicationConfigurationTemplateInput -- everything but ReplicationConfigurationTemplateID is optional.

type VcenterClient

type VcenterClient struct {
	Tags             *tags.Tags
	SourceServerTags map[string]string
	VcenterClientID  string
	Arn              string
	DatacenterName   string
	Hostname         string
	LastSeenDatetime string
	VcenterUUID      string
}

VcenterClient mirrors types.VcenterClient. See PARITY.md's "hard design problem": no CreateVcenterClient op exists; this backend's only creation path is SeedVcenterClient (gopherstack-only, non-SDK) -- see vcenterclients.go.

type Wave

type Wave struct {
	Tags                 *tags.Tags
	AggregatedStatus     *WaveAggregatedStatus
	WaveID               string
	Arn                  string
	CreationDateTime     string
	LastModifiedDateTime string
	Description          string
	Name                 string
	IsArchived           bool
}

Wave mirrors types.Wave.

type WaveAggregatedStatus

type WaveAggregatedStatus struct {
	HealthStatus               string
	LastUpdateDateTime         string
	ProgressStatus             string
	ReplicationStartedDateTime string
	TotalApplications          int64
}

WaveAggregatedStatus mirrors types.WaveAggregatedStatus.

Jump to

Keyboard shortcuts

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