You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::MigrationHub::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



152
153
154
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 152

def initialize(*args)
  super
end

Instance Method Details

#associate_created_artifact(params = {}) ⇒ Struct

Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits:

  • Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.

Examples:

Request syntax with placeholder values


resp = client.associate_created_artifact({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  created_artifact: { # required
    name: "CreatedArtifactName", # required
    description: "CreatedArtifactDescription",
  },
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task.

  • :created_artifact (required, Types::CreatedArtifact)

    An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



205
206
207
208
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 205

def associate_created_artifact(params = {}, options = {})
  req = build_request(:associate_created_artifact, params)
  req.send_request(options)
end

#associate_discovered_resource(params = {}) ⇒ Struct

Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.

Examples:

Request syntax with placeholder values


resp = client.associate_discovered_resource({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  discovered_resource: { # required
    configuration_id: "ConfigurationId", # required
    description: "DiscoveredResourceDescription",
  },
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    The identifier given to the MigrationTask.

  • :discovered_resource (required, Types::DiscoveredResource)

    Object representing a Resource.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



244
245
246
247
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 244

def associate_discovered_resource(params = {}, options = {})
  req = build_request(:associate_discovered_resource, params)
  req.send_request(options)
end

#create_progress_update_stream(params = {}) ⇒ Struct

Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account.

Examples:

Request syntax with placeholder values


resp = client.create_progress_update_stream({
  progress_update_stream_name: "ProgressUpdateStream", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream_name (required, String)

    The name of the ProgressUpdateStream.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



276
277
278
279
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 276

def create_progress_update_stream(params = {}, options = {})
  req = build_request(:create_progress_update_stream, params)
  req.send_request(options)
end

#delete_progress_update_stream(params = {}) ⇒ Struct

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).

  • The call will return, and a background process will asynchronously be doing the actual delete of the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).

  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.

  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs realted to the tasks belonging to the stream will throw "InvalidInputException" if the stream of the same name is in the process of being deleted.

  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

Examples:

Request syntax with placeholder values


resp = client.delete_progress_update_stream({
  progress_update_stream_name: "ProgressUpdateStream", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream_name (required, String)

    The name of the ProgressUpdateStream.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



327
328
329
330
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 327

def delete_progress_update_stream(params = {}, options = {})
  req = build_request(:delete_progress_update_stream, params)
  req.send_request(options)
end

#describe_application_state(params = {}) ⇒ Types::DescribeApplicationStateResult

Gets the migration status of an application.

Examples:

Request syntax with placeholder values


resp = client.describe_application_state({
  application_id: "ApplicationId", # required
})

Response structure


resp.application_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED"
resp.last_updated_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :application_id (required, String)

    The configurationId in ADS that uniquely identifies the grouped application.

Returns:

See Also:



358
359
360
361
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 358

def describe_application_state(params = {}, options = {})
  req = build_request(:describe_application_state, params)
  req.send_request(options)
end

#describe_migration_task(params = {}) ⇒ Types::DescribeMigrationTaskResult

Retrieves a list of all attributes associated with a specific migration task.

Examples:

Request syntax with placeholder values


resp = client.describe_migration_task({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
})

Response structure


resp.migration_task.progress_update_stream #=> String
resp.migration_task.migration_task_name #=> String
resp.migration_task.task.status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "FAILED", "COMPLETED"
resp.migration_task.task.status_detail #=> String
resp.migration_task.task.progress_percent #=> Integer
resp.migration_task.update_date_time #=> Time
resp.migration_task.resource_attribute_list #=> Array
resp.migration_task.resource_attribute_list[0].type #=> String, one of "IPV4_ADDRESS", "IPV6_ADDRESS", "MAC_ADDRESS", "FQDN", "VM_MANAGER_ID", "VM_MANAGED_OBJECT_REFERENCE", "VM_NAME", "VM_PATH", "BIOS_ID", "MOTHERBOARD_SERIAL_NUMBER", "LABEL"
resp.migration_task.resource_attribute_list[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    The identifier given to the MigrationTask.

Returns:

See Also:



399
400
401
402
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 399

def describe_migration_task(params = {}, options = {})
  req = build_request(:describe_migration_task, params)
  req.send_request(options)
end

#disassociate_created_artifact(params = {}) ⇒ Struct

Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits:

  • A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.

Examples:

Request syntax with placeholder values


resp = client.disassociate_created_artifact({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  created_artifact_name: "CreatedArtifactName", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task to be disassociated with the artifact.

  • :created_artifact_name (required, String)

    An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



450
451
452
453
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 450

def disassociate_created_artifact(params = {}, options = {})
  req = build_request(:disassociate_created_artifact, params)
  req.send_request(options)
end

#disassociate_discovered_resource(params = {}) ⇒ Struct

Disassociate an Application Discovery Service (ADS) discovered resource from a migration task.

Examples:

Request syntax with placeholder values


resp = client.disassociate_discovered_resource({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  configuration_id: "ConfigurationId", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    The identifier given to the MigrationTask.

  • :configuration_id (required, String)

    ConfigurationId of the ADS resource to be disassociated.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



486
487
488
489
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 486

def disassociate_discovered_resource(params = {}, options = {})
  req = build_request(:disassociate_discovered_resource, params)
  req.send_request(options)
end

#import_migration_task(params = {}) ⇒ Struct

Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.

This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub.

Examples:

Request syntax with placeholder values


resp = client.import_migration_task({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



522
523
524
525
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 522

def import_migration_task(params = {}, options = {})
  req = build_request(:import_migration_task, params)
  req.send_request(options)
end

#list_created_artifacts(params = {}) ⇒ Types::ListCreatedArtifactsResult

Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:

  • Gets the list of the created artifacts while migration is taking place.

  • Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API.

  • Lists created artifacts in a paginated interface.

Examples:

Request syntax with placeholder values


resp = client.list_created_artifacts({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.created_artifact_list #=> Array
resp.created_artifact_list[0].name #=> String
resp.created_artifact_list[0].description #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task.

  • :next_token (String)

    If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

  • :max_results (Integer)

    Maximum number of results to be returned per page.

Returns:

See Also:



577
578
579
580
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 577

def list_created_artifacts(params = {}, options = {})
  req = build_request(:list_created_artifacts, params)
  req.send_request(options)
end

#list_discovered_resources(params = {}) ⇒ Types::ListDiscoveredResourcesResult

Lists discovered resources associated with the given MigrationTask.

Examples:

Request syntax with placeholder values


resp = client.list_discovered_resources({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.discovered_resource_list #=> Array
resp.discovered_resource_list[0].configuration_id #=> String
resp.discovered_resource_list[0].description #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    The name of the MigrationTask.

  • :next_token (String)

    If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

  • :max_results (Integer)

    The maximum number of results returned per page.

Returns:

See Also:



623
624
625
626
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 623

def list_discovered_resources(params = {}, options = {})
  req = build_request(:list_discovered_resources, params)
  req.send_request(options)
end

#list_migration_tasks(params = {}) ⇒ Types::ListMigrationTasksResult

Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:

  • Can show a summary list of the most recent migration tasks.

  • Can show a summary list of migration tasks associated with a given discovered resource.

  • Lists migration tasks in a paginated interface.

Examples:

Request syntax with placeholder values


resp = client.list_migration_tasks({
  next_token: "Token",
  max_results: 1,
  resource_name: "ResourceName",
})

Response structure


resp.next_token #=> String
resp.migration_task_summary_list #=> Array
resp.migration_task_summary_list[0].progress_update_stream #=> String
resp.migration_task_summary_list[0].migration_task_name #=> String
resp.migration_task_summary_list[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "FAILED", "COMPLETED"
resp.migration_task_summary_list[0].progress_percent #=> Integer
resp.migration_task_summary_list[0].status_detail #=> String
resp.migration_task_summary_list[0].update_date_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

  • :max_results (Integer)

    Value to specify how many results are returned per page.

  • :resource_name (String)

    Filter migration tasks by discovered resource name.

Returns:

See Also:



678
679
680
681
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 678

def list_migration_tasks(params = {}, options = {})
  req = build_request(:list_migration_tasks, params)
  req.send_request(options)
end

#list_progress_update_streams(params = {}) ⇒ Types::ListProgressUpdateStreamsResult

Lists progress update streams associated with the user account making this call.

Examples:

Request syntax with placeholder values


resp = client.list_progress_update_streams({
  next_token: "Token",
  max_results: 1,
})

Response structure


resp.progress_update_stream_summary_list #=> Array
resp.progress_update_stream_summary_list[0].progress_update_stream_name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

  • :max_results (Integer)

    Filter to limit the maximum number of results to list per page.

Returns:

See Also:



716
717
718
719
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 716

def list_progress_update_streams(params = {}, options = {})
  req = build_request(:list_progress_update_streams, params)
  req.send_request(options)
end

#notify_application_state(params = {}) ⇒ Struct

Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.

Examples:

Request syntax with placeholder values


resp = client.notify_application_state({
  application_id: "ApplicationId", # required
  status: "NOT_STARTED", # required, accepts NOT_STARTED, IN_PROGRESS, COMPLETED
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :application_id (required, String)

    The configurationId in ADS that uniquely identifies the grouped application.

  • :status (required, String)

    Status of the application - Not Started, In-Progress, Complete.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



751
752
753
754
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 751

def notify_application_state(params = {}, options = {})
  req = build_request(:notify_application_state, params)
  req.send_request(options)
end

#notify_migration_task_state(params = {}) ⇒ Struct

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

  • Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status.

  • MigrationTaskName is used for addressing updates to the correct target.

  • ProgressUpdateStream is used for access control and to provide a namespace for each migration tool.

Examples:

Request syntax with placeholder values


resp = client.notify_migration_task_state({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  task: { # required
    status: "NOT_STARTED", # required, accepts NOT_STARTED, IN_PROGRESS, FAILED, COMPLETED
    status_detail: "StatusDetail",
    progress_percent: 1,
  },
  update_date_time: Time.now, # required
  next_update_seconds: 1, # required
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task.

  • :task (required, Types::Task)

    Information about the task's progress and status.

  • :update_date_time (required, Time, DateTime, Date, Integer, String)

    The timestamp when the task was gathered.

  • :next_update_seconds (required, Integer)

    Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



811
812
813
814
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 811

def notify_migration_task_state(params = {}, options = {})
  req = build_request(:notify_migration_task_state, params)
  req.send_request(options)
end

#put_resource_attributes(params = {}) ⇒ Struct

Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service (ADS)'s repository. This association occurs asynchronously after PutResourceAttributes returns.

Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overiding the MAC address.

Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListAssociatedResource.

Examples:

Request syntax with placeholder values


resp = client.put_resource_attributes({
  progress_update_stream: "ProgressUpdateStream", # required
  migration_task_name: "MigrationTaskName", # required
  resource_attribute_list: [ # required
    {
      type: "IPV4_ADDRESS", # required, accepts IPV4_ADDRESS, IPV6_ADDRESS, MAC_ADDRESS, FQDN, VM_MANAGER_ID, VM_MANAGED_OBJECT_REFERENCE, VM_NAME, VM_PATH, BIOS_ID, MOTHERBOARD_SERIAL_NUMBER, LABEL
      value: "ResourceAttributeValue", # required
    },
  ],
  dry_run: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :progress_update_stream (required, String)

    The name of the ProgressUpdateStream.

  • :migration_task_name (required, String)

    Unique identifier that references the migration task.

  • :resource_attribute_list (required, Array<Types::ResourceAttribute>)

    Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service (ADS)'s repository.

  • :dry_run (Boolean)

    Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



868
869
870
871
# File 'gems/aws-sdk-migrationhub/lib/aws-sdk-migrationhub/client.rb', line 868

def put_resource_attributes(params = {}, options = {})
  req = build_request(:put_resource_attributes, params)
  req.send_request(options)
end