aws-sdk-mgn 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 020f5c76870f080c6a85ee757d9937a4f73014fec4bb00f1994c409c5925f9a1
4
+ data.tar.gz: 4d0cc8dcfb47de1e4190d606e296b3dbf08195053187fc03811d5f9874b97902
5
+ SHA512:
6
+ metadata.gz: d6c5e832618a9914b43ef12a10512cd3229c28f33b7c1f67d7cb58b3e372707e224cac7ee180aba78e0a8a49c53c39b378cc7ca8487b4f67a9899e0909eb476a
7
+ data.tar.gz: 01302420ff2f07b6a03cc39ec2e881f767947071334ce506f8a96ab786d7317bdd998a4df79dd010f07f0b16e31cf526f10fc156b8079bfb6e9aa32d604ad25a
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.0.0 (2021-04-07)
5
+ ------------------
6
+
7
+ * Feature - Initial release of `aws-sdk-mgn`.
8
+
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-mgn/types'
15
+ require_relative 'aws-sdk-mgn/client_api'
16
+ require_relative 'aws-sdk-mgn/client'
17
+ require_relative 'aws-sdk-mgn/errors'
18
+ require_relative 'aws-sdk-mgn/resource'
19
+ require_relative 'aws-sdk-mgn/customizations'
20
+
21
+ # This module provides support for Application Migration Service. This module is available in the
22
+ # `aws-sdk-mgn` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # mgn = Aws::Mgn::Client.new
31
+ # resp = mgn.change_server_life_cycle_state(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from Application Migration Service are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::Mgn::Errors::ServiceError
43
+ # # rescues all Application Migration Service API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::Mgn
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,1983 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:mgn)
34
+
35
+ module Aws::Mgn
36
+ # An API client for Mgn. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::Mgn::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :mgn
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Allows the user to set the SourceServer.LifeCycle.state property for
331
+ # specific Source Server IDs to one of the following: READY\_FOR\_TEST
332
+ # or READY\_FOR\_CUTOVER. This command only works if the Source Server
333
+ # is already launchable (dataReplicationInfo.lagDuration is not null.)
334
+ #
335
+ # @option params [required, Types::ChangeServerLifeCycleStateSourceServerLifecycle] :life_cycle
336
+ # The request to change the source server migration lifecycle state.
337
+ #
338
+ # @option params [required, String] :source_server_id
339
+ # The request to change the source server migration lifecycle state by
340
+ # source server ID.
341
+ #
342
+ # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
343
+ #
344
+ # * {Types::SourceServer#arn #arn} => String
345
+ # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
346
+ # * {Types::SourceServer#is_archived #is_archived} => Boolean
347
+ # * {Types::SourceServer#launched_instance #launched_instance} => Types::LaunchedInstance
348
+ # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
349
+ # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
350
+ # * {Types::SourceServer#source_server_id #source_server_id} => String
351
+ # * {Types::SourceServer#tags #tags} => Hash&lt;String,String&gt;
352
+ #
353
+ # @example Request syntax with placeholder values
354
+ #
355
+ # resp = client.change_server_life_cycle_state({
356
+ # life_cycle: { # required
357
+ # state: "READY_FOR_TEST", # required, accepts READY_FOR_TEST, READY_FOR_CUTOVER, CUTOVER
358
+ # },
359
+ # source_server_id: "SourceServerID", # required
360
+ # })
361
+ #
362
+ # @example Response structure
363
+ #
364
+ # resp.arn #=> String
365
+ # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
366
+ # resp.data_replication_info.data_replication_error.raw_error #=> String
367
+ # resp.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
368
+ # resp.data_replication_info.data_replication_initiation.start_date_time #=> String
369
+ # resp.data_replication_info.data_replication_initiation.steps #=> Array
370
+ # resp.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
371
+ # resp.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
372
+ # resp.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
373
+ # resp.data_replication_info.eta_date_time #=> String
374
+ # resp.data_replication_info.lag_duration #=> String
375
+ # resp.data_replication_info.replicated_disks #=> Array
376
+ # resp.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
377
+ # resp.data_replication_info.replicated_disks[0].device_name #=> String
378
+ # resp.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
379
+ # resp.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
380
+ # resp.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
381
+ # resp.is_archived #=> Boolean
382
+ # resp.launched_instance.ec2_instance_id #=> String
383
+ # resp.launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
384
+ # resp.launched_instance.job_id #=> String
385
+ # resp.life_cycle.added_to_service_date_time #=> String
386
+ # resp.life_cycle.elapsed_replication_duration #=> String
387
+ # resp.life_cycle.first_byte_date_time #=> String
388
+ # resp.life_cycle.last_cutover.finalized.api_call_date_time #=> String
389
+ # resp.life_cycle.last_cutover.initiated.api_call_date_time #=> String
390
+ # resp.life_cycle.last_cutover.initiated.job_id #=> String
391
+ # resp.life_cycle.last_cutover.reverted.api_call_date_time #=> String
392
+ # resp.life_cycle.last_seen_by_service_date_time #=> String
393
+ # resp.life_cycle.last_test.finalized.api_call_date_time #=> String
394
+ # resp.life_cycle.last_test.initiated.api_call_date_time #=> String
395
+ # resp.life_cycle.last_test.initiated.job_id #=> String
396
+ # resp.life_cycle.last_test.reverted.api_call_date_time #=> String
397
+ # resp.life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
398
+ # resp.source_properties.cpus #=> Array
399
+ # resp.source_properties.cpus[0].cores #=> Integer
400
+ # resp.source_properties.cpus[0].model_name #=> String
401
+ # resp.source_properties.disks #=> Array
402
+ # resp.source_properties.disks[0].bytes #=> Integer
403
+ # resp.source_properties.disks[0].device_name #=> String
404
+ # resp.source_properties.identification_hints.aws_instance_id #=> String
405
+ # resp.source_properties.identification_hints.fqdn #=> String
406
+ # resp.source_properties.identification_hints.hostname #=> String
407
+ # resp.source_properties.identification_hints.vm_ware_uuid #=> String
408
+ # resp.source_properties.last_updated_date_time #=> String
409
+ # resp.source_properties.network_interfaces #=> Array
410
+ # resp.source_properties.network_interfaces[0].ips #=> Array
411
+ # resp.source_properties.network_interfaces[0].ips[0] #=> String
412
+ # resp.source_properties.network_interfaces[0].is_primary #=> Boolean
413
+ # resp.source_properties.network_interfaces[0].mac_address #=> String
414
+ # resp.source_properties.os.full_string #=> String
415
+ # resp.source_properties.ram_bytes #=> Integer
416
+ # resp.source_properties.recommended_instance_type #=> String
417
+ # resp.source_server_id #=> String
418
+ # resp.tags #=> Hash
419
+ # resp.tags["TagKey"] #=> String
420
+ #
421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ChangeServerLifeCycleState AWS API Documentation
422
+ #
423
+ # @overload change_server_life_cycle_state(params = {})
424
+ # @param [Hash] params ({})
425
+ def change_server_life_cycle_state(params = {}, options = {})
426
+ req = build_request(:change_server_life_cycle_state, params)
427
+ req.send_request(options)
428
+ end
429
+
430
+ # Creates a new ReplicationConfigurationTemplate.
431
+ #
432
+ # @option params [required, Boolean] :associate_default_security_group
433
+ # Request to associate the default Application Migration Service
434
+ # Security group with the Replication Settings template.
435
+ #
436
+ # @option params [required, Integer] :bandwidth_throttling
437
+ # Request to configure bandwidth throttling during Replication Settings
438
+ # template creation.
439
+ #
440
+ # @option params [required, Boolean] :create_public_ip
441
+ # Request to create Public IP during Replication Settings template
442
+ # creation.
443
+ #
444
+ # @option params [required, String] :data_plane_routing
445
+ # Request to configure data plane routing during Replication Settings
446
+ # template creation.
447
+ #
448
+ # @option params [required, String] :default_large_staging_disk_type
449
+ # Request to configure the Staging Disk EBS volume type to "gp2"
450
+ # during Replication Settings template creation.
451
+ #
452
+ # @option params [required, String] :ebs_encryption
453
+ # Request to configure EBS enryption during Replication Settings
454
+ # template creation.
455
+ #
456
+ # @option params [String] :ebs_encryption_key_arn
457
+ # Request to configure an EBS enryption key during Replication Settings
458
+ # template creation.
459
+ #
460
+ # @option params [required, String] :replication_server_instance_type
461
+ # Request to configure the Replication Server instance type during
462
+ # Replication Settings template creation.
463
+ #
464
+ # @option params [required, Array<String>] :replication_servers_security_groups_i_ds
465
+ # Request to configure the Replication Server Secuirity group ID during
466
+ # Replication Settings template creation.
467
+ #
468
+ # @option params [required, String] :staging_area_subnet_id
469
+ # Request to configure the Staging Area subnet ID during Replication
470
+ # Settings template creation.
471
+ #
472
+ # @option params [required, Hash<String,String>] :staging_area_tags
473
+ # Request to configure Staiging Area tags during Replication Settings
474
+ # template creation.
475
+ #
476
+ # @option params [Hash<String,String>] :tags
477
+ # Request to configure tags during Replication Settings template
478
+ # creation.
479
+ #
480
+ # @option params [required, Boolean] :use_dedicated_replication_server
481
+ # Request to use Dedicated Replication Servers during Replication
482
+ # Settings template creation.
483
+ #
484
+ # @return [Types::ReplicationConfigurationTemplate] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
485
+ #
486
+ # * {Types::ReplicationConfigurationTemplate#arn #arn} => String
487
+ # * {Types::ReplicationConfigurationTemplate#associate_default_security_group #associate_default_security_group} => Boolean
488
+ # * {Types::ReplicationConfigurationTemplate#bandwidth_throttling #bandwidth_throttling} => Integer
489
+ # * {Types::ReplicationConfigurationTemplate#create_public_ip #create_public_ip} => Boolean
490
+ # * {Types::ReplicationConfigurationTemplate#data_plane_routing #data_plane_routing} => String
491
+ # * {Types::ReplicationConfigurationTemplate#default_large_staging_disk_type #default_large_staging_disk_type} => String
492
+ # * {Types::ReplicationConfigurationTemplate#ebs_encryption #ebs_encryption} => String
493
+ # * {Types::ReplicationConfigurationTemplate#ebs_encryption_key_arn #ebs_encryption_key_arn} => String
494
+ # * {Types::ReplicationConfigurationTemplate#replication_configuration_template_id #replication_configuration_template_id} => String
495
+ # * {Types::ReplicationConfigurationTemplate#replication_server_instance_type #replication_server_instance_type} => String
496
+ # * {Types::ReplicationConfigurationTemplate#replication_servers_security_groups_i_ds #replication_servers_security_groups_i_ds} => Array&lt;String&gt;
497
+ # * {Types::ReplicationConfigurationTemplate#staging_area_subnet_id #staging_area_subnet_id} => String
498
+ # * {Types::ReplicationConfigurationTemplate#staging_area_tags #staging_area_tags} => Hash&lt;String,String&gt;
499
+ # * {Types::ReplicationConfigurationTemplate#tags #tags} => Hash&lt;String,String&gt;
500
+ # * {Types::ReplicationConfigurationTemplate#use_dedicated_replication_server #use_dedicated_replication_server} => Boolean
501
+ #
502
+ # @example Request syntax with placeholder values
503
+ #
504
+ # resp = client.create_replication_configuration_template({
505
+ # associate_default_security_group: false, # required
506
+ # bandwidth_throttling: 1, # required
507
+ # create_public_ip: false, # required
508
+ # data_plane_routing: "PRIVATE_IP", # required, accepts PRIVATE_IP, PUBLIC_IP
509
+ # default_large_staging_disk_type: "GP2", # required, accepts GP2, ST1
510
+ # ebs_encryption: "NONE", # required, accepts NONE, DEFAULT, CUSTOM
511
+ # ebs_encryption_key_arn: "ARN",
512
+ # replication_server_instance_type: "EC2InstanceType", # required
513
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"], # required
514
+ # staging_area_subnet_id: "SubnetID", # required
515
+ # staging_area_tags: { # required
516
+ # "TagKey" => "TagValue",
517
+ # },
518
+ # tags: {
519
+ # "TagKey" => "TagValue",
520
+ # },
521
+ # use_dedicated_replication_server: false, # required
522
+ # })
523
+ #
524
+ # @example Response structure
525
+ #
526
+ # resp.arn #=> String
527
+ # resp.associate_default_security_group #=> Boolean
528
+ # resp.bandwidth_throttling #=> Integer
529
+ # resp.create_public_ip #=> Boolean
530
+ # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
531
+ # resp.default_large_staging_disk_type #=> String, one of "GP2", "ST1"
532
+ # resp.ebs_encryption #=> String, one of "NONE", "DEFAULT", "CUSTOM"
533
+ # resp.ebs_encryption_key_arn #=> String
534
+ # resp.replication_configuration_template_id #=> String
535
+ # resp.replication_server_instance_type #=> String
536
+ # resp.replication_servers_security_groups_i_ds #=> Array
537
+ # resp.replication_servers_security_groups_i_ds[0] #=> String
538
+ # resp.staging_area_subnet_id #=> String
539
+ # resp.staging_area_tags #=> Hash
540
+ # resp.staging_area_tags["TagKey"] #=> String
541
+ # resp.tags #=> Hash
542
+ # resp.tags["TagKey"] #=> String
543
+ # resp.use_dedicated_replication_server #=> Boolean
544
+ #
545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateReplicationConfigurationTemplate AWS API Documentation
546
+ #
547
+ # @overload create_replication_configuration_template(params = {})
548
+ # @param [Hash] params ({})
549
+ def create_replication_configuration_template(params = {}, options = {})
550
+ req = build_request(:create_replication_configuration_template, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Deletes a single Job by ID.
555
+ #
556
+ # @option params [required, String] :job_id
557
+ # Request to delete Job from service by Job ID.
558
+ #
559
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
560
+ #
561
+ # @example Request syntax with placeholder values
562
+ #
563
+ # resp = client.delete_job({
564
+ # job_id: "JobID", # required
565
+ # })
566
+ #
567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteJob AWS API Documentation
568
+ #
569
+ # @overload delete_job(params = {})
570
+ # @param [Hash] params ({})
571
+ def delete_job(params = {}, options = {})
572
+ req = build_request(:delete_job, params)
573
+ req.send_request(options)
574
+ end
575
+
576
+ # Deletes a single Replication Configuration Template by ID
577
+ #
578
+ # @option params [required, String] :replication_configuration_template_id
579
+ # Request to delete Replication Configuration Template from service by
580
+ # Replication Configuration Template ID.
581
+ #
582
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
583
+ #
584
+ # @example Request syntax with placeholder values
585
+ #
586
+ # resp = client.delete_replication_configuration_template({
587
+ # replication_configuration_template_id: "ReplicationConfigurationTemplateID", # required
588
+ # })
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteReplicationConfigurationTemplate AWS API Documentation
591
+ #
592
+ # @overload delete_replication_configuration_template(params = {})
593
+ # @param [Hash] params ({})
594
+ def delete_replication_configuration_template(params = {}, options = {})
595
+ req = build_request(:delete_replication_configuration_template, params)
596
+ req.send_request(options)
597
+ end
598
+
599
+ # Deletes a single source server by ID.
600
+ #
601
+ # @option params [required, String] :source_server_id
602
+ # Request to delete Source Server from service by Server ID.
603
+ #
604
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
605
+ #
606
+ # @example Request syntax with placeholder values
607
+ #
608
+ # resp = client.delete_source_server({
609
+ # source_server_id: "SourceServerID", # required
610
+ # })
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteSourceServer AWS API Documentation
613
+ #
614
+ # @overload delete_source_server(params = {})
615
+ # @param [Hash] params ({})
616
+ def delete_source_server(params = {}, options = {})
617
+ req = build_request(:delete_source_server, params)
618
+ req.send_request(options)
619
+ end
620
+
621
+ # Retrieves detailed Job log with paging.
622
+ #
623
+ # @option params [required, String] :job_id
624
+ # Request to describe Job log job ID.
625
+ #
626
+ # @option params [Integer] :max_results
627
+ # Request to describe Job log item maximum results.
628
+ #
629
+ # @option params [String] :next_token
630
+ # Request to describe Job log next token.
631
+ #
632
+ # @return [Types::DescribeJobLogItemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
633
+ #
634
+ # * {Types::DescribeJobLogItemsResponse#items #items} => Array&lt;Types::JobLog&gt;
635
+ # * {Types::DescribeJobLogItemsResponse#next_token #next_token} => String
636
+ #
637
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
638
+ #
639
+ # @example Request syntax with placeholder values
640
+ #
641
+ # resp = client.describe_job_log_items({
642
+ # job_id: "JobID", # required
643
+ # max_results: 1,
644
+ # next_token: "PaginationToken",
645
+ # })
646
+ #
647
+ # @example Response structure
648
+ #
649
+ # resp.items #=> Array
650
+ # resp.items[0].event #=> String, one of "JOB_START", "SERVER_SKIPPED", "CLEANUP_START", "CLEANUP_END", "CLEANUP_FAIL", "SNAPSHOT_START", "SNAPSHOT_END", "SNAPSHOT_FAIL", "USING_PREVIOUS_SNAPSHOT", "CONVERSION_START", "CONVERSION_END", "CONVERSION_FAIL", "LAUNCH_START", "LAUNCH_FAILED", "JOB_CANCEL", "JOB_END"
651
+ # resp.items[0].event_data.conversion_server_id #=> String
652
+ # resp.items[0].event_data.raw_error #=> String
653
+ # resp.items[0].event_data.source_server_id #=> String
654
+ # resp.items[0].event_data.target_instance_id #=> String
655
+ # resp.items[0].log_date_time #=> String
656
+ # resp.next_token #=> String
657
+ #
658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobLogItems AWS API Documentation
659
+ #
660
+ # @overload describe_job_log_items(params = {})
661
+ # @param [Hash] params ({})
662
+ def describe_job_log_items(params = {}, options = {})
663
+ req = build_request(:describe_job_log_items, params)
664
+ req.send_request(options)
665
+ end
666
+
667
+ # Returns a list of Jobs. Use the JobsID and fromDate and toData filters
668
+ # to limit which jobs are returned. The response is sorted by
669
+ # creationDataTime - latest date first. Jobs are normaly created by the
670
+ # StartTest, StartCutover, and TerminateTargetInstances APIs. Jobs are
671
+ # also created by DiagnosticLaunch and TerminateDiagnosticInstances,
672
+ # which are APIs available only to *Support* and only used in response
673
+ # to relevant support tickets.
674
+ #
675
+ # @option params [required, Types::DescribeJobsRequestFilters] :filters
676
+ # Request to describe Job log filters.
677
+ #
678
+ # @option params [Integer] :max_results
679
+ # Request to describe Job log by max results.
680
+ #
681
+ # @option params [String] :next_token
682
+ # Request to describe Job logby next token.
683
+ #
684
+ # @return [Types::DescribeJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
685
+ #
686
+ # * {Types::DescribeJobsResponse#items #items} => Array&lt;Types::Job&gt;
687
+ # * {Types::DescribeJobsResponse#next_token #next_token} => String
688
+ #
689
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
690
+ #
691
+ # @example Request syntax with placeholder values
692
+ #
693
+ # resp = client.describe_jobs({
694
+ # filters: { # required
695
+ # from_date: "ISO8601DatetimeString",
696
+ # job_i_ds: ["JobID"],
697
+ # to_date: "ISO8601DatetimeString",
698
+ # },
699
+ # max_results: 1,
700
+ # next_token: "PaginationToken",
701
+ # })
702
+ #
703
+ # @example Response structure
704
+ #
705
+ # resp.items #=> Array
706
+ # resp.items[0].arn #=> String
707
+ # resp.items[0].creation_date_time #=> String
708
+ # resp.items[0].end_date_time #=> String
709
+ # resp.items[0].initiated_by #=> String, one of "START_TEST", "START_CUTOVER", "DIAGNOSTIC", "TERMINATE"
710
+ # resp.items[0].job_id #=> String
711
+ # resp.items[0].participating_servers #=> Array
712
+ # resp.items[0].participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
713
+ # resp.items[0].participating_servers[0].source_server_id #=> String
714
+ # resp.items[0].status #=> String, one of "PENDING", "STARTED", "COMPLETED"
715
+ # resp.items[0].tags #=> Hash
716
+ # resp.items[0].tags["TagKey"] #=> String
717
+ # resp.items[0].type #=> String, one of "LAUNCH", "TERMINATE"
718
+ # resp.next_token #=> String
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobs AWS API Documentation
721
+ #
722
+ # @overload describe_jobs(params = {})
723
+ # @param [Hash] params ({})
724
+ def describe_jobs(params = {}, options = {})
725
+ req = build_request(:describe_jobs, params)
726
+ req.send_request(options)
727
+ end
728
+
729
+ # Lists all ReplicationConfigurationTemplates, filtered by Source Server
730
+ # IDs.
731
+ #
732
+ # @option params [Integer] :max_results
733
+ # Request to describe Replication Configuration template by max results.
734
+ #
735
+ # @option params [String] :next_token
736
+ # Request to describe Replication Configuration template by next token.
737
+ #
738
+ # @option params [required, Array<String>] :replication_configuration_template_i_ds
739
+ # Request to describe Replication Configuration template by template
740
+ # IDs.
741
+ #
742
+ # @return [Types::DescribeReplicationConfigurationTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
743
+ #
744
+ # * {Types::DescribeReplicationConfigurationTemplatesResponse#items #items} => Array&lt;Types::ReplicationConfigurationTemplate&gt;
745
+ # * {Types::DescribeReplicationConfigurationTemplatesResponse#next_token #next_token} => String
746
+ #
747
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
748
+ #
749
+ # @example Request syntax with placeholder values
750
+ #
751
+ # resp = client.describe_replication_configuration_templates({
752
+ # max_results: 1,
753
+ # next_token: "PaginationToken",
754
+ # replication_configuration_template_i_ds: ["ReplicationConfigurationTemplateID"], # required
755
+ # })
756
+ #
757
+ # @example Response structure
758
+ #
759
+ # resp.items #=> Array
760
+ # resp.items[0].arn #=> String
761
+ # resp.items[0].associate_default_security_group #=> Boolean
762
+ # resp.items[0].bandwidth_throttling #=> Integer
763
+ # resp.items[0].create_public_ip #=> Boolean
764
+ # resp.items[0].data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
765
+ # resp.items[0].default_large_staging_disk_type #=> String, one of "GP2", "ST1"
766
+ # resp.items[0].ebs_encryption #=> String, one of "NONE", "DEFAULT", "CUSTOM"
767
+ # resp.items[0].ebs_encryption_key_arn #=> String
768
+ # resp.items[0].replication_configuration_template_id #=> String
769
+ # resp.items[0].replication_server_instance_type #=> String
770
+ # resp.items[0].replication_servers_security_groups_i_ds #=> Array
771
+ # resp.items[0].replication_servers_security_groups_i_ds[0] #=> String
772
+ # resp.items[0].staging_area_subnet_id #=> String
773
+ # resp.items[0].staging_area_tags #=> Hash
774
+ # resp.items[0].staging_area_tags["TagKey"] #=> String
775
+ # resp.items[0].tags #=> Hash
776
+ # resp.items[0].tags["TagKey"] #=> String
777
+ # resp.items[0].use_dedicated_replication_server #=> Boolean
778
+ # resp.next_token #=> String
779
+ #
780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeReplicationConfigurationTemplates AWS API Documentation
781
+ #
782
+ # @overload describe_replication_configuration_templates(params = {})
783
+ # @param [Hash] params ({})
784
+ def describe_replication_configuration_templates(params = {}, options = {})
785
+ req = build_request(:describe_replication_configuration_templates, params)
786
+ req.send_request(options)
787
+ end
788
+
789
+ # Retrieves all SourceServers or multiple SourceServers by ID.
790
+ #
791
+ # @option params [required, Types::DescribeSourceServersRequestFilters] :filters
792
+ # Request to filter Source Servers list.
793
+ #
794
+ # @option params [Integer] :max_results
795
+ # Request to filter Source Servers list by maximum results.
796
+ #
797
+ # @option params [String] :next_token
798
+ # Request to filter Source Servers list by next token.
799
+ #
800
+ # @return [Types::DescribeSourceServersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
+ #
802
+ # * {Types::DescribeSourceServersResponse#items #items} => Array&lt;Types::SourceServer&gt;
803
+ # * {Types::DescribeSourceServersResponse#next_token #next_token} => String
804
+ #
805
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
806
+ #
807
+ # @example Request syntax with placeholder values
808
+ #
809
+ # resp = client.describe_source_servers({
810
+ # filters: { # required
811
+ # is_archived: false,
812
+ # source_server_i_ds: ["SourceServerID"],
813
+ # },
814
+ # max_results: 1,
815
+ # next_token: "PaginationToken",
816
+ # })
817
+ #
818
+ # @example Response structure
819
+ #
820
+ # resp.items #=> Array
821
+ # resp.items[0].arn #=> String
822
+ # resp.items[0].data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
823
+ # resp.items[0].data_replication_info.data_replication_error.raw_error #=> String
824
+ # resp.items[0].data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
825
+ # resp.items[0].data_replication_info.data_replication_initiation.start_date_time #=> String
826
+ # resp.items[0].data_replication_info.data_replication_initiation.steps #=> Array
827
+ # resp.items[0].data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
828
+ # resp.items[0].data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
829
+ # resp.items[0].data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
830
+ # resp.items[0].data_replication_info.eta_date_time #=> String
831
+ # resp.items[0].data_replication_info.lag_duration #=> String
832
+ # resp.items[0].data_replication_info.replicated_disks #=> Array
833
+ # resp.items[0].data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
834
+ # resp.items[0].data_replication_info.replicated_disks[0].device_name #=> String
835
+ # resp.items[0].data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
836
+ # resp.items[0].data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
837
+ # resp.items[0].data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
838
+ # resp.items[0].is_archived #=> Boolean
839
+ # resp.items[0].launched_instance.ec2_instance_id #=> String
840
+ # resp.items[0].launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
841
+ # resp.items[0].launched_instance.job_id #=> String
842
+ # resp.items[0].life_cycle.added_to_service_date_time #=> String
843
+ # resp.items[0].life_cycle.elapsed_replication_duration #=> String
844
+ # resp.items[0].life_cycle.first_byte_date_time #=> String
845
+ # resp.items[0].life_cycle.last_cutover.finalized.api_call_date_time #=> String
846
+ # resp.items[0].life_cycle.last_cutover.initiated.api_call_date_time #=> String
847
+ # resp.items[0].life_cycle.last_cutover.initiated.job_id #=> String
848
+ # resp.items[0].life_cycle.last_cutover.reverted.api_call_date_time #=> String
849
+ # resp.items[0].life_cycle.last_seen_by_service_date_time #=> String
850
+ # resp.items[0].life_cycle.last_test.finalized.api_call_date_time #=> String
851
+ # resp.items[0].life_cycle.last_test.initiated.api_call_date_time #=> String
852
+ # resp.items[0].life_cycle.last_test.initiated.job_id #=> String
853
+ # resp.items[0].life_cycle.last_test.reverted.api_call_date_time #=> String
854
+ # resp.items[0].life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
855
+ # resp.items[0].source_properties.cpus #=> Array
856
+ # resp.items[0].source_properties.cpus[0].cores #=> Integer
857
+ # resp.items[0].source_properties.cpus[0].model_name #=> String
858
+ # resp.items[0].source_properties.disks #=> Array
859
+ # resp.items[0].source_properties.disks[0].bytes #=> Integer
860
+ # resp.items[0].source_properties.disks[0].device_name #=> String
861
+ # resp.items[0].source_properties.identification_hints.aws_instance_id #=> String
862
+ # resp.items[0].source_properties.identification_hints.fqdn #=> String
863
+ # resp.items[0].source_properties.identification_hints.hostname #=> String
864
+ # resp.items[0].source_properties.identification_hints.vm_ware_uuid #=> String
865
+ # resp.items[0].source_properties.last_updated_date_time #=> String
866
+ # resp.items[0].source_properties.network_interfaces #=> Array
867
+ # resp.items[0].source_properties.network_interfaces[0].ips #=> Array
868
+ # resp.items[0].source_properties.network_interfaces[0].ips[0] #=> String
869
+ # resp.items[0].source_properties.network_interfaces[0].is_primary #=> Boolean
870
+ # resp.items[0].source_properties.network_interfaces[0].mac_address #=> String
871
+ # resp.items[0].source_properties.os.full_string #=> String
872
+ # resp.items[0].source_properties.ram_bytes #=> Integer
873
+ # resp.items[0].source_properties.recommended_instance_type #=> String
874
+ # resp.items[0].source_server_id #=> String
875
+ # resp.items[0].tags #=> Hash
876
+ # resp.items[0].tags["TagKey"] #=> String
877
+ # resp.next_token #=> String
878
+ #
879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeSourceServers AWS API Documentation
880
+ #
881
+ # @overload describe_source_servers(params = {})
882
+ # @param [Hash] params ({})
883
+ def describe_source_servers(params = {}, options = {})
884
+ req = build_request(:describe_source_servers, params)
885
+ req.send_request(options)
886
+ end
887
+
888
+ # Disconnects specific Source Servers from Application Migration
889
+ # Service. Data replication is stopped immediately. All AWS resources
890
+ # created by Application Migration Service for enabling the replication
891
+ # of these source servers will be terminated / deleted within 90
892
+ # minutes. Launched Test or Cutover instances will NOT be terminated. If
893
+ # the agent on the source server has not been prevented from
894
+ # communciating with the Application Migration Service service, then it
895
+ # will receive a command to uninstall itself (within approximately 10
896
+ # minutes). The following properties of the SourceServer will be changed
897
+ # immediately: dataReplicationInfo.dataReplicationState will be set to
898
+ # DISCONNECTED; The totalStorageBytes property for each of
899
+ # dataReplicationInfo.replicatedDisks will be set to zero;
900
+ # dataReplicationInfo.lagDuration and
901
+ # dataReplicationInfo.lagDurationwill be nullified.
902
+ #
903
+ # @option params [required, String] :source_server_id
904
+ # Request to disconnect Source Server from service by Server ID.
905
+ #
906
+ # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
907
+ #
908
+ # * {Types::SourceServer#arn #arn} => String
909
+ # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
910
+ # * {Types::SourceServer#is_archived #is_archived} => Boolean
911
+ # * {Types::SourceServer#launched_instance #launched_instance} => Types::LaunchedInstance
912
+ # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
913
+ # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
914
+ # * {Types::SourceServer#source_server_id #source_server_id} => String
915
+ # * {Types::SourceServer#tags #tags} => Hash&lt;String,String&gt;
916
+ #
917
+ # @example Request syntax with placeholder values
918
+ #
919
+ # resp = client.disconnect_from_service({
920
+ # source_server_id: "SourceServerID", # required
921
+ # })
922
+ #
923
+ # @example Response structure
924
+ #
925
+ # resp.arn #=> String
926
+ # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
927
+ # resp.data_replication_info.data_replication_error.raw_error #=> String
928
+ # resp.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
929
+ # resp.data_replication_info.data_replication_initiation.start_date_time #=> String
930
+ # resp.data_replication_info.data_replication_initiation.steps #=> Array
931
+ # resp.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
932
+ # resp.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
933
+ # resp.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
934
+ # resp.data_replication_info.eta_date_time #=> String
935
+ # resp.data_replication_info.lag_duration #=> String
936
+ # resp.data_replication_info.replicated_disks #=> Array
937
+ # resp.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
938
+ # resp.data_replication_info.replicated_disks[0].device_name #=> String
939
+ # resp.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
940
+ # resp.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
941
+ # resp.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
942
+ # resp.is_archived #=> Boolean
943
+ # resp.launched_instance.ec2_instance_id #=> String
944
+ # resp.launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
945
+ # resp.launched_instance.job_id #=> String
946
+ # resp.life_cycle.added_to_service_date_time #=> String
947
+ # resp.life_cycle.elapsed_replication_duration #=> String
948
+ # resp.life_cycle.first_byte_date_time #=> String
949
+ # resp.life_cycle.last_cutover.finalized.api_call_date_time #=> String
950
+ # resp.life_cycle.last_cutover.initiated.api_call_date_time #=> String
951
+ # resp.life_cycle.last_cutover.initiated.job_id #=> String
952
+ # resp.life_cycle.last_cutover.reverted.api_call_date_time #=> String
953
+ # resp.life_cycle.last_seen_by_service_date_time #=> String
954
+ # resp.life_cycle.last_test.finalized.api_call_date_time #=> String
955
+ # resp.life_cycle.last_test.initiated.api_call_date_time #=> String
956
+ # resp.life_cycle.last_test.initiated.job_id #=> String
957
+ # resp.life_cycle.last_test.reverted.api_call_date_time #=> String
958
+ # resp.life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
959
+ # resp.source_properties.cpus #=> Array
960
+ # resp.source_properties.cpus[0].cores #=> Integer
961
+ # resp.source_properties.cpus[0].model_name #=> String
962
+ # resp.source_properties.disks #=> Array
963
+ # resp.source_properties.disks[0].bytes #=> Integer
964
+ # resp.source_properties.disks[0].device_name #=> String
965
+ # resp.source_properties.identification_hints.aws_instance_id #=> String
966
+ # resp.source_properties.identification_hints.fqdn #=> String
967
+ # resp.source_properties.identification_hints.hostname #=> String
968
+ # resp.source_properties.identification_hints.vm_ware_uuid #=> String
969
+ # resp.source_properties.last_updated_date_time #=> String
970
+ # resp.source_properties.network_interfaces #=> Array
971
+ # resp.source_properties.network_interfaces[0].ips #=> Array
972
+ # resp.source_properties.network_interfaces[0].ips[0] #=> String
973
+ # resp.source_properties.network_interfaces[0].is_primary #=> Boolean
974
+ # resp.source_properties.network_interfaces[0].mac_address #=> String
975
+ # resp.source_properties.os.full_string #=> String
976
+ # resp.source_properties.ram_bytes #=> Integer
977
+ # resp.source_properties.recommended_instance_type #=> String
978
+ # resp.source_server_id #=> String
979
+ # resp.tags #=> Hash
980
+ # resp.tags["TagKey"] #=> String
981
+ #
982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DisconnectFromService AWS API Documentation
983
+ #
984
+ # @overload disconnect_from_service(params = {})
985
+ # @param [Hash] params ({})
986
+ def disconnect_from_service(params = {}, options = {})
987
+ req = build_request(:disconnect_from_service, params)
988
+ req.send_request(options)
989
+ end
990
+
991
+ # Finalizes the cutover immediately for specific Source Servers. All AWS
992
+ # resources created by Application Migration Service for enabling the
993
+ # replication of these source servers will be terminated / deleted
994
+ # within 90 minutes. Launched Test or Cutover instances will NOT be
995
+ # terminated. The AWS Replication Agent will receive a command to
996
+ # uninstall itself (within 10 minutes). The following properties of the
997
+ # SourceServer will be changed immediately:
998
+ # dataReplicationInfo.dataReplicationState will be to DISCONNECTED; The
999
+ # SourceServer.lifeCycle.state will be changed to CUTOVER; The
1000
+ # totalStorageBytes property fo each of
1001
+ # dataReplicationInfo.replicatedDisks will be set to zero;
1002
+ # dataReplicationInfo.lagDuration and
1003
+ # dataReplicationInfo.lagDurationwill be nullified.
1004
+ #
1005
+ # @option params [required, String] :source_server_id
1006
+ # Request to finalize Cutover by Soure Server ID.
1007
+ #
1008
+ # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1009
+ #
1010
+ # * {Types::SourceServer#arn #arn} => String
1011
+ # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1012
+ # * {Types::SourceServer#is_archived #is_archived} => Boolean
1013
+ # * {Types::SourceServer#launched_instance #launched_instance} => Types::LaunchedInstance
1014
+ # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1015
+ # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1016
+ # * {Types::SourceServer#source_server_id #source_server_id} => String
1017
+ # * {Types::SourceServer#tags #tags} => Hash&lt;String,String&gt;
1018
+ #
1019
+ # @example Request syntax with placeholder values
1020
+ #
1021
+ # resp = client.finalize_cutover({
1022
+ # source_server_id: "SourceServerID", # required
1023
+ # })
1024
+ #
1025
+ # @example Response structure
1026
+ #
1027
+ # resp.arn #=> String
1028
+ # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
1029
+ # resp.data_replication_info.data_replication_error.raw_error #=> String
1030
+ # resp.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
1031
+ # resp.data_replication_info.data_replication_initiation.start_date_time #=> String
1032
+ # resp.data_replication_info.data_replication_initiation.steps #=> Array
1033
+ # resp.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
1034
+ # resp.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
1035
+ # resp.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
1036
+ # resp.data_replication_info.eta_date_time #=> String
1037
+ # resp.data_replication_info.lag_duration #=> String
1038
+ # resp.data_replication_info.replicated_disks #=> Array
1039
+ # resp.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
1040
+ # resp.data_replication_info.replicated_disks[0].device_name #=> String
1041
+ # resp.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
1042
+ # resp.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
1043
+ # resp.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
1044
+ # resp.is_archived #=> Boolean
1045
+ # resp.launched_instance.ec2_instance_id #=> String
1046
+ # resp.launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
1047
+ # resp.launched_instance.job_id #=> String
1048
+ # resp.life_cycle.added_to_service_date_time #=> String
1049
+ # resp.life_cycle.elapsed_replication_duration #=> String
1050
+ # resp.life_cycle.first_byte_date_time #=> String
1051
+ # resp.life_cycle.last_cutover.finalized.api_call_date_time #=> String
1052
+ # resp.life_cycle.last_cutover.initiated.api_call_date_time #=> String
1053
+ # resp.life_cycle.last_cutover.initiated.job_id #=> String
1054
+ # resp.life_cycle.last_cutover.reverted.api_call_date_time #=> String
1055
+ # resp.life_cycle.last_seen_by_service_date_time #=> String
1056
+ # resp.life_cycle.last_test.finalized.api_call_date_time #=> String
1057
+ # resp.life_cycle.last_test.initiated.api_call_date_time #=> String
1058
+ # resp.life_cycle.last_test.initiated.job_id #=> String
1059
+ # resp.life_cycle.last_test.reverted.api_call_date_time #=> String
1060
+ # resp.life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
1061
+ # resp.source_properties.cpus #=> Array
1062
+ # resp.source_properties.cpus[0].cores #=> Integer
1063
+ # resp.source_properties.cpus[0].model_name #=> String
1064
+ # resp.source_properties.disks #=> Array
1065
+ # resp.source_properties.disks[0].bytes #=> Integer
1066
+ # resp.source_properties.disks[0].device_name #=> String
1067
+ # resp.source_properties.identification_hints.aws_instance_id #=> String
1068
+ # resp.source_properties.identification_hints.fqdn #=> String
1069
+ # resp.source_properties.identification_hints.hostname #=> String
1070
+ # resp.source_properties.identification_hints.vm_ware_uuid #=> String
1071
+ # resp.source_properties.last_updated_date_time #=> String
1072
+ # resp.source_properties.network_interfaces #=> Array
1073
+ # resp.source_properties.network_interfaces[0].ips #=> Array
1074
+ # resp.source_properties.network_interfaces[0].ips[0] #=> String
1075
+ # resp.source_properties.network_interfaces[0].is_primary #=> Boolean
1076
+ # resp.source_properties.network_interfaces[0].mac_address #=> String
1077
+ # resp.source_properties.os.full_string #=> String
1078
+ # resp.source_properties.ram_bytes #=> Integer
1079
+ # resp.source_properties.recommended_instance_type #=> String
1080
+ # resp.source_server_id #=> String
1081
+ # resp.tags #=> Hash
1082
+ # resp.tags["TagKey"] #=> String
1083
+ #
1084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/FinalizeCutover AWS API Documentation
1085
+ #
1086
+ # @overload finalize_cutover(params = {})
1087
+ # @param [Hash] params ({})
1088
+ def finalize_cutover(params = {}, options = {})
1089
+ req = build_request(:finalize_cutover, params)
1090
+ req.send_request(options)
1091
+ end
1092
+
1093
+ # Lists all LaunchConfigurations available, filtered by Source Server
1094
+ # IDs.
1095
+ #
1096
+ # @option params [required, String] :source_server_id
1097
+ # Request to get Launch Configuration information by Source Server ID.
1098
+ #
1099
+ # @return [Types::LaunchConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1100
+ #
1101
+ # * {Types::LaunchConfiguration#copy_private_ip #copy_private_ip} => Boolean
1102
+ # * {Types::LaunchConfiguration#copy_tags #copy_tags} => Boolean
1103
+ # * {Types::LaunchConfiguration#ec2_launch_template_id #ec2_launch_template_id} => String
1104
+ # * {Types::LaunchConfiguration#launch_disposition #launch_disposition} => String
1105
+ # * {Types::LaunchConfiguration#licensing #licensing} => Types::Licensing
1106
+ # * {Types::LaunchConfiguration#name #name} => String
1107
+ # * {Types::LaunchConfiguration#source_server_id #source_server_id} => String
1108
+ # * {Types::LaunchConfiguration#target_instance_type_right_sizing_method #target_instance_type_right_sizing_method} => String
1109
+ #
1110
+ # @example Request syntax with placeholder values
1111
+ #
1112
+ # resp = client.get_launch_configuration({
1113
+ # source_server_id: "SourceServerID", # required
1114
+ # })
1115
+ #
1116
+ # @example Response structure
1117
+ #
1118
+ # resp.copy_private_ip #=> Boolean
1119
+ # resp.copy_tags #=> Boolean
1120
+ # resp.ec2_launch_template_id #=> String
1121
+ # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
1122
+ # resp.licensing.os_byol #=> Boolean
1123
+ # resp.name #=> String
1124
+ # resp.source_server_id #=> String
1125
+ # resp.target_instance_type_right_sizing_method #=> String, one of "NONE", "BASIC"
1126
+ #
1127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetLaunchConfiguration AWS API Documentation
1128
+ #
1129
+ # @overload get_launch_configuration(params = {})
1130
+ # @param [Hash] params ({})
1131
+ def get_launch_configuration(params = {}, options = {})
1132
+ req = build_request(:get_launch_configuration, params)
1133
+ req.send_request(options)
1134
+ end
1135
+
1136
+ # Lists all ReplicationConfigurations, filtered by Source Server ID.
1137
+ #
1138
+ # @option params [required, String] :source_server_id
1139
+ # Request to get Replication Configuaration by Source Server ID.
1140
+ #
1141
+ # @return [Types::ReplicationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1142
+ #
1143
+ # * {Types::ReplicationConfiguration#associate_default_security_group #associate_default_security_group} => Boolean
1144
+ # * {Types::ReplicationConfiguration#bandwidth_throttling #bandwidth_throttling} => Integer
1145
+ # * {Types::ReplicationConfiguration#create_public_ip #create_public_ip} => Boolean
1146
+ # * {Types::ReplicationConfiguration#data_plane_routing #data_plane_routing} => String
1147
+ # * {Types::ReplicationConfiguration#default_large_staging_disk_type #default_large_staging_disk_type} => String
1148
+ # * {Types::ReplicationConfiguration#ebs_encryption #ebs_encryption} => String
1149
+ # * {Types::ReplicationConfiguration#ebs_encryption_key_arn #ebs_encryption_key_arn} => String
1150
+ # * {Types::ReplicationConfiguration#name #name} => String
1151
+ # * {Types::ReplicationConfiguration#replicated_disks #replicated_disks} => Array&lt;Types::ReplicationConfigurationReplicatedDisk&gt;
1152
+ # * {Types::ReplicationConfiguration#replication_server_instance_type #replication_server_instance_type} => String
1153
+ # * {Types::ReplicationConfiguration#replication_servers_security_groups_i_ds #replication_servers_security_groups_i_ds} => Array&lt;String&gt;
1154
+ # * {Types::ReplicationConfiguration#source_server_id #source_server_id} => String
1155
+ # * {Types::ReplicationConfiguration#staging_area_subnet_id #staging_area_subnet_id} => String
1156
+ # * {Types::ReplicationConfiguration#staging_area_tags #staging_area_tags} => Hash&lt;String,String&gt;
1157
+ # * {Types::ReplicationConfiguration#use_dedicated_replication_server #use_dedicated_replication_server} => Boolean
1158
+ #
1159
+ # @example Request syntax with placeholder values
1160
+ #
1161
+ # resp = client.get_replication_configuration({
1162
+ # source_server_id: "SourceServerID", # required
1163
+ # })
1164
+ #
1165
+ # @example Response structure
1166
+ #
1167
+ # resp.associate_default_security_group #=> Boolean
1168
+ # resp.bandwidth_throttling #=> Integer
1169
+ # resp.create_public_ip #=> Boolean
1170
+ # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1171
+ # resp.default_large_staging_disk_type #=> String, one of "GP2", "ST1"
1172
+ # resp.ebs_encryption #=> String, one of "NONE", "DEFAULT", "CUSTOM"
1173
+ # resp.ebs_encryption_key_arn #=> String
1174
+ # resp.name #=> String
1175
+ # resp.replicated_disks #=> Array
1176
+ # resp.replicated_disks[0].device_name #=> String
1177
+ # resp.replicated_disks[0].iops #=> Integer
1178
+ # resp.replicated_disks[0].is_boot_disk #=> Boolean
1179
+ # resp.replicated_disks[0].staging_disk_type #=> String, one of "AUTO", "GP2", "IO1", "SC1", "ST1", "STANDARD"
1180
+ # resp.replication_server_instance_type #=> String
1181
+ # resp.replication_servers_security_groups_i_ds #=> Array
1182
+ # resp.replication_servers_security_groups_i_ds[0] #=> String
1183
+ # resp.source_server_id #=> String
1184
+ # resp.staging_area_subnet_id #=> String
1185
+ # resp.staging_area_tags #=> Hash
1186
+ # resp.staging_area_tags["TagKey"] #=> String
1187
+ # resp.use_dedicated_replication_server #=> Boolean
1188
+ #
1189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetReplicationConfiguration AWS API Documentation
1190
+ #
1191
+ # @overload get_replication_configuration(params = {})
1192
+ # @param [Hash] params ({})
1193
+ def get_replication_configuration(params = {}, options = {})
1194
+ req = build_request(:get_replication_configuration, params)
1195
+ req.send_request(options)
1196
+ end
1197
+
1198
+ # Initialize Application Migration Service.
1199
+ #
1200
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/InitializeService AWS API Documentation
1203
+ #
1204
+ # @overload initialize_service(params = {})
1205
+ # @param [Hash] params ({})
1206
+ def initialize_service(params = {}, options = {})
1207
+ req = build_request(:initialize_service, params)
1208
+ req.send_request(options)
1209
+ end
1210
+
1211
+ # List all tags for your Application Migration Service resources.
1212
+ #
1213
+ # @option params [required, String] :resource_arn
1214
+ # List tags for resource request by ARN.
1215
+ #
1216
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
+ #
1218
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1219
+ #
1220
+ # @example Request syntax with placeholder values
1221
+ #
1222
+ # resp = client.list_tags_for_resource({
1223
+ # resource_arn: "ARN", # required
1224
+ # })
1225
+ #
1226
+ # @example Response structure
1227
+ #
1228
+ # resp.tags #=> Hash
1229
+ # resp.tags["TagKey"] #=> String
1230
+ #
1231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTagsForResource AWS API Documentation
1232
+ #
1233
+ # @overload list_tags_for_resource(params = {})
1234
+ # @param [Hash] params ({})
1235
+ def list_tags_for_resource(params = {}, options = {})
1236
+ req = build_request(:list_tags_for_resource, params)
1237
+ req.send_request(options)
1238
+ end
1239
+
1240
+ # Archives specific Source Servers by setting the
1241
+ # SourceServer.isArchived property to true for specified SourceServers
1242
+ # by ID. This command only works for SourceServers with a
1243
+ # lifecycle.state which equals DISCONNECTED or CUTOVER.
1244
+ #
1245
+ # @option params [required, String] :source_server_id
1246
+ # Mark as archived by Source Server ID.
1247
+ #
1248
+ # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1249
+ #
1250
+ # * {Types::SourceServer#arn #arn} => String
1251
+ # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1252
+ # * {Types::SourceServer#is_archived #is_archived} => Boolean
1253
+ # * {Types::SourceServer#launched_instance #launched_instance} => Types::LaunchedInstance
1254
+ # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1255
+ # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1256
+ # * {Types::SourceServer#source_server_id #source_server_id} => String
1257
+ # * {Types::SourceServer#tags #tags} => Hash&lt;String,String&gt;
1258
+ #
1259
+ # @example Request syntax with placeholder values
1260
+ #
1261
+ # resp = client.mark_as_archived({
1262
+ # source_server_id: "SourceServerID", # required
1263
+ # })
1264
+ #
1265
+ # @example Response structure
1266
+ #
1267
+ # resp.arn #=> String
1268
+ # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
1269
+ # resp.data_replication_info.data_replication_error.raw_error #=> String
1270
+ # resp.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
1271
+ # resp.data_replication_info.data_replication_initiation.start_date_time #=> String
1272
+ # resp.data_replication_info.data_replication_initiation.steps #=> Array
1273
+ # resp.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
1274
+ # resp.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
1275
+ # resp.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
1276
+ # resp.data_replication_info.eta_date_time #=> String
1277
+ # resp.data_replication_info.lag_duration #=> String
1278
+ # resp.data_replication_info.replicated_disks #=> Array
1279
+ # resp.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
1280
+ # resp.data_replication_info.replicated_disks[0].device_name #=> String
1281
+ # resp.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
1282
+ # resp.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
1283
+ # resp.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
1284
+ # resp.is_archived #=> Boolean
1285
+ # resp.launched_instance.ec2_instance_id #=> String
1286
+ # resp.launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
1287
+ # resp.launched_instance.job_id #=> String
1288
+ # resp.life_cycle.added_to_service_date_time #=> String
1289
+ # resp.life_cycle.elapsed_replication_duration #=> String
1290
+ # resp.life_cycle.first_byte_date_time #=> String
1291
+ # resp.life_cycle.last_cutover.finalized.api_call_date_time #=> String
1292
+ # resp.life_cycle.last_cutover.initiated.api_call_date_time #=> String
1293
+ # resp.life_cycle.last_cutover.initiated.job_id #=> String
1294
+ # resp.life_cycle.last_cutover.reverted.api_call_date_time #=> String
1295
+ # resp.life_cycle.last_seen_by_service_date_time #=> String
1296
+ # resp.life_cycle.last_test.finalized.api_call_date_time #=> String
1297
+ # resp.life_cycle.last_test.initiated.api_call_date_time #=> String
1298
+ # resp.life_cycle.last_test.initiated.job_id #=> String
1299
+ # resp.life_cycle.last_test.reverted.api_call_date_time #=> String
1300
+ # resp.life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
1301
+ # resp.source_properties.cpus #=> Array
1302
+ # resp.source_properties.cpus[0].cores #=> Integer
1303
+ # resp.source_properties.cpus[0].model_name #=> String
1304
+ # resp.source_properties.disks #=> Array
1305
+ # resp.source_properties.disks[0].bytes #=> Integer
1306
+ # resp.source_properties.disks[0].device_name #=> String
1307
+ # resp.source_properties.identification_hints.aws_instance_id #=> String
1308
+ # resp.source_properties.identification_hints.fqdn #=> String
1309
+ # resp.source_properties.identification_hints.hostname #=> String
1310
+ # resp.source_properties.identification_hints.vm_ware_uuid #=> String
1311
+ # resp.source_properties.last_updated_date_time #=> String
1312
+ # resp.source_properties.network_interfaces #=> Array
1313
+ # resp.source_properties.network_interfaces[0].ips #=> Array
1314
+ # resp.source_properties.network_interfaces[0].ips[0] #=> String
1315
+ # resp.source_properties.network_interfaces[0].is_primary #=> Boolean
1316
+ # resp.source_properties.network_interfaces[0].mac_address #=> String
1317
+ # resp.source_properties.os.full_string #=> String
1318
+ # resp.source_properties.ram_bytes #=> Integer
1319
+ # resp.source_properties.recommended_instance_type #=> String
1320
+ # resp.source_server_id #=> String
1321
+ # resp.tags #=> Hash
1322
+ # resp.tags["TagKey"] #=> String
1323
+ #
1324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/MarkAsArchived AWS API Documentation
1325
+ #
1326
+ # @overload mark_as_archived(params = {})
1327
+ # @param [Hash] params ({})
1328
+ def mark_as_archived(params = {}, options = {})
1329
+ req = build_request(:mark_as_archived, params)
1330
+ req.send_request(options)
1331
+ end
1332
+
1333
+ # Causes the data replication initiation sequence to begin immediately
1334
+ # upon next Handshake for specified SourceServer IDs, regardless of when
1335
+ # the previous initiation started. This command will not work if the
1336
+ # SourceServer is not stalled or is in a DISCONNECTED or STOPPED state.
1337
+ #
1338
+ # @option params [required, String] :source_server_id
1339
+ # Retry data replication for Source Server ID.
1340
+ #
1341
+ # @return [Types::SourceServer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1342
+ #
1343
+ # * {Types::SourceServer#arn #arn} => String
1344
+ # * {Types::SourceServer#data_replication_info #data_replication_info} => Types::DataReplicationInfo
1345
+ # * {Types::SourceServer#is_archived #is_archived} => Boolean
1346
+ # * {Types::SourceServer#launched_instance #launched_instance} => Types::LaunchedInstance
1347
+ # * {Types::SourceServer#life_cycle #life_cycle} => Types::LifeCycle
1348
+ # * {Types::SourceServer#source_properties #source_properties} => Types::SourceProperties
1349
+ # * {Types::SourceServer#source_server_id #source_server_id} => String
1350
+ # * {Types::SourceServer#tags #tags} => Hash&lt;String,String&gt;
1351
+ #
1352
+ # @example Request syntax with placeholder values
1353
+ #
1354
+ # resp = client.retry_data_replication({
1355
+ # source_server_id: "SourceServerID", # required
1356
+ # })
1357
+ #
1358
+ # @example Response structure
1359
+ #
1360
+ # resp.arn #=> String
1361
+ # resp.data_replication_info.data_replication_error.error #=> String, one of "AGENT_NOT_SEEN", "SNAPSHOTS_FAILURE", "NOT_CONVERGING", "UNSTABLE_NETWORK", "FAILED_TO_CREATE_SECURITY_GROUP", "FAILED_TO_LAUNCH_REPLICATION_SERVER", "FAILED_TO_BOOT_REPLICATION_SERVER", "FAILED_TO_AUTHENTICATE_WITH_SERVICE", "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", "FAILED_TO_CREATE_STAGING_DISKS", "FAILED_TO_ATTACH_STAGING_DISKS", "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", "FAILED_TO_START_DATA_TRANSFER"
1362
+ # resp.data_replication_info.data_replication_error.raw_error #=> String
1363
+ # resp.data_replication_info.data_replication_initiation.next_attempt_date_time #=> String
1364
+ # resp.data_replication_info.data_replication_initiation.start_date_time #=> String
1365
+ # resp.data_replication_info.data_replication_initiation.steps #=> Array
1366
+ # resp.data_replication_info.data_replication_initiation.steps[0].name #=> String, one of "WAIT", "CREATE_SECURITY_GROUP", "LAUNCH_REPLICATION_SERVER", "BOOT_REPLICATION_SERVER", "AUTHENTICATE_WITH_SERVICE", "DOWNLOAD_REPLICATION_SOFTWARE", "CREATE_STAGING_DISKS", "ATTACH_STAGING_DISKS", "PAIR_REPLICATION_SERVER_WITH_AGENT", "CONNECT_AGENT_TO_REPLICATION_SERVER", "START_DATA_TRANSFER"
1367
+ # resp.data_replication_info.data_replication_initiation.steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "SKIPPED"
1368
+ # resp.data_replication_info.data_replication_state #=> String, one of "STOPPED", "INITIATING", "INITIAL_SYNC", "BACKLOG", "CREATING_SNAPSHOT", "CONTINUOUS", "PAUSED", "RESCAN", "STALLED", "DISCONNECTED"
1369
+ # resp.data_replication_info.eta_date_time #=> String
1370
+ # resp.data_replication_info.lag_duration #=> String
1371
+ # resp.data_replication_info.replicated_disks #=> Array
1372
+ # resp.data_replication_info.replicated_disks[0].backlogged_storage_bytes #=> Integer
1373
+ # resp.data_replication_info.replicated_disks[0].device_name #=> String
1374
+ # resp.data_replication_info.replicated_disks[0].replicated_storage_bytes #=> Integer
1375
+ # resp.data_replication_info.replicated_disks[0].rescanned_storage_bytes #=> Integer
1376
+ # resp.data_replication_info.replicated_disks[0].total_storage_bytes #=> Integer
1377
+ # resp.is_archived #=> Boolean
1378
+ # resp.launched_instance.ec2_instance_id #=> String
1379
+ # resp.launched_instance.first_boot #=> String, one of "WAITING", "SUCCEEDED", "UNKNOWN", "STOPPED"
1380
+ # resp.launched_instance.job_id #=> String
1381
+ # resp.life_cycle.added_to_service_date_time #=> String
1382
+ # resp.life_cycle.elapsed_replication_duration #=> String
1383
+ # resp.life_cycle.first_byte_date_time #=> String
1384
+ # resp.life_cycle.last_cutover.finalized.api_call_date_time #=> String
1385
+ # resp.life_cycle.last_cutover.initiated.api_call_date_time #=> String
1386
+ # resp.life_cycle.last_cutover.initiated.job_id #=> String
1387
+ # resp.life_cycle.last_cutover.reverted.api_call_date_time #=> String
1388
+ # resp.life_cycle.last_seen_by_service_date_time #=> String
1389
+ # resp.life_cycle.last_test.finalized.api_call_date_time #=> String
1390
+ # resp.life_cycle.last_test.initiated.api_call_date_time #=> String
1391
+ # resp.life_cycle.last_test.initiated.job_id #=> String
1392
+ # resp.life_cycle.last_test.reverted.api_call_date_time #=> String
1393
+ # resp.life_cycle.state #=> String, one of "STOPPED", "NOT_READY", "READY_FOR_TEST", "TESTING", "READY_FOR_CUTOVER", "CUTTING_OVER", "CUTOVER", "DISCONNECTED"
1394
+ # resp.source_properties.cpus #=> Array
1395
+ # resp.source_properties.cpus[0].cores #=> Integer
1396
+ # resp.source_properties.cpus[0].model_name #=> String
1397
+ # resp.source_properties.disks #=> Array
1398
+ # resp.source_properties.disks[0].bytes #=> Integer
1399
+ # resp.source_properties.disks[0].device_name #=> String
1400
+ # resp.source_properties.identification_hints.aws_instance_id #=> String
1401
+ # resp.source_properties.identification_hints.fqdn #=> String
1402
+ # resp.source_properties.identification_hints.hostname #=> String
1403
+ # resp.source_properties.identification_hints.vm_ware_uuid #=> String
1404
+ # resp.source_properties.last_updated_date_time #=> String
1405
+ # resp.source_properties.network_interfaces #=> Array
1406
+ # resp.source_properties.network_interfaces[0].ips #=> Array
1407
+ # resp.source_properties.network_interfaces[0].ips[0] #=> String
1408
+ # resp.source_properties.network_interfaces[0].is_primary #=> Boolean
1409
+ # resp.source_properties.network_interfaces[0].mac_address #=> String
1410
+ # resp.source_properties.os.full_string #=> String
1411
+ # resp.source_properties.ram_bytes #=> Integer
1412
+ # resp.source_properties.recommended_instance_type #=> String
1413
+ # resp.source_server_id #=> String
1414
+ # resp.tags #=> Hash
1415
+ # resp.tags["TagKey"] #=> String
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/RetryDataReplication AWS API Documentation
1418
+ #
1419
+ # @overload retry_data_replication(params = {})
1420
+ # @param [Hash] params ({})
1421
+ def retry_data_replication(params = {}, options = {})
1422
+ req = build_request(:retry_data_replication, params)
1423
+ req.send_request(options)
1424
+ end
1425
+
1426
+ # Launches a Cutover Instance for specific Source Servers. This command
1427
+ # starts a LAUNCH job whose initiatedBy property is StartCutover and
1428
+ # changes the SourceServer.lifeCycle.state property to CUTTING\_OVER.
1429
+ #
1430
+ # @option params [required, Array<String>] :source_server_i_ds
1431
+ # Start Cutover by Source Server IDs.
1432
+ #
1433
+ # @option params [Hash<String,String>] :tags
1434
+ # Start Cutover by Tags.
1435
+ #
1436
+ # @return [Types::StartCutoverResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1437
+ #
1438
+ # * {Types::StartCutoverResponse#job #job} => Types::Job
1439
+ #
1440
+ # @example Request syntax with placeholder values
1441
+ #
1442
+ # resp = client.start_cutover({
1443
+ # source_server_i_ds: ["SourceServerID"], # required
1444
+ # tags: {
1445
+ # "TagKey" => "TagValue",
1446
+ # },
1447
+ # })
1448
+ #
1449
+ # @example Response structure
1450
+ #
1451
+ # resp.job.arn #=> String
1452
+ # resp.job.creation_date_time #=> String
1453
+ # resp.job.end_date_time #=> String
1454
+ # resp.job.initiated_by #=> String, one of "START_TEST", "START_CUTOVER", "DIAGNOSTIC", "TERMINATE"
1455
+ # resp.job.job_id #=> String
1456
+ # resp.job.participating_servers #=> Array
1457
+ # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1458
+ # resp.job.participating_servers[0].source_server_id #=> String
1459
+ # resp.job.status #=> String, one of "PENDING", "STARTED", "COMPLETED"
1460
+ # resp.job.tags #=> Hash
1461
+ # resp.job.tags["TagKey"] #=> String
1462
+ # resp.job.type #=> String, one of "LAUNCH", "TERMINATE"
1463
+ #
1464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartCutover AWS API Documentation
1465
+ #
1466
+ # @overload start_cutover(params = {})
1467
+ # @param [Hash] params ({})
1468
+ def start_cutover(params = {}, options = {})
1469
+ req = build_request(:start_cutover, params)
1470
+ req.send_request(options)
1471
+ end
1472
+
1473
+ # Lauches a Test Instance for specific Source Servers. This command
1474
+ # starts a LAUNCH job whose initiatedBy property is StartTest and
1475
+ # changes the SourceServer.lifeCycle.state property to TESTING.
1476
+ #
1477
+ # @option params [required, Array<String>] :source_server_i_ds
1478
+ # Start Test for Source Server IDs.
1479
+ #
1480
+ # @option params [Hash<String,String>] :tags
1481
+ # Start Test by Tags.
1482
+ #
1483
+ # @return [Types::StartTestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1484
+ #
1485
+ # * {Types::StartTestResponse#job #job} => Types::Job
1486
+ #
1487
+ # @example Request syntax with placeholder values
1488
+ #
1489
+ # resp = client.start_test({
1490
+ # source_server_i_ds: ["SourceServerID"], # required
1491
+ # tags: {
1492
+ # "TagKey" => "TagValue",
1493
+ # },
1494
+ # })
1495
+ #
1496
+ # @example Response structure
1497
+ #
1498
+ # resp.job.arn #=> String
1499
+ # resp.job.creation_date_time #=> String
1500
+ # resp.job.end_date_time #=> String
1501
+ # resp.job.initiated_by #=> String, one of "START_TEST", "START_CUTOVER", "DIAGNOSTIC", "TERMINATE"
1502
+ # resp.job.job_id #=> String
1503
+ # resp.job.participating_servers #=> Array
1504
+ # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1505
+ # resp.job.participating_servers[0].source_server_id #=> String
1506
+ # resp.job.status #=> String, one of "PENDING", "STARTED", "COMPLETED"
1507
+ # resp.job.tags #=> Hash
1508
+ # resp.job.tags["TagKey"] #=> String
1509
+ # resp.job.type #=> String, one of "LAUNCH", "TERMINATE"
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartTest AWS API Documentation
1512
+ #
1513
+ # @overload start_test(params = {})
1514
+ # @param [Hash] params ({})
1515
+ def start_test(params = {}, options = {})
1516
+ req = build_request(:start_test, params)
1517
+ req.send_request(options)
1518
+ end
1519
+
1520
+ # Adds or overwrites only the specified tags for the specified
1521
+ # Application Migration Service resource or resources. When you specify
1522
+ # an existing tag key, the value is overwritten with the new value. Each
1523
+ # resource can have a maximum of 50 tags. Each tag consists of a key and
1524
+ # optional value.
1525
+ #
1526
+ # @option params [required, String] :resource_arn
1527
+ # Tag resource by ARN.
1528
+ #
1529
+ # @option params [required, Hash<String,String>] :tags
1530
+ # Tag resource by Tags.
1531
+ #
1532
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1533
+ #
1534
+ # @example Request syntax with placeholder values
1535
+ #
1536
+ # resp = client.tag_resource({
1537
+ # resource_arn: "ARN", # required
1538
+ # tags: { # required
1539
+ # "TagKey" => "TagValue",
1540
+ # },
1541
+ # })
1542
+ #
1543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TagResource AWS API Documentation
1544
+ #
1545
+ # @overload tag_resource(params = {})
1546
+ # @param [Hash] params ({})
1547
+ def tag_resource(params = {}, options = {})
1548
+ req = build_request(:tag_resource, params)
1549
+ req.send_request(options)
1550
+ end
1551
+
1552
+ # Starts a job that terminates specific launched EC2 Test and Cutover
1553
+ # instances. This command will not work for any Source Server with a
1554
+ # lifecycle.state of TESTING, CUTTING\_OVER, or CUTOVER.
1555
+ #
1556
+ # @option params [required, Array<String>] :source_server_i_ds
1557
+ # Terminate Target instance by Source Server IDs.
1558
+ #
1559
+ # @option params [Hash<String,String>] :tags
1560
+ # Terminate Target instance by Tags.
1561
+ #
1562
+ # @return [Types::TerminateTargetInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::TerminateTargetInstancesResponse#job #job} => Types::Job
1565
+ #
1566
+ # @example Request syntax with placeholder values
1567
+ #
1568
+ # resp = client.terminate_target_instances({
1569
+ # source_server_i_ds: ["SourceServerID"], # required
1570
+ # tags: {
1571
+ # "TagKey" => "TagValue",
1572
+ # },
1573
+ # })
1574
+ #
1575
+ # @example Response structure
1576
+ #
1577
+ # resp.job.arn #=> String
1578
+ # resp.job.creation_date_time #=> String
1579
+ # resp.job.end_date_time #=> String
1580
+ # resp.job.initiated_by #=> String, one of "START_TEST", "START_CUTOVER", "DIAGNOSTIC", "TERMINATE"
1581
+ # resp.job.job_id #=> String
1582
+ # resp.job.participating_servers #=> Array
1583
+ # resp.job.participating_servers[0].launch_status #=> String, one of "PENDING", "IN_PROGRESS", "LAUNCHED", "FAILED", "TERMINATED"
1584
+ # resp.job.participating_servers[0].source_server_id #=> String
1585
+ # resp.job.status #=> String, one of "PENDING", "STARTED", "COMPLETED"
1586
+ # resp.job.tags #=> Hash
1587
+ # resp.job.tags["TagKey"] #=> String
1588
+ # resp.job.type #=> String, one of "LAUNCH", "TERMINATE"
1589
+ #
1590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TerminateTargetInstances AWS API Documentation
1591
+ #
1592
+ # @overload terminate_target_instances(params = {})
1593
+ # @param [Hash] params ({})
1594
+ def terminate_target_instances(params = {}, options = {})
1595
+ req = build_request(:terminate_target_instances, params)
1596
+ req.send_request(options)
1597
+ end
1598
+
1599
+ # Deletes the specified set of tags from the specified set of
1600
+ # Application Migration Service resources.
1601
+ #
1602
+ # @option params [required, String] :resource_arn
1603
+ # Untag resource by ARN.
1604
+ #
1605
+ # @option params [required, Array<String>] :tag_keys
1606
+ # Untag resource by Keys.
1607
+ #
1608
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1609
+ #
1610
+ # @example Request syntax with placeholder values
1611
+ #
1612
+ # resp = client.untag_resource({
1613
+ # resource_arn: "ARN", # required
1614
+ # tag_keys: ["TagKey"], # required
1615
+ # })
1616
+ #
1617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UntagResource AWS API Documentation
1618
+ #
1619
+ # @overload untag_resource(params = {})
1620
+ # @param [Hash] params ({})
1621
+ def untag_resource(params = {}, options = {})
1622
+ req = build_request(:untag_resource, params)
1623
+ req.send_request(options)
1624
+ end
1625
+
1626
+ # Updates multiple LaunchConfigurations by Source Server ID.
1627
+ #
1628
+ # @option params [Boolean] :copy_private_ip
1629
+ # Update Launch configuration copy Private IP request.
1630
+ #
1631
+ # @option params [Boolean] :copy_tags
1632
+ # Update Launch configuration copy Tags request.
1633
+ #
1634
+ # @option params [String] :launch_disposition
1635
+ # Update Launch configuration launch disposition request.
1636
+ #
1637
+ # @option params [Types::Licensing] :licensing
1638
+ # Update Launch configuration licensing request.
1639
+ #
1640
+ # @option params [String] :name
1641
+ # Update Launch configuration name request.
1642
+ #
1643
+ # @option params [required, String] :source_server_id
1644
+ # Update Launch configuration by Source Server ID request.
1645
+ #
1646
+ # @option params [String] :target_instance_type_right_sizing_method
1647
+ # Update Launch configuration Target instance right sizing request.
1648
+ #
1649
+ # @return [Types::LaunchConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1650
+ #
1651
+ # * {Types::LaunchConfiguration#copy_private_ip #copy_private_ip} => Boolean
1652
+ # * {Types::LaunchConfiguration#copy_tags #copy_tags} => Boolean
1653
+ # * {Types::LaunchConfiguration#ec2_launch_template_id #ec2_launch_template_id} => String
1654
+ # * {Types::LaunchConfiguration#launch_disposition #launch_disposition} => String
1655
+ # * {Types::LaunchConfiguration#licensing #licensing} => Types::Licensing
1656
+ # * {Types::LaunchConfiguration#name #name} => String
1657
+ # * {Types::LaunchConfiguration#source_server_id #source_server_id} => String
1658
+ # * {Types::LaunchConfiguration#target_instance_type_right_sizing_method #target_instance_type_right_sizing_method} => String
1659
+ #
1660
+ # @example Request syntax with placeholder values
1661
+ #
1662
+ # resp = client.update_launch_configuration({
1663
+ # copy_private_ip: false,
1664
+ # copy_tags: false,
1665
+ # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
1666
+ # licensing: {
1667
+ # os_byol: false,
1668
+ # },
1669
+ # name: "SmallBoundedString",
1670
+ # source_server_id: "SourceServerID", # required
1671
+ # target_instance_type_right_sizing_method: "NONE", # accepts NONE, BASIC
1672
+ # })
1673
+ #
1674
+ # @example Response structure
1675
+ #
1676
+ # resp.copy_private_ip #=> Boolean
1677
+ # resp.copy_tags #=> Boolean
1678
+ # resp.ec2_launch_template_id #=> String
1679
+ # resp.launch_disposition #=> String, one of "STOPPED", "STARTED"
1680
+ # resp.licensing.os_byol #=> Boolean
1681
+ # resp.name #=> String
1682
+ # resp.source_server_id #=> String
1683
+ # resp.target_instance_type_right_sizing_method #=> String, one of "NONE", "BASIC"
1684
+ #
1685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateLaunchConfiguration AWS API Documentation
1686
+ #
1687
+ # @overload update_launch_configuration(params = {})
1688
+ # @param [Hash] params ({})
1689
+ def update_launch_configuration(params = {}, options = {})
1690
+ req = build_request(:update_launch_configuration, params)
1691
+ req.send_request(options)
1692
+ end
1693
+
1694
+ # Allows you to update multiple ReplicationConfigurations by Source
1695
+ # Server ID.
1696
+ #
1697
+ # @option params [Boolean] :associate_default_security_group
1698
+ # Update replication configuration associate default Application
1699
+ # Migration Service Security group request.
1700
+ #
1701
+ # @option params [Integer] :bandwidth_throttling
1702
+ # Update replication configuration bandwidth throttling request.
1703
+ #
1704
+ # @option params [Boolean] :create_public_ip
1705
+ # Update replication configuration create Public IP request.
1706
+ #
1707
+ # @option params [String] :data_plane_routing
1708
+ # Update replication configuration data plane routing request.
1709
+ #
1710
+ # @option params [String] :default_large_staging_disk_type
1711
+ # Update replication configuration use default large Staging Disk type
1712
+ # request.
1713
+ #
1714
+ # @option params [String] :ebs_encryption
1715
+ # Update replication configuration EBS encryption request.
1716
+ #
1717
+ # @option params [String] :ebs_encryption_key_arn
1718
+ # Update replication configuration EBS encryption key ARN request.
1719
+ #
1720
+ # @option params [String] :name
1721
+ # Update replication configuration name request.
1722
+ #
1723
+ # @option params [Array<Types::ReplicationConfigurationReplicatedDisk>] :replicated_disks
1724
+ # Update replication configuration replicated disks request.
1725
+ #
1726
+ # @option params [String] :replication_server_instance_type
1727
+ # Update replication configuration Replication Server instance type
1728
+ # request.
1729
+ #
1730
+ # @option params [Array<String>] :replication_servers_security_groups_i_ds
1731
+ # Update replication configuration Replication Server Security Groups
1732
+ # IDs request.
1733
+ #
1734
+ # @option params [required, String] :source_server_id
1735
+ # Update replication configuration Source Server ID request.
1736
+ #
1737
+ # @option params [String] :staging_area_subnet_id
1738
+ # Update replication configuration Staging Area subnet request.
1739
+ #
1740
+ # @option params [Hash<String,String>] :staging_area_tags
1741
+ # Update replication configuration Staging Area Tags request.
1742
+ #
1743
+ # @option params [Boolean] :use_dedicated_replication_server
1744
+ # Update replication configuration use dedicated Replication Server
1745
+ # request.
1746
+ #
1747
+ # @return [Types::ReplicationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1748
+ #
1749
+ # * {Types::ReplicationConfiguration#associate_default_security_group #associate_default_security_group} => Boolean
1750
+ # * {Types::ReplicationConfiguration#bandwidth_throttling #bandwidth_throttling} => Integer
1751
+ # * {Types::ReplicationConfiguration#create_public_ip #create_public_ip} => Boolean
1752
+ # * {Types::ReplicationConfiguration#data_plane_routing #data_plane_routing} => String
1753
+ # * {Types::ReplicationConfiguration#default_large_staging_disk_type #default_large_staging_disk_type} => String
1754
+ # * {Types::ReplicationConfiguration#ebs_encryption #ebs_encryption} => String
1755
+ # * {Types::ReplicationConfiguration#ebs_encryption_key_arn #ebs_encryption_key_arn} => String
1756
+ # * {Types::ReplicationConfiguration#name #name} => String
1757
+ # * {Types::ReplicationConfiguration#replicated_disks #replicated_disks} => Array&lt;Types::ReplicationConfigurationReplicatedDisk&gt;
1758
+ # * {Types::ReplicationConfiguration#replication_server_instance_type #replication_server_instance_type} => String
1759
+ # * {Types::ReplicationConfiguration#replication_servers_security_groups_i_ds #replication_servers_security_groups_i_ds} => Array&lt;String&gt;
1760
+ # * {Types::ReplicationConfiguration#source_server_id #source_server_id} => String
1761
+ # * {Types::ReplicationConfiguration#staging_area_subnet_id #staging_area_subnet_id} => String
1762
+ # * {Types::ReplicationConfiguration#staging_area_tags #staging_area_tags} => Hash&lt;String,String&gt;
1763
+ # * {Types::ReplicationConfiguration#use_dedicated_replication_server #use_dedicated_replication_server} => Boolean
1764
+ #
1765
+ # @example Request syntax with placeholder values
1766
+ #
1767
+ # resp = client.update_replication_configuration({
1768
+ # associate_default_security_group: false,
1769
+ # bandwidth_throttling: 1,
1770
+ # create_public_ip: false,
1771
+ # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
1772
+ # default_large_staging_disk_type: "GP2", # accepts GP2, ST1
1773
+ # ebs_encryption: "NONE", # accepts NONE, DEFAULT, CUSTOM
1774
+ # ebs_encryption_key_arn: "ARN",
1775
+ # name: "SmallBoundedString",
1776
+ # replicated_disks: [
1777
+ # {
1778
+ # device_name: "BoundedString",
1779
+ # iops: 1,
1780
+ # is_boot_disk: false,
1781
+ # staging_disk_type: "AUTO", # accepts AUTO, GP2, IO1, SC1, ST1, STANDARD
1782
+ # },
1783
+ # ],
1784
+ # replication_server_instance_type: "EC2InstanceType",
1785
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"],
1786
+ # source_server_id: "SourceServerID", # required
1787
+ # staging_area_subnet_id: "SubnetID",
1788
+ # staging_area_tags: {
1789
+ # "TagKey" => "TagValue",
1790
+ # },
1791
+ # use_dedicated_replication_server: false,
1792
+ # })
1793
+ #
1794
+ # @example Response structure
1795
+ #
1796
+ # resp.associate_default_security_group #=> Boolean
1797
+ # resp.bandwidth_throttling #=> Integer
1798
+ # resp.create_public_ip #=> Boolean
1799
+ # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1800
+ # resp.default_large_staging_disk_type #=> String, one of "GP2", "ST1"
1801
+ # resp.ebs_encryption #=> String, one of "NONE", "DEFAULT", "CUSTOM"
1802
+ # resp.ebs_encryption_key_arn #=> String
1803
+ # resp.name #=> String
1804
+ # resp.replicated_disks #=> Array
1805
+ # resp.replicated_disks[0].device_name #=> String
1806
+ # resp.replicated_disks[0].iops #=> Integer
1807
+ # resp.replicated_disks[0].is_boot_disk #=> Boolean
1808
+ # resp.replicated_disks[0].staging_disk_type #=> String, one of "AUTO", "GP2", "IO1", "SC1", "ST1", "STANDARD"
1809
+ # resp.replication_server_instance_type #=> String
1810
+ # resp.replication_servers_security_groups_i_ds #=> Array
1811
+ # resp.replication_servers_security_groups_i_ds[0] #=> String
1812
+ # resp.source_server_id #=> String
1813
+ # resp.staging_area_subnet_id #=> String
1814
+ # resp.staging_area_tags #=> Hash
1815
+ # resp.staging_area_tags["TagKey"] #=> String
1816
+ # resp.use_dedicated_replication_server #=> Boolean
1817
+ #
1818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfiguration AWS API Documentation
1819
+ #
1820
+ # @overload update_replication_configuration(params = {})
1821
+ # @param [Hash] params ({})
1822
+ def update_replication_configuration(params = {}, options = {})
1823
+ req = build_request(:update_replication_configuration, params)
1824
+ req.send_request(options)
1825
+ end
1826
+
1827
+ # Updates multiple ReplicationConfigurationTemplates by ID.
1828
+ #
1829
+ # @option params [String] :arn
1830
+ # Update replication configuration template ARN request.
1831
+ #
1832
+ # @option params [Boolean] :associate_default_security_group
1833
+ # Update replication configuration template associate default
1834
+ # Application Migration Service Security group request.
1835
+ #
1836
+ # @option params [Integer] :bandwidth_throttling
1837
+ # Update replication configuration template bandwidth throttling
1838
+ # request.
1839
+ #
1840
+ # @option params [Boolean] :create_public_ip
1841
+ # Update replication configuration template create Public IP request.
1842
+ #
1843
+ # @option params [String] :data_plane_routing
1844
+ # Update replication configuration template data plane routing request.
1845
+ #
1846
+ # @option params [String] :default_large_staging_disk_type
1847
+ # Update replication configuration template use default large Staging
1848
+ # Disk type request.
1849
+ #
1850
+ # @option params [String] :ebs_encryption
1851
+ # Update replication configuration template EBS encryption request.
1852
+ #
1853
+ # @option params [String] :ebs_encryption_key_arn
1854
+ # Update replication configuration template EBS encryption key ARN
1855
+ # request.
1856
+ #
1857
+ # @option params [required, String] :replication_configuration_template_id
1858
+ # Update replication configuration template template ID request.
1859
+ #
1860
+ # @option params [String] :replication_server_instance_type
1861
+ # Update replication configuration template Replication Server instance
1862
+ # type request.
1863
+ #
1864
+ # @option params [Array<String>] :replication_servers_security_groups_i_ds
1865
+ # Update replication configuration template Replication Server Security
1866
+ # groups IDs request.
1867
+ #
1868
+ # @option params [String] :staging_area_subnet_id
1869
+ # Update replication configuration template Staging Area subnet ID
1870
+ # request.
1871
+ #
1872
+ # @option params [Hash<String,String>] :staging_area_tags
1873
+ # Update replication configuration template Staging Area Tags request.
1874
+ #
1875
+ # @option params [Boolean] :use_dedicated_replication_server
1876
+ # Update replication configuration template use dedicated Replication
1877
+ # Server request.
1878
+ #
1879
+ # @return [Types::ReplicationConfigurationTemplate] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1880
+ #
1881
+ # * {Types::ReplicationConfigurationTemplate#arn #arn} => String
1882
+ # * {Types::ReplicationConfigurationTemplate#associate_default_security_group #associate_default_security_group} => Boolean
1883
+ # * {Types::ReplicationConfigurationTemplate#bandwidth_throttling #bandwidth_throttling} => Integer
1884
+ # * {Types::ReplicationConfigurationTemplate#create_public_ip #create_public_ip} => Boolean
1885
+ # * {Types::ReplicationConfigurationTemplate#data_plane_routing #data_plane_routing} => String
1886
+ # * {Types::ReplicationConfigurationTemplate#default_large_staging_disk_type #default_large_staging_disk_type} => String
1887
+ # * {Types::ReplicationConfigurationTemplate#ebs_encryption #ebs_encryption} => String
1888
+ # * {Types::ReplicationConfigurationTemplate#ebs_encryption_key_arn #ebs_encryption_key_arn} => String
1889
+ # * {Types::ReplicationConfigurationTemplate#replication_configuration_template_id #replication_configuration_template_id} => String
1890
+ # * {Types::ReplicationConfigurationTemplate#replication_server_instance_type #replication_server_instance_type} => String
1891
+ # * {Types::ReplicationConfigurationTemplate#replication_servers_security_groups_i_ds #replication_servers_security_groups_i_ds} => Array&lt;String&gt;
1892
+ # * {Types::ReplicationConfigurationTemplate#staging_area_subnet_id #staging_area_subnet_id} => String
1893
+ # * {Types::ReplicationConfigurationTemplate#staging_area_tags #staging_area_tags} => Hash&lt;String,String&gt;
1894
+ # * {Types::ReplicationConfigurationTemplate#tags #tags} => Hash&lt;String,String&gt;
1895
+ # * {Types::ReplicationConfigurationTemplate#use_dedicated_replication_server #use_dedicated_replication_server} => Boolean
1896
+ #
1897
+ # @example Request syntax with placeholder values
1898
+ #
1899
+ # resp = client.update_replication_configuration_template({
1900
+ # arn: "ARN",
1901
+ # associate_default_security_group: false,
1902
+ # bandwidth_throttling: 1,
1903
+ # create_public_ip: false,
1904
+ # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
1905
+ # default_large_staging_disk_type: "GP2", # accepts GP2, ST1
1906
+ # ebs_encryption: "NONE", # accepts NONE, DEFAULT, CUSTOM
1907
+ # ebs_encryption_key_arn: "ARN",
1908
+ # replication_configuration_template_id: "ReplicationConfigurationTemplateID", # required
1909
+ # replication_server_instance_type: "EC2InstanceType",
1910
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"],
1911
+ # staging_area_subnet_id: "SubnetID",
1912
+ # staging_area_tags: {
1913
+ # "TagKey" => "TagValue",
1914
+ # },
1915
+ # use_dedicated_replication_server: false,
1916
+ # })
1917
+ #
1918
+ # @example Response structure
1919
+ #
1920
+ # resp.arn #=> String
1921
+ # resp.associate_default_security_group #=> Boolean
1922
+ # resp.bandwidth_throttling #=> Integer
1923
+ # resp.create_public_ip #=> Boolean
1924
+ # resp.data_plane_routing #=> String, one of "PRIVATE_IP", "PUBLIC_IP"
1925
+ # resp.default_large_staging_disk_type #=> String, one of "GP2", "ST1"
1926
+ # resp.ebs_encryption #=> String, one of "NONE", "DEFAULT", "CUSTOM"
1927
+ # resp.ebs_encryption_key_arn #=> String
1928
+ # resp.replication_configuration_template_id #=> String
1929
+ # resp.replication_server_instance_type #=> String
1930
+ # resp.replication_servers_security_groups_i_ds #=> Array
1931
+ # resp.replication_servers_security_groups_i_ds[0] #=> String
1932
+ # resp.staging_area_subnet_id #=> String
1933
+ # resp.staging_area_tags #=> Hash
1934
+ # resp.staging_area_tags["TagKey"] #=> String
1935
+ # resp.tags #=> Hash
1936
+ # resp.tags["TagKey"] #=> String
1937
+ # resp.use_dedicated_replication_server #=> Boolean
1938
+ #
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfigurationTemplate AWS API Documentation
1940
+ #
1941
+ # @overload update_replication_configuration_template(params = {})
1942
+ # @param [Hash] params ({})
1943
+ def update_replication_configuration_template(params = {}, options = {})
1944
+ req = build_request(:update_replication_configuration_template, params)
1945
+ req.send_request(options)
1946
+ end
1947
+
1948
+ # @!endgroup
1949
+
1950
+ # @param params ({})
1951
+ # @api private
1952
+ def build_request(operation_name, params = {})
1953
+ handlers = @handlers.for(operation_name)
1954
+ context = Seahorse::Client::RequestContext.new(
1955
+ operation_name: operation_name,
1956
+ operation: config.api.operation(operation_name),
1957
+ client: self,
1958
+ params: params,
1959
+ config: config)
1960
+ context[:gem_name] = 'aws-sdk-mgn'
1961
+ context[:gem_version] = '1.0.0'
1962
+ Seahorse::Client::Request.new(handlers, context)
1963
+ end
1964
+
1965
+ # @api private
1966
+ # @deprecated
1967
+ def waiter_names
1968
+ []
1969
+ end
1970
+
1971
+ class << self
1972
+
1973
+ # @api private
1974
+ attr_reader :identifier
1975
+
1976
+ # @api private
1977
+ def errors_module
1978
+ Errors
1979
+ end
1980
+
1981
+ end
1982
+ end
1983
+ end