aws-sdk-drs 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.
@@ -0,0 +1,2910 @@
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
+ module Aws::Drs
11
+ module Types
12
+
13
+ # TYou do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] code
16
+ # @return [String]
17
+ #
18
+ # @!attribute [rw] message
19
+ # @return [String]
20
+ #
21
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/AccessDeniedException AWS API Documentation
22
+ #
23
+ class AccessDeniedException < Struct.new(
24
+ :code,
25
+ :message)
26
+ SENSITIVE = []
27
+ include Aws::Structure
28
+ end
29
+
30
+ # Information about a server's CPU.
31
+ #
32
+ # @!attribute [rw] cores
33
+ # The number of CPU cores.
34
+ # @return [Integer]
35
+ #
36
+ # @!attribute [rw] model_name
37
+ # The model name of the CPU.
38
+ # @return [String]
39
+ #
40
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CPU AWS API Documentation
41
+ #
42
+ class CPU < Struct.new(
43
+ :cores,
44
+ :model_name)
45
+ SENSITIVE = []
46
+ include Aws::Structure
47
+ end
48
+
49
+ # The request could not be completed due to a conflict with the current
50
+ # state of the target resource.
51
+ #
52
+ # @!attribute [rw] code
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] message
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] resource_id
59
+ # The ID of the resource.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] resource_type
63
+ # The type of the resource.
64
+ # @return [String]
65
+ #
66
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ConflictException AWS API Documentation
67
+ #
68
+ class ConflictException < Struct.new(
69
+ :code,
70
+ :message,
71
+ :resource_id,
72
+ :resource_type)
73
+ SENSITIVE = []
74
+ include Aws::Structure
75
+ end
76
+
77
+ # @note When making an API call, you may pass CreateReplicationConfigurationTemplateRequest
78
+ # data as a hash:
79
+ #
80
+ # {
81
+ # associate_default_security_group: false, # required
82
+ # bandwidth_throttling: 1, # required
83
+ # create_public_ip: false, # required
84
+ # data_plane_routing: "PRIVATE_IP", # required, accepts PRIVATE_IP, PUBLIC_IP
85
+ # default_large_staging_disk_type: "GP2", # required, accepts GP2, GP3, ST1
86
+ # ebs_encryption: "DEFAULT", # required, accepts DEFAULT, CUSTOM
87
+ # ebs_encryption_key_arn: "ARN",
88
+ # pit_policy: [ # required
89
+ # {
90
+ # enabled: false,
91
+ # interval: 1, # required
92
+ # retention_duration: 1, # required
93
+ # rule_id: 1,
94
+ # units: "MINUTE", # required, accepts MINUTE, HOUR, DAY
95
+ # },
96
+ # ],
97
+ # replication_server_instance_type: "EC2InstanceType", # required
98
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"], # required
99
+ # staging_area_subnet_id: "SubnetID", # required
100
+ # staging_area_tags: { # required
101
+ # "TagKey" => "TagValue",
102
+ # },
103
+ # tags: {
104
+ # "TagKey" => "TagValue",
105
+ # },
106
+ # use_dedicated_replication_server: false, # required
107
+ # }
108
+ #
109
+ # @!attribute [rw] associate_default_security_group
110
+ # Whether to associate the default Elastic Disaster Recovery Security
111
+ # group with the Replication Configuration Template.
112
+ # @return [Boolean]
113
+ #
114
+ # @!attribute [rw] bandwidth_throttling
115
+ # Configure bandwidth throttling for the outbound data transfer rate
116
+ # of the Source Server in Mbps.
117
+ # @return [Integer]
118
+ #
119
+ # @!attribute [rw] create_public_ip
120
+ # Whether to create a Public IP for the Recovery Instance by default.
121
+ # @return [Boolean]
122
+ #
123
+ # @!attribute [rw] data_plane_routing
124
+ # The data plane routing mechanism that will be used for replication.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] default_large_staging_disk_type
128
+ # The Staging Disk EBS volume type to be used during replication.
129
+ # @return [String]
130
+ #
131
+ # @!attribute [rw] ebs_encryption
132
+ # The type of EBS encryption to be used during replication.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] ebs_encryption_key_arn
136
+ # The ARN of the EBS encryption key to be used during replication.
137
+ # @return [String]
138
+ #
139
+ # @!attribute [rw] pit_policy
140
+ # The Point in time (PIT) policy to manage snapshots taken during
141
+ # replication.
142
+ # @return [Array<Types::PITPolicyRule>]
143
+ #
144
+ # @!attribute [rw] replication_server_instance_type
145
+ # The instance type to be used for the replication server.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] replication_servers_security_groups_i_ds
149
+ # The security group IDs that will be used by the replication server.
150
+ # @return [Array<String>]
151
+ #
152
+ # @!attribute [rw] staging_area_subnet_id
153
+ # The subnet to be used by the replication staging area.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] staging_area_tags
157
+ # A set of tags to be associated with all resources created in the
158
+ # replication staging area: EC2 replication server, EBS volumes, EBS
159
+ # snapshots, etc.
160
+ # @return [Hash<String,String>]
161
+ #
162
+ # @!attribute [rw] tags
163
+ # A set of tags to be associated with the Replication Configuration
164
+ # Template resource.
165
+ # @return [Hash<String,String>]
166
+ #
167
+ # @!attribute [rw] use_dedicated_replication_server
168
+ # Whether to use a dedicated Replication Server in the replication
169
+ # staging area.
170
+ # @return [Boolean]
171
+ #
172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CreateReplicationConfigurationTemplateRequest AWS API Documentation
173
+ #
174
+ class CreateReplicationConfigurationTemplateRequest < Struct.new(
175
+ :associate_default_security_group,
176
+ :bandwidth_throttling,
177
+ :create_public_ip,
178
+ :data_plane_routing,
179
+ :default_large_staging_disk_type,
180
+ :ebs_encryption,
181
+ :ebs_encryption_key_arn,
182
+ :pit_policy,
183
+ :replication_server_instance_type,
184
+ :replication_servers_security_groups_i_ds,
185
+ :staging_area_subnet_id,
186
+ :staging_area_tags,
187
+ :tags,
188
+ :use_dedicated_replication_server)
189
+ SENSITIVE = [:staging_area_tags, :tags]
190
+ include Aws::Structure
191
+ end
192
+
193
+ # Error in data replication.
194
+ #
195
+ # @!attribute [rw] error
196
+ # Error in data replication.
197
+ # @return [String]
198
+ #
199
+ # @!attribute [rw] raw_error
200
+ # Error in data replication.
201
+ # @return [String]
202
+ #
203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DataReplicationError AWS API Documentation
204
+ #
205
+ class DataReplicationError < Struct.new(
206
+ :error,
207
+ :raw_error)
208
+ SENSITIVE = []
209
+ include Aws::Structure
210
+ end
211
+
212
+ # Information about Data Replication
213
+ #
214
+ # @!attribute [rw] data_replication_error
215
+ # Error in data replication.
216
+ # @return [Types::DataReplicationError]
217
+ #
218
+ # @!attribute [rw] data_replication_initiation
219
+ # Information about whether the data replication has been initiated.
220
+ # @return [Types::DataReplicationInitiation]
221
+ #
222
+ # @!attribute [rw] data_replication_state
223
+ # The state of the data replication.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] eta_date_time
227
+ # An estimate of when the data replication will be completed.
228
+ # @return [String]
229
+ #
230
+ # @!attribute [rw] lag_duration
231
+ # Data replication lag duration.
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] replicated_disks
235
+ # The disks that should be replicated.
236
+ # @return [Array<Types::DataReplicationInfoReplicatedDisk>]
237
+ #
238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DataReplicationInfo AWS API Documentation
239
+ #
240
+ class DataReplicationInfo < Struct.new(
241
+ :data_replication_error,
242
+ :data_replication_initiation,
243
+ :data_replication_state,
244
+ :eta_date_time,
245
+ :lag_duration,
246
+ :replicated_disks)
247
+ SENSITIVE = []
248
+ include Aws::Structure
249
+ end
250
+
251
+ # A disk that should be replicated.
252
+ #
253
+ # @!attribute [rw] backlogged_storage_bytes
254
+ # The size of the replication backlog in bytes.
255
+ # @return [Integer]
256
+ #
257
+ # @!attribute [rw] device_name
258
+ # The name of the device.
259
+ # @return [String]
260
+ #
261
+ # @!attribute [rw] replicated_storage_bytes
262
+ # The amount of data replicated so far in bytes.
263
+ # @return [Integer]
264
+ #
265
+ # @!attribute [rw] rescanned_storage_bytes
266
+ # The amount of data to be rescanned in bytes.
267
+ # @return [Integer]
268
+ #
269
+ # @!attribute [rw] total_storage_bytes
270
+ # The total amount of data to be replicated in bytes.
271
+ # @return [Integer]
272
+ #
273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DataReplicationInfoReplicatedDisk AWS API Documentation
274
+ #
275
+ class DataReplicationInfoReplicatedDisk < Struct.new(
276
+ :backlogged_storage_bytes,
277
+ :device_name,
278
+ :replicated_storage_bytes,
279
+ :rescanned_storage_bytes,
280
+ :total_storage_bytes)
281
+ SENSITIVE = []
282
+ include Aws::Structure
283
+ end
284
+
285
+ # Data replication initiation.
286
+ #
287
+ # @!attribute [rw] next_attempt_date_time
288
+ # The date and time of the next attempt to initiate data replication.
289
+ # @return [String]
290
+ #
291
+ # @!attribute [rw] start_date_time
292
+ # The date and time of the current attempt to initiate data
293
+ # replication.
294
+ # @return [String]
295
+ #
296
+ # @!attribute [rw] steps
297
+ # The steps of the current attempt to initiate data replication.
298
+ # @return [Array<Types::DataReplicationInitiationStep>]
299
+ #
300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DataReplicationInitiation AWS API Documentation
301
+ #
302
+ class DataReplicationInitiation < Struct.new(
303
+ :next_attempt_date_time,
304
+ :start_date_time,
305
+ :steps)
306
+ SENSITIVE = []
307
+ include Aws::Structure
308
+ end
309
+
310
+ # Data replication initiation step.
311
+ #
312
+ # @!attribute [rw] name
313
+ # The name of the step.
314
+ # @return [String]
315
+ #
316
+ # @!attribute [rw] status
317
+ # The status of the step.
318
+ # @return [String]
319
+ #
320
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DataReplicationInitiationStep AWS API Documentation
321
+ #
322
+ class DataReplicationInitiationStep < Struct.new(
323
+ :name,
324
+ :status)
325
+ SENSITIVE = []
326
+ include Aws::Structure
327
+ end
328
+
329
+ # @note When making an API call, you may pass DeleteJobRequest
330
+ # data as a hash:
331
+ #
332
+ # {
333
+ # job_id: "JobID", # required
334
+ # }
335
+ #
336
+ # @!attribute [rw] job_id
337
+ # The ID of the Job to be deleted.
338
+ # @return [String]
339
+ #
340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteJobRequest AWS API Documentation
341
+ #
342
+ class DeleteJobRequest < Struct.new(
343
+ :job_id)
344
+ SENSITIVE = []
345
+ include Aws::Structure
346
+ end
347
+
348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteJobResponse AWS API Documentation
349
+ #
350
+ class DeleteJobResponse < Aws::EmptyStructure; end
351
+
352
+ # @note When making an API call, you may pass DeleteRecoveryInstanceRequest
353
+ # data as a hash:
354
+ #
355
+ # {
356
+ # recovery_instance_id: "RecoveryInstanceID", # required
357
+ # }
358
+ #
359
+ # @!attribute [rw] recovery_instance_id
360
+ # RThe ID of the Recovery Instance to be deleted.
361
+ # @return [String]
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteRecoveryInstanceRequest AWS API Documentation
364
+ #
365
+ class DeleteRecoveryInstanceRequest < Struct.new(
366
+ :recovery_instance_id)
367
+ SENSITIVE = []
368
+ include Aws::Structure
369
+ end
370
+
371
+ # @note When making an API call, you may pass DeleteReplicationConfigurationTemplateRequest
372
+ # data as a hash:
373
+ #
374
+ # {
375
+ # replication_configuration_template_id: "ReplicationConfigurationTemplateID", # required
376
+ # }
377
+ #
378
+ # @!attribute [rw] replication_configuration_template_id
379
+ # The ID of the Replication Configuration Template to be deleted.
380
+ # @return [String]
381
+ #
382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteReplicationConfigurationTemplateRequest AWS API Documentation
383
+ #
384
+ class DeleteReplicationConfigurationTemplateRequest < Struct.new(
385
+ :replication_configuration_template_id)
386
+ SENSITIVE = []
387
+ include Aws::Structure
388
+ end
389
+
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteReplicationConfigurationTemplateResponse AWS API Documentation
391
+ #
392
+ class DeleteReplicationConfigurationTemplateResponse < Aws::EmptyStructure; end
393
+
394
+ # @note When making an API call, you may pass DeleteSourceServerRequest
395
+ # data as a hash:
396
+ #
397
+ # {
398
+ # source_server_id: "SourceServerID", # required
399
+ # }
400
+ #
401
+ # @!attribute [rw] source_server_id
402
+ # The ID of the Source Server to be deleted.
403
+ # @return [String]
404
+ #
405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteSourceServerRequest AWS API Documentation
406
+ #
407
+ class DeleteSourceServerRequest < Struct.new(
408
+ :source_server_id)
409
+ SENSITIVE = []
410
+ include Aws::Structure
411
+ end
412
+
413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteSourceServerResponse AWS API Documentation
414
+ #
415
+ class DeleteSourceServerResponse < Aws::EmptyStructure; end
416
+
417
+ # @note When making an API call, you may pass DescribeJobLogItemsRequest
418
+ # data as a hash:
419
+ #
420
+ # {
421
+ # job_id: "JobID", # required
422
+ # max_results: 1,
423
+ # next_token: "PaginationToken",
424
+ # }
425
+ #
426
+ # @!attribute [rw] job_id
427
+ # The ID of the Job for which Job log items will be retrieved.
428
+ # @return [String]
429
+ #
430
+ # @!attribute [rw] max_results
431
+ # Maximum number of Job log items to retrieve.
432
+ # @return [Integer]
433
+ #
434
+ # @!attribute [rw] next_token
435
+ # The token of the next Job log items to retrieve.
436
+ # @return [String]
437
+ #
438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobLogItemsRequest AWS API Documentation
439
+ #
440
+ class DescribeJobLogItemsRequest < Struct.new(
441
+ :job_id,
442
+ :max_results,
443
+ :next_token)
444
+ SENSITIVE = []
445
+ include Aws::Structure
446
+ end
447
+
448
+ # @!attribute [rw] items
449
+ # An array of Job log items.
450
+ # @return [Array<Types::JobLog>]
451
+ #
452
+ # @!attribute [rw] next_token
453
+ # The token of the next Job log items to retrieve.
454
+ # @return [String]
455
+ #
456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobLogItemsResponse AWS API Documentation
457
+ #
458
+ class DescribeJobLogItemsResponse < Struct.new(
459
+ :items,
460
+ :next_token)
461
+ SENSITIVE = []
462
+ include Aws::Structure
463
+ end
464
+
465
+ # @note When making an API call, you may pass DescribeJobsRequest
466
+ # data as a hash:
467
+ #
468
+ # {
469
+ # filters: { # required
470
+ # from_date: "ISO8601DatetimeString",
471
+ # job_i_ds: ["JobID"],
472
+ # to_date: "ISO8601DatetimeString",
473
+ # },
474
+ # max_results: 1,
475
+ # next_token: "PaginationToken",
476
+ # }
477
+ #
478
+ # @!attribute [rw] filters
479
+ # A set of filters by which to return Jobs.
480
+ # @return [Types::DescribeJobsRequestFilters]
481
+ #
482
+ # @!attribute [rw] max_results
483
+ # Maximum number of Jobs to retrieve.
484
+ # @return [Integer]
485
+ #
486
+ # @!attribute [rw] next_token
487
+ # The token of the next Job to retrieve.
488
+ # @return [String]
489
+ #
490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobsRequest AWS API Documentation
491
+ #
492
+ class DescribeJobsRequest < Struct.new(
493
+ :filters,
494
+ :max_results,
495
+ :next_token)
496
+ SENSITIVE = []
497
+ include Aws::Structure
498
+ end
499
+
500
+ # A set of filters by which to return Jobs.
501
+ #
502
+ # @note When making an API call, you may pass DescribeJobsRequestFilters
503
+ # data as a hash:
504
+ #
505
+ # {
506
+ # from_date: "ISO8601DatetimeString",
507
+ # job_i_ds: ["JobID"],
508
+ # to_date: "ISO8601DatetimeString",
509
+ # }
510
+ #
511
+ # @!attribute [rw] from_date
512
+ # The start date in a date range query.
513
+ # @return [String]
514
+ #
515
+ # @!attribute [rw] job_i_ds
516
+ # An array of Job IDs that should be returned. An empty array means
517
+ # all jobs.
518
+ # @return [Array<String>]
519
+ #
520
+ # @!attribute [rw] to_date
521
+ # The end date in a date range query.
522
+ # @return [String]
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobsRequestFilters AWS API Documentation
525
+ #
526
+ class DescribeJobsRequestFilters < Struct.new(
527
+ :from_date,
528
+ :job_i_ds,
529
+ :to_date)
530
+ SENSITIVE = []
531
+ include Aws::Structure
532
+ end
533
+
534
+ # @!attribute [rw] items
535
+ # An array of Jobs.
536
+ # @return [Array<Types::Job>]
537
+ #
538
+ # @!attribute [rw] next_token
539
+ # The token of the next Job to retrieve.
540
+ # @return [String]
541
+ #
542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobsResponse AWS API Documentation
543
+ #
544
+ class DescribeJobsResponse < Struct.new(
545
+ :items,
546
+ :next_token)
547
+ SENSITIVE = []
548
+ include Aws::Structure
549
+ end
550
+
551
+ # @note When making an API call, you may pass DescribeRecoveryInstancesRequest
552
+ # data as a hash:
553
+ #
554
+ # {
555
+ # filters: { # required
556
+ # recovery_instance_i_ds: ["RecoveryInstanceID"],
557
+ # source_server_i_ds: ["SourceServerID"],
558
+ # },
559
+ # max_results: 1,
560
+ # next_token: "PaginationToken",
561
+ # }
562
+ #
563
+ # @!attribute [rw] filters
564
+ # A set of filters by which to return Recovery Instances.
565
+ # @return [Types::DescribeRecoveryInstancesRequestFilters]
566
+ #
567
+ # @!attribute [rw] max_results
568
+ # Maximum number of Recovery Instances to retrieve.
569
+ # @return [Integer]
570
+ #
571
+ # @!attribute [rw] next_token
572
+ # The token of the next Recovery Instance to retrieve.
573
+ # @return [String]
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoveryInstancesRequest AWS API Documentation
576
+ #
577
+ class DescribeRecoveryInstancesRequest < Struct.new(
578
+ :filters,
579
+ :max_results,
580
+ :next_token)
581
+ SENSITIVE = []
582
+ include Aws::Structure
583
+ end
584
+
585
+ # A set of filters by which to return Recovery Instances.
586
+ #
587
+ # @note When making an API call, you may pass DescribeRecoveryInstancesRequestFilters
588
+ # data as a hash:
589
+ #
590
+ # {
591
+ # recovery_instance_i_ds: ["RecoveryInstanceID"],
592
+ # source_server_i_ds: ["SourceServerID"],
593
+ # }
594
+ #
595
+ # @!attribute [rw] recovery_instance_i_ds
596
+ # An array of Recovery Instance IDs that should be returned. An empty
597
+ # array means all Recovery Instances.
598
+ # @return [Array<String>]
599
+ #
600
+ # @!attribute [rw] source_server_i_ds
601
+ # An array of Source Server IDs for which associated Recovery
602
+ # Instances should be returned.
603
+ # @return [Array<String>]
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoveryInstancesRequestFilters AWS API Documentation
606
+ #
607
+ class DescribeRecoveryInstancesRequestFilters < Struct.new(
608
+ :recovery_instance_i_ds,
609
+ :source_server_i_ds)
610
+ SENSITIVE = []
611
+ include Aws::Structure
612
+ end
613
+
614
+ # @!attribute [rw] items
615
+ # An array of Recovery Instances.
616
+ # @return [Array<Types::RecoveryInstance>]
617
+ #
618
+ # @!attribute [rw] next_token
619
+ # The token of the next Recovery Instance to retrieve.
620
+ # @return [String]
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoveryInstancesResponse AWS API Documentation
623
+ #
624
+ class DescribeRecoveryInstancesResponse < Struct.new(
625
+ :items,
626
+ :next_token)
627
+ SENSITIVE = []
628
+ include Aws::Structure
629
+ end
630
+
631
+ # @note When making an API call, you may pass DescribeRecoverySnapshotsRequest
632
+ # data as a hash:
633
+ #
634
+ # {
635
+ # filters: {
636
+ # from_date_time: "ISO8601DatetimeString",
637
+ # to_date_time: "ISO8601DatetimeString",
638
+ # },
639
+ # max_results: 1,
640
+ # next_token: "PaginationToken",
641
+ # order: "ASC", # accepts ASC, DESC
642
+ # source_server_id: "SourceServerID", # required
643
+ # }
644
+ #
645
+ # @!attribute [rw] filters
646
+ # A set of filters by which to return Recovery Snapshots.
647
+ # @return [Types::DescribeRecoverySnapshotsRequestFilters]
648
+ #
649
+ # @!attribute [rw] max_results
650
+ # Maximum number of Recovery Snapshots to retrieve.
651
+ # @return [Integer]
652
+ #
653
+ # @!attribute [rw] next_token
654
+ # The token of the next Recovery Snapshot to retrieve.
655
+ # @return [String]
656
+ #
657
+ # @!attribute [rw] order
658
+ # The sorted ordering by which to return Recovery Snapshots.
659
+ # @return [String]
660
+ #
661
+ # @!attribute [rw] source_server_id
662
+ # Filter Recovery Snapshots by Source Server ID.
663
+ # @return [String]
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoverySnapshotsRequest AWS API Documentation
666
+ #
667
+ class DescribeRecoverySnapshotsRequest < Struct.new(
668
+ :filters,
669
+ :max_results,
670
+ :next_token,
671
+ :order,
672
+ :source_server_id)
673
+ SENSITIVE = []
674
+ include Aws::Structure
675
+ end
676
+
677
+ # A set of filters by which to return Recovery Snapshots.
678
+ #
679
+ # @note When making an API call, you may pass DescribeRecoverySnapshotsRequestFilters
680
+ # data as a hash:
681
+ #
682
+ # {
683
+ # from_date_time: "ISO8601DatetimeString",
684
+ # to_date_time: "ISO8601DatetimeString",
685
+ # }
686
+ #
687
+ # @!attribute [rw] from_date_time
688
+ # The start date in a date range query.
689
+ # @return [String]
690
+ #
691
+ # @!attribute [rw] to_date_time
692
+ # The end date in a date range query.
693
+ # @return [String]
694
+ #
695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoverySnapshotsRequestFilters AWS API Documentation
696
+ #
697
+ class DescribeRecoverySnapshotsRequestFilters < Struct.new(
698
+ :from_date_time,
699
+ :to_date_time)
700
+ SENSITIVE = []
701
+ include Aws::Structure
702
+ end
703
+
704
+ # @!attribute [rw] items
705
+ # An array of Recovery Snapshots.
706
+ # @return [Array<Types::RecoverySnapshot>]
707
+ #
708
+ # @!attribute [rw] next_token
709
+ # The token of the next Recovery Snapshot to retrieve.
710
+ # @return [String]
711
+ #
712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoverySnapshotsResponse AWS API Documentation
713
+ #
714
+ class DescribeRecoverySnapshotsResponse < Struct.new(
715
+ :items,
716
+ :next_token)
717
+ SENSITIVE = []
718
+ include Aws::Structure
719
+ end
720
+
721
+ # @note When making an API call, you may pass DescribeReplicationConfigurationTemplatesRequest
722
+ # data as a hash:
723
+ #
724
+ # {
725
+ # max_results: 1,
726
+ # next_token: "PaginationToken",
727
+ # replication_configuration_template_i_ds: ["ReplicationConfigurationTemplateID"], # required
728
+ # }
729
+ #
730
+ # @!attribute [rw] max_results
731
+ # Maximum number of Replication Configuration Templates to retrieve.
732
+ # @return [Integer]
733
+ #
734
+ # @!attribute [rw] next_token
735
+ # The token of the next Replication Configuration Template to
736
+ # retrieve.
737
+ # @return [String]
738
+ #
739
+ # @!attribute [rw] replication_configuration_template_i_ds
740
+ # The IDs of the Replication Configuration Templates to retrieve. An
741
+ # empty list means all Replication Configuration Templates.
742
+ # @return [Array<String>]
743
+ #
744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeReplicationConfigurationTemplatesRequest AWS API Documentation
745
+ #
746
+ class DescribeReplicationConfigurationTemplatesRequest < Struct.new(
747
+ :max_results,
748
+ :next_token,
749
+ :replication_configuration_template_i_ds)
750
+ SENSITIVE = []
751
+ include Aws::Structure
752
+ end
753
+
754
+ # @!attribute [rw] items
755
+ # An array of Replication Configuration Templates.
756
+ # @return [Array<Types::ReplicationConfigurationTemplate>]
757
+ #
758
+ # @!attribute [rw] next_token
759
+ # The token of the next Replication Configuration Template to
760
+ # retrieve.
761
+ # @return [String]
762
+ #
763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeReplicationConfigurationTemplatesResponse AWS API Documentation
764
+ #
765
+ class DescribeReplicationConfigurationTemplatesResponse < Struct.new(
766
+ :items,
767
+ :next_token)
768
+ SENSITIVE = []
769
+ include Aws::Structure
770
+ end
771
+
772
+ # @note When making an API call, you may pass DescribeSourceServersRequest
773
+ # data as a hash:
774
+ #
775
+ # {
776
+ # filters: { # required
777
+ # hardware_id: "BoundedString",
778
+ # source_server_i_ds: ["SourceServerID"],
779
+ # },
780
+ # max_results: 1,
781
+ # next_token: "PaginationToken",
782
+ # }
783
+ #
784
+ # @!attribute [rw] filters
785
+ # A set of filters by which to return Source Servers.
786
+ # @return [Types::DescribeSourceServersRequestFilters]
787
+ #
788
+ # @!attribute [rw] max_results
789
+ # Maximum number of Source Servers to retrieve.
790
+ # @return [Integer]
791
+ #
792
+ # @!attribute [rw] next_token
793
+ # The token of the next Source Server to retrieve.
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceServersRequest AWS API Documentation
797
+ #
798
+ class DescribeSourceServersRequest < Struct.new(
799
+ :filters,
800
+ :max_results,
801
+ :next_token)
802
+ SENSITIVE = []
803
+ include Aws::Structure
804
+ end
805
+
806
+ # A set of filters by which to return Source Servers.
807
+ #
808
+ # @note When making an API call, you may pass DescribeSourceServersRequestFilters
809
+ # data as a hash:
810
+ #
811
+ # {
812
+ # hardware_id: "BoundedString",
813
+ # source_server_i_ds: ["SourceServerID"],
814
+ # }
815
+ #
816
+ # @!attribute [rw] hardware_id
817
+ # An ID that describes the hardware of the Source Server. This is
818
+ # either an EC2 instance id, a VMware uuid or a mac address.
819
+ # @return [String]
820
+ #
821
+ # @!attribute [rw] source_server_i_ds
822
+ # An array of Source Servers IDs that should be returned. An empty
823
+ # array means all Source Servers.
824
+ # @return [Array<String>]
825
+ #
826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceServersRequestFilters AWS API Documentation
827
+ #
828
+ class DescribeSourceServersRequestFilters < Struct.new(
829
+ :hardware_id,
830
+ :source_server_i_ds)
831
+ SENSITIVE = []
832
+ include Aws::Structure
833
+ end
834
+
835
+ # @!attribute [rw] items
836
+ # An array of Source Servers.
837
+ # @return [Array<Types::SourceServer>]
838
+ #
839
+ # @!attribute [rw] next_token
840
+ # The token of the next Source Server to retrieve.
841
+ # @return [String]
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceServersResponse AWS API Documentation
844
+ #
845
+ class DescribeSourceServersResponse < Struct.new(
846
+ :items,
847
+ :next_token)
848
+ SENSITIVE = []
849
+ include Aws::Structure
850
+ end
851
+
852
+ # @note When making an API call, you may pass DisconnectRecoveryInstanceRequest
853
+ # data as a hash:
854
+ #
855
+ # {
856
+ # recovery_instance_id: "RecoveryInstanceID", # required
857
+ # }
858
+ #
859
+ # @!attribute [rw] recovery_instance_id
860
+ # The ID of the Recovery Instance to disconnect.
861
+ # @return [String]
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectRecoveryInstanceRequest AWS API Documentation
864
+ #
865
+ class DisconnectRecoveryInstanceRequest < Struct.new(
866
+ :recovery_instance_id)
867
+ SENSITIVE = []
868
+ include Aws::Structure
869
+ end
870
+
871
+ # @note When making an API call, you may pass DisconnectSourceServerRequest
872
+ # data as a hash:
873
+ #
874
+ # {
875
+ # source_server_id: "SourceServerID", # required
876
+ # }
877
+ #
878
+ # @!attribute [rw] source_server_id
879
+ # The ID of the Source Server to disconnect.
880
+ # @return [String]
881
+ #
882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectSourceServerRequest AWS API Documentation
883
+ #
884
+ class DisconnectSourceServerRequest < Struct.new(
885
+ :source_server_id)
886
+ SENSITIVE = []
887
+ include Aws::Structure
888
+ end
889
+
890
+ # An object representing a data storage device on a server.
891
+ #
892
+ # @!attribute [rw] bytes
893
+ # The amount of storage on the disk in bytes.
894
+ # @return [Integer]
895
+ #
896
+ # @!attribute [rw] device_name
897
+ # The disk or device name.
898
+ # @return [String]
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/Disk AWS API Documentation
901
+ #
902
+ class Disk < Struct.new(
903
+ :bytes,
904
+ :device_name)
905
+ SENSITIVE = []
906
+ include Aws::Structure
907
+ end
908
+
909
+ # @note When making an API call, you may pass GetFailbackReplicationConfigurationRequest
910
+ # data as a hash:
911
+ #
912
+ # {
913
+ # recovery_instance_id: "RecoveryInstanceID", # required
914
+ # }
915
+ #
916
+ # @!attribute [rw] recovery_instance_id
917
+ # The ID of the Recovery Instance whose failback replication
918
+ # configuration should be returned.
919
+ # @return [String]
920
+ #
921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetFailbackReplicationConfigurationRequest AWS API Documentation
922
+ #
923
+ class GetFailbackReplicationConfigurationRequest < Struct.new(
924
+ :recovery_instance_id)
925
+ SENSITIVE = []
926
+ include Aws::Structure
927
+ end
928
+
929
+ # @!attribute [rw] bandwidth_throttling
930
+ # Configure bandwidth throttling for the outbound data transfer rate
931
+ # of the Recovery Instance in Mbps.
932
+ # @return [Integer]
933
+ #
934
+ # @!attribute [rw] name
935
+ # The name of the Failback Replication Configuration.
936
+ # @return [String]
937
+ #
938
+ # @!attribute [rw] recovery_instance_id
939
+ # The ID of the Recovery Instance.
940
+ # @return [String]
941
+ #
942
+ # @!attribute [rw] use_private_ip
943
+ # Whether to use Private IP for the failback replication of the
944
+ # Recovery Instance.
945
+ # @return [Boolean]
946
+ #
947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetFailbackReplicationConfigurationResponse AWS API Documentation
948
+ #
949
+ class GetFailbackReplicationConfigurationResponse < Struct.new(
950
+ :bandwidth_throttling,
951
+ :name,
952
+ :recovery_instance_id,
953
+ :use_private_ip)
954
+ SENSITIVE = []
955
+ include Aws::Structure
956
+ end
957
+
958
+ # @note When making an API call, you may pass GetLaunchConfigurationRequest
959
+ # data as a hash:
960
+ #
961
+ # {
962
+ # source_server_id: "SourceServerID", # required
963
+ # }
964
+ #
965
+ # @!attribute [rw] source_server_id
966
+ # The ID of the Source Server that we want to retrieve a Launch
967
+ # Configuration for.
968
+ # @return [String]
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetLaunchConfigurationRequest AWS API Documentation
971
+ #
972
+ class GetLaunchConfigurationRequest < Struct.new(
973
+ :source_server_id)
974
+ SENSITIVE = []
975
+ include Aws::Structure
976
+ end
977
+
978
+ # @note When making an API call, you may pass GetReplicationConfigurationRequest
979
+ # data as a hash:
980
+ #
981
+ # {
982
+ # source_server_id: "SourceServerID", # required
983
+ # }
984
+ #
985
+ # @!attribute [rw] source_server_id
986
+ # The ID of the Source Serve for this Replication Configuration.r
987
+ # @return [String]
988
+ #
989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetReplicationConfigurationRequest AWS API Documentation
990
+ #
991
+ class GetReplicationConfigurationRequest < Struct.new(
992
+ :source_server_id)
993
+ SENSITIVE = []
994
+ include Aws::Structure
995
+ end
996
+
997
+ # Hints used to uniquely identify a machine.
998
+ #
999
+ # @!attribute [rw] aws_instance_id
1000
+ # AWS Instance ID identification hint.
1001
+ # @return [String]
1002
+ #
1003
+ # @!attribute [rw] fqdn
1004
+ # Fully Qualified Domain Name identification hint.
1005
+ # @return [String]
1006
+ #
1007
+ # @!attribute [rw] hostname
1008
+ # Hostname identification hint.
1009
+ # @return [String]
1010
+ #
1011
+ # @!attribute [rw] vm_ware_uuid
1012
+ # vCenter VM path identification hint.
1013
+ # @return [String]
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/IdentificationHints AWS API Documentation
1016
+ #
1017
+ class IdentificationHints < Struct.new(
1018
+ :aws_instance_id,
1019
+ :fqdn,
1020
+ :hostname,
1021
+ :vm_ware_uuid)
1022
+ SENSITIVE = []
1023
+ include Aws::Structure
1024
+ end
1025
+
1026
+ # @api private
1027
+ #
1028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/InitializeServiceRequest AWS API Documentation
1029
+ #
1030
+ class InitializeServiceRequest < Aws::EmptyStructure; end
1031
+
1032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/InitializeServiceResponse AWS API Documentation
1033
+ #
1034
+ class InitializeServiceResponse < Aws::EmptyStructure; end
1035
+
1036
+ # The request processing has failed because of an unknown error,
1037
+ # exception or failure.
1038
+ #
1039
+ # @!attribute [rw] message
1040
+ # @return [String]
1041
+ #
1042
+ # @!attribute [rw] retry_after_seconds
1043
+ # The number of seconds after which the request should be safe to
1044
+ # retry.
1045
+ # @return [Integer]
1046
+ #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/InternalServerException AWS API Documentation
1048
+ #
1049
+ class InternalServerException < Struct.new(
1050
+ :message,
1051
+ :retry_after_seconds)
1052
+ SENSITIVE = []
1053
+ include Aws::Structure
1054
+ end
1055
+
1056
+ # A job is an asynchronous workflow.
1057
+ #
1058
+ # @!attribute [rw] arn
1059
+ # The ARN of a Job.
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] creation_date_time
1063
+ # The date and time of when the Job was created.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] end_date_time
1067
+ # The date and time of when the Job ended.
1068
+ # @return [String]
1069
+ #
1070
+ # @!attribute [rw] initiated_by
1071
+ # A string representing who initiated the Job.
1072
+ # @return [String]
1073
+ #
1074
+ # @!attribute [rw] job_id
1075
+ # The ID of the Job.
1076
+ # @return [String]
1077
+ #
1078
+ # @!attribute [rw] participating_servers
1079
+ # A list of servers that the Job is acting upon.
1080
+ # @return [Array<Types::ParticipatingServer>]
1081
+ #
1082
+ # @!attribute [rw] status
1083
+ # The status of the Job.
1084
+ # @return [String]
1085
+ #
1086
+ # @!attribute [rw] tags
1087
+ # A list of tags associated with the Job.
1088
+ # @return [Hash<String,String>]
1089
+ #
1090
+ # @!attribute [rw] type
1091
+ # The type of the Job.
1092
+ # @return [String]
1093
+ #
1094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/Job AWS API Documentation
1095
+ #
1096
+ class Job < Struct.new(
1097
+ :arn,
1098
+ :creation_date_time,
1099
+ :end_date_time,
1100
+ :initiated_by,
1101
+ :job_id,
1102
+ :participating_servers,
1103
+ :status,
1104
+ :tags,
1105
+ :type)
1106
+ SENSITIVE = [:tags]
1107
+ include Aws::Structure
1108
+ end
1109
+
1110
+ # A log outputted by a Job.
1111
+ #
1112
+ # @!attribute [rw] event
1113
+ # The event represents the type of a log.
1114
+ # @return [String]
1115
+ #
1116
+ # @!attribute [rw] event_data
1117
+ # Metadata associated with a Job log.
1118
+ # @return [Types::JobLogEventData]
1119
+ #
1120
+ # @!attribute [rw] log_date_time
1121
+ # The date and time the log was taken.
1122
+ # @return [String]
1123
+ #
1124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/JobLog AWS API Documentation
1125
+ #
1126
+ class JobLog < Struct.new(
1127
+ :event,
1128
+ :event_data,
1129
+ :log_date_time)
1130
+ SENSITIVE = []
1131
+ include Aws::Structure
1132
+ end
1133
+
1134
+ # Metadata associated with a Job log.
1135
+ #
1136
+ # @!attribute [rw] conversion_server_id
1137
+ # The ID of a conversion server.
1138
+ # @return [String]
1139
+ #
1140
+ # @!attribute [rw] raw_error
1141
+ # A string representing a job error.
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] source_server_id
1145
+ # The ID of a Source Server.
1146
+ # @return [String]
1147
+ #
1148
+ # @!attribute [rw] target_instance_id
1149
+ # The ID of a Recovery Instance.
1150
+ # @return [String]
1151
+ #
1152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/JobLogEventData AWS API Documentation
1153
+ #
1154
+ class JobLogEventData < Struct.new(
1155
+ :conversion_server_id,
1156
+ :raw_error,
1157
+ :source_server_id,
1158
+ :target_instance_id)
1159
+ SENSITIVE = []
1160
+ include Aws::Structure
1161
+ end
1162
+
1163
+ # @!attribute [rw] copy_private_ip
1164
+ # Whether we should copy the Private IP of the Source Server to the
1165
+ # Recovery Instance.
1166
+ # @return [Boolean]
1167
+ #
1168
+ # @!attribute [rw] copy_tags
1169
+ # Whether we want to copy the tags of the Source Server to the EC2
1170
+ # machine of the Recovery Instance.
1171
+ # @return [Boolean]
1172
+ #
1173
+ # @!attribute [rw] ec2_launch_template_id
1174
+ # The EC2 launch template ID of this launch configuration.
1175
+ # @return [String]
1176
+ #
1177
+ # @!attribute [rw] launch_disposition
1178
+ # The state of the Recovery Instance in EC2 after the recovery
1179
+ # operation.
1180
+ # @return [String]
1181
+ #
1182
+ # @!attribute [rw] licensing
1183
+ # The licensing configuration to be used for this launch
1184
+ # configuration.
1185
+ # @return [Types::Licensing]
1186
+ #
1187
+ # @!attribute [rw] name
1188
+ # The name of the launch configuration.
1189
+ # @return [String]
1190
+ #
1191
+ # @!attribute [rw] source_server_id
1192
+ # The ID of the Source Server for this launch configuration.
1193
+ # @return [String]
1194
+ #
1195
+ # @!attribute [rw] target_instance_type_right_sizing_method
1196
+ # Whether Elastic Disaster Recovery should try to automatically choose
1197
+ # the instance type that best matches the OS, CPU, and RAM of your
1198
+ # Source Server.
1199
+ # @return [String]
1200
+ #
1201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/LaunchConfiguration AWS API Documentation
1202
+ #
1203
+ class LaunchConfiguration < Struct.new(
1204
+ :copy_private_ip,
1205
+ :copy_tags,
1206
+ :ec2_launch_template_id,
1207
+ :launch_disposition,
1208
+ :licensing,
1209
+ :name,
1210
+ :source_server_id,
1211
+ :target_instance_type_right_sizing_method)
1212
+ SENSITIVE = []
1213
+ include Aws::Structure
1214
+ end
1215
+
1216
+ # Configuration of a machine's license.
1217
+ #
1218
+ # @note When making an API call, you may pass Licensing
1219
+ # data as a hash:
1220
+ #
1221
+ # {
1222
+ # os_byol: false,
1223
+ # }
1224
+ #
1225
+ # @!attribute [rw] os_byol
1226
+ # Whether to enable "Bring your own license" or not.
1227
+ # @return [Boolean]
1228
+ #
1229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/Licensing AWS API Documentation
1230
+ #
1231
+ class Licensing < Struct.new(
1232
+ :os_byol)
1233
+ SENSITIVE = []
1234
+ include Aws::Structure
1235
+ end
1236
+
1237
+ # An object representing the Source Server Lifecycle.
1238
+ #
1239
+ # @!attribute [rw] added_to_service_date_time
1240
+ # The date and time of when the Source Server was added to the
1241
+ # service.
1242
+ # @return [String]
1243
+ #
1244
+ # @!attribute [rw] elapsed_replication_duration
1245
+ # The amount of time that the Source Server has been replicating for.
1246
+ # @return [String]
1247
+ #
1248
+ # @!attribute [rw] first_byte_date_time
1249
+ # The date and time of the first byte that was replicated from the
1250
+ # Source Server.
1251
+ # @return [String]
1252
+ #
1253
+ # @!attribute [rw] last_launch
1254
+ # An object containing information regarding the last launch of the
1255
+ # Source Server.
1256
+ # @return [Types::LifeCycleLastLaunch]
1257
+ #
1258
+ # @!attribute [rw] last_seen_by_service_date_time
1259
+ # The date and time this Source Server was last seen by the service.
1260
+ # @return [String]
1261
+ #
1262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/LifeCycle AWS API Documentation
1263
+ #
1264
+ class LifeCycle < Struct.new(
1265
+ :added_to_service_date_time,
1266
+ :elapsed_replication_duration,
1267
+ :first_byte_date_time,
1268
+ :last_launch,
1269
+ :last_seen_by_service_date_time)
1270
+ SENSITIVE = []
1271
+ include Aws::Structure
1272
+ end
1273
+
1274
+ # An object containing information regarding the last launch of a Source
1275
+ # Server.
1276
+ #
1277
+ # @!attribute [rw] initiated
1278
+ # An object containing information regarding the initiation of the
1279
+ # last launch of a Source Server.
1280
+ # @return [Types::LifeCycleLastLaunchInitiated]
1281
+ #
1282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/LifeCycleLastLaunch AWS API Documentation
1283
+ #
1284
+ class LifeCycleLastLaunch < Struct.new(
1285
+ :initiated)
1286
+ SENSITIVE = []
1287
+ include Aws::Structure
1288
+ end
1289
+
1290
+ # An object containing information regarding the initiation of the last
1291
+ # launch of a Source Server.
1292
+ #
1293
+ # @!attribute [rw] api_call_date_time
1294
+ # The date and time the last Source Server launch was initiated.
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] job_id
1298
+ # The ID of the Job that was used to last launch the Source Server.
1299
+ # @return [String]
1300
+ #
1301
+ # @!attribute [rw] type
1302
+ # The Job type that was used to last launch the Source Server.
1303
+ # @return [String]
1304
+ #
1305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/LifeCycleLastLaunchInitiated AWS API Documentation
1306
+ #
1307
+ class LifeCycleLastLaunchInitiated < Struct.new(
1308
+ :api_call_date_time,
1309
+ :job_id,
1310
+ :type)
1311
+ SENSITIVE = []
1312
+ include Aws::Structure
1313
+ end
1314
+
1315
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1316
+ # data as a hash:
1317
+ #
1318
+ # {
1319
+ # resource_arn: "ARN", # required
1320
+ # }
1321
+ #
1322
+ # @!attribute [rw] resource_arn
1323
+ # The ARN of the resource whose tags should be returned.
1324
+ # @return [String]
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ListTagsForResourceRequest AWS API Documentation
1327
+ #
1328
+ class ListTagsForResourceRequest < Struct.new(
1329
+ :resource_arn)
1330
+ SENSITIVE = []
1331
+ include Aws::Structure
1332
+ end
1333
+
1334
+ # @!attribute [rw] tags
1335
+ # The tags of the requested resource.
1336
+ # @return [Hash<String,String>]
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ListTagsForResourceResponse AWS API Documentation
1339
+ #
1340
+ class ListTagsForResourceResponse < Struct.new(
1341
+ :tags)
1342
+ SENSITIVE = [:tags]
1343
+ include Aws::Structure
1344
+ end
1345
+
1346
+ # Network interface.
1347
+ #
1348
+ # @!attribute [rw] ips
1349
+ # Network interface IPs.
1350
+ # @return [Array<String>]
1351
+ #
1352
+ # @!attribute [rw] is_primary
1353
+ # Whether this is the primary network interface.
1354
+ # @return [Boolean]
1355
+ #
1356
+ # @!attribute [rw] mac_address
1357
+ # The MAC address of the network interface.
1358
+ # @return [String]
1359
+ #
1360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/NetworkInterface AWS API Documentation
1361
+ #
1362
+ class NetworkInterface < Struct.new(
1363
+ :ips,
1364
+ :is_primary,
1365
+ :mac_address)
1366
+ SENSITIVE = []
1367
+ include Aws::Structure
1368
+ end
1369
+
1370
+ # Operating System.
1371
+ #
1372
+ # @!attribute [rw] full_string
1373
+ # The long name of the Operating System.
1374
+ # @return [String]
1375
+ #
1376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/OS AWS API Documentation
1377
+ #
1378
+ class OS < Struct.new(
1379
+ :full_string)
1380
+ SENSITIVE = []
1381
+ include Aws::Structure
1382
+ end
1383
+
1384
+ # A rule in the Point in Time (PIT) policy representing when to take
1385
+ # snapshots and how long to retain them for.
1386
+ #
1387
+ # @note When making an API call, you may pass PITPolicyRule
1388
+ # data as a hash:
1389
+ #
1390
+ # {
1391
+ # enabled: false,
1392
+ # interval: 1, # required
1393
+ # retention_duration: 1, # required
1394
+ # rule_id: 1,
1395
+ # units: "MINUTE", # required, accepts MINUTE, HOUR, DAY
1396
+ # }
1397
+ #
1398
+ # @!attribute [rw] enabled
1399
+ # Whether this rule is enabled or not.
1400
+ # @return [Boolean]
1401
+ #
1402
+ # @!attribute [rw] interval
1403
+ # How often, in the chosen units, a snapshot should be taken.
1404
+ # @return [Integer]
1405
+ #
1406
+ # @!attribute [rw] retention_duration
1407
+ # The duration to retain a snapshot for, in the chosen units.
1408
+ # @return [Integer]
1409
+ #
1410
+ # @!attribute [rw] rule_id
1411
+ # The ID of the rule.
1412
+ # @return [Integer]
1413
+ #
1414
+ # @!attribute [rw] units
1415
+ # The units used to measure the interval and retentionDuration.
1416
+ # @return [String]
1417
+ #
1418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/PITPolicyRule AWS API Documentation
1419
+ #
1420
+ class PITPolicyRule < Struct.new(
1421
+ :enabled,
1422
+ :interval,
1423
+ :retention_duration,
1424
+ :rule_id,
1425
+ :units)
1426
+ SENSITIVE = []
1427
+ include Aws::Structure
1428
+ end
1429
+
1430
+ # Represents a server participating in an asynchronous Job.
1431
+ #
1432
+ # @!attribute [rw] launch_status
1433
+ # The launch status of a participating server.
1434
+ # @return [String]
1435
+ #
1436
+ # @!attribute [rw] recovery_instance_id
1437
+ # The Recovery Instance ID of a participating server.
1438
+ # @return [String]
1439
+ #
1440
+ # @!attribute [rw] source_server_id
1441
+ # The Source Server ID of a participating server.
1442
+ # @return [String]
1443
+ #
1444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ParticipatingServer AWS API Documentation
1445
+ #
1446
+ class ParticipatingServer < Struct.new(
1447
+ :launch_status,
1448
+ :recovery_instance_id,
1449
+ :source_server_id)
1450
+ SENSITIVE = []
1451
+ include Aws::Structure
1452
+ end
1453
+
1454
+ # A Recovery Instance is a replica of a Source Server running on EC2.
1455
+ #
1456
+ # @!attribute [rw] arn
1457
+ # The ARN of the Recovery Instance.
1458
+ # @return [String]
1459
+ #
1460
+ # @!attribute [rw] data_replication_info
1461
+ # The Data Replication Info of the Recovery Instance.
1462
+ # @return [Types::RecoveryInstanceDataReplicationInfo]
1463
+ #
1464
+ # @!attribute [rw] ec2_instance_id
1465
+ # The EC2 instance ID of the Recovery Instance.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] ec2_instance_state
1469
+ # The state of the EC2 instance for this Recovery Instance.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] failback
1473
+ # An object representing failback related information of the Recovery
1474
+ # Instance.
1475
+ # @return [Types::RecoveryInstanceFailback]
1476
+ #
1477
+ # @!attribute [rw] is_drill
1478
+ # Whether this Recovery Instance was created for a drill or for an
1479
+ # actual Recovery event.
1480
+ # @return [Boolean]
1481
+ #
1482
+ # @!attribute [rw] job_id
1483
+ # The ID of the Job that created the Recovery Instance.
1484
+ # @return [String]
1485
+ #
1486
+ # @!attribute [rw] point_in_time_snapshot_date_time
1487
+ # The date and time of the Point in Time (PIT) snapshot that this
1488
+ # Recovery Instance was launched from.
1489
+ # @return [String]
1490
+ #
1491
+ # @!attribute [rw] recovery_instance_id
1492
+ # The ID of the Recovery Instance.
1493
+ # @return [String]
1494
+ #
1495
+ # @!attribute [rw] recovery_instance_properties
1496
+ # Properties of the Recovery Instance machine.
1497
+ # @return [Types::RecoveryInstanceProperties]
1498
+ #
1499
+ # @!attribute [rw] source_server_id
1500
+ # The Source Server ID that this Recovery Instance is associated with.
1501
+ # @return [String]
1502
+ #
1503
+ # @!attribute [rw] tags
1504
+ # An array of tags that are associated with the Recovery Instance.
1505
+ # @return [Hash<String,String>]
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstance AWS API Documentation
1508
+ #
1509
+ class RecoveryInstance < Struct.new(
1510
+ :arn,
1511
+ :data_replication_info,
1512
+ :ec2_instance_id,
1513
+ :ec2_instance_state,
1514
+ :failback,
1515
+ :is_drill,
1516
+ :job_id,
1517
+ :point_in_time_snapshot_date_time,
1518
+ :recovery_instance_id,
1519
+ :recovery_instance_properties,
1520
+ :source_server_id,
1521
+ :tags)
1522
+ SENSITIVE = [:tags]
1523
+ include Aws::Structure
1524
+ end
1525
+
1526
+ # Error in data replication.
1527
+ #
1528
+ # @!attribute [rw] error
1529
+ # Error in data replication.
1530
+ # @return [String]
1531
+ #
1532
+ # @!attribute [rw] raw_error
1533
+ # Error in data replication.
1534
+ # @return [String]
1535
+ #
1536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDataReplicationError AWS API Documentation
1537
+ #
1538
+ class RecoveryInstanceDataReplicationError < Struct.new(
1539
+ :error,
1540
+ :raw_error)
1541
+ SENSITIVE = []
1542
+ include Aws::Structure
1543
+ end
1544
+
1545
+ # Information about Data Replication
1546
+ #
1547
+ # @!attribute [rw] data_replication_error
1548
+ # Information about Data Replication
1549
+ # @return [Types::RecoveryInstanceDataReplicationError]
1550
+ #
1551
+ # @!attribute [rw] data_replication_initiation
1552
+ # Information about whether the data replication has been initiated.
1553
+ # @return [Types::RecoveryInstanceDataReplicationInitiation]
1554
+ #
1555
+ # @!attribute [rw] data_replication_state
1556
+ # The state of the data replication.
1557
+ # @return [String]
1558
+ #
1559
+ # @!attribute [rw] eta_date_time
1560
+ # An estimate of when the data replication will be completed.
1561
+ # @return [String]
1562
+ #
1563
+ # @!attribute [rw] lag_duration
1564
+ # Data replication lag duration.
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] replicated_disks
1568
+ # The disks that should be replicated.
1569
+ # @return [Array<Types::RecoveryInstanceDataReplicationInfoReplicatedDisk>]
1570
+ #
1571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDataReplicationInfo AWS API Documentation
1572
+ #
1573
+ class RecoveryInstanceDataReplicationInfo < Struct.new(
1574
+ :data_replication_error,
1575
+ :data_replication_initiation,
1576
+ :data_replication_state,
1577
+ :eta_date_time,
1578
+ :lag_duration,
1579
+ :replicated_disks)
1580
+ SENSITIVE = []
1581
+ include Aws::Structure
1582
+ end
1583
+
1584
+ # A disk that should be replicated.
1585
+ #
1586
+ # @!attribute [rw] backlogged_storage_bytes
1587
+ # The size of the replication backlog in bytes.
1588
+ # @return [Integer]
1589
+ #
1590
+ # @!attribute [rw] device_name
1591
+ # The name of the device.
1592
+ # @return [String]
1593
+ #
1594
+ # @!attribute [rw] replicated_storage_bytes
1595
+ # The amount of data replicated so far in bytes.
1596
+ # @return [Integer]
1597
+ #
1598
+ # @!attribute [rw] rescanned_storage_bytes
1599
+ # The amount of data to be rescanned in bytes.
1600
+ # @return [Integer]
1601
+ #
1602
+ # @!attribute [rw] total_storage_bytes
1603
+ # The total amount of data to be replicated in bytes.
1604
+ # @return [Integer]
1605
+ #
1606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDataReplicationInfoReplicatedDisk AWS API Documentation
1607
+ #
1608
+ class RecoveryInstanceDataReplicationInfoReplicatedDisk < Struct.new(
1609
+ :backlogged_storage_bytes,
1610
+ :device_name,
1611
+ :replicated_storage_bytes,
1612
+ :rescanned_storage_bytes,
1613
+ :total_storage_bytes)
1614
+ SENSITIVE = []
1615
+ include Aws::Structure
1616
+ end
1617
+
1618
+ # Data replication initiation.
1619
+ #
1620
+ # @!attribute [rw] start_date_time
1621
+ # The date and time of the current attempt to initiate data
1622
+ # replication.
1623
+ # @return [String]
1624
+ #
1625
+ # @!attribute [rw] steps
1626
+ # The steps of the current attempt to initiate data replication.
1627
+ # @return [Array<Types::RecoveryInstanceDataReplicationInitiationStep>]
1628
+ #
1629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDataReplicationInitiation AWS API Documentation
1630
+ #
1631
+ class RecoveryInstanceDataReplicationInitiation < Struct.new(
1632
+ :start_date_time,
1633
+ :steps)
1634
+ SENSITIVE = []
1635
+ include Aws::Structure
1636
+ end
1637
+
1638
+ # Data replication initiation step.
1639
+ #
1640
+ # @!attribute [rw] name
1641
+ # The name of the step.
1642
+ # @return [String]
1643
+ #
1644
+ # @!attribute [rw] status
1645
+ # The status of the step.
1646
+ # @return [String]
1647
+ #
1648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDataReplicationInitiationStep AWS API Documentation
1649
+ #
1650
+ class RecoveryInstanceDataReplicationInitiationStep < Struct.new(
1651
+ :name,
1652
+ :status)
1653
+ SENSITIVE = []
1654
+ include Aws::Structure
1655
+ end
1656
+
1657
+ # An object representing a block storage device on the Recovery
1658
+ # Instance.
1659
+ #
1660
+ # @!attribute [rw] bytes
1661
+ # The amount of storage on the disk in bytes.
1662
+ # @return [Integer]
1663
+ #
1664
+ # @!attribute [rw] ebs_volume_id
1665
+ # The EBS Volume ID of this disk.
1666
+ # @return [String]
1667
+ #
1668
+ # @!attribute [rw] internal_device_name
1669
+ # The internal device name of this disk. This is the name that is
1670
+ # visible on the machine itself and not from the EC2 console.
1671
+ # @return [String]
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceDisk AWS API Documentation
1674
+ #
1675
+ class RecoveryInstanceDisk < Struct.new(
1676
+ :bytes,
1677
+ :ebs_volume_id,
1678
+ :internal_device_name)
1679
+ SENSITIVE = []
1680
+ include Aws::Structure
1681
+ end
1682
+
1683
+ # An object representing failback related information of the Recovery
1684
+ # Instance.
1685
+ #
1686
+ # @!attribute [rw] agent_last_seen_by_service_date_time
1687
+ # The date and time the agent on the Recovery Instance was last seen
1688
+ # by the service.
1689
+ # @return [String]
1690
+ #
1691
+ # @!attribute [rw] elapsed_replication_duration
1692
+ # The amount of time that the Recovery Instance has been replicating
1693
+ # for.
1694
+ # @return [String]
1695
+ #
1696
+ # @!attribute [rw] failback_client_id
1697
+ # The ID of the failback client that this Recovery Instance is
1698
+ # associated with.
1699
+ # @return [String]
1700
+ #
1701
+ # @!attribute [rw] failback_client_last_seen_by_service_date_time
1702
+ # The date and time that the failback client was last seen by the
1703
+ # service.
1704
+ # @return [String]
1705
+ #
1706
+ # @!attribute [rw] failback_initiation_time
1707
+ # The date and time that the failback initiation started.
1708
+ # @return [String]
1709
+ #
1710
+ # @!attribute [rw] failback_job_id
1711
+ # The Job ID of the last failback log for this Recovery Instance.
1712
+ # @return [String]
1713
+ #
1714
+ # @!attribute [rw] failback_to_original_server
1715
+ # Whether we are failing back to the original Source Server for this
1716
+ # Recovery Instance.
1717
+ # @return [Boolean]
1718
+ #
1719
+ # @!attribute [rw] first_byte_date_time
1720
+ # The date and time of the first byte that was replicated from the
1721
+ # Recovery Instance.
1722
+ # @return [String]
1723
+ #
1724
+ # @!attribute [rw] state
1725
+ # The state of the failback process that this Recovery Instance is in.
1726
+ # @return [String]
1727
+ #
1728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceFailback AWS API Documentation
1729
+ #
1730
+ class RecoveryInstanceFailback < Struct.new(
1731
+ :agent_last_seen_by_service_date_time,
1732
+ :elapsed_replication_duration,
1733
+ :failback_client_id,
1734
+ :failback_client_last_seen_by_service_date_time,
1735
+ :failback_initiation_time,
1736
+ :failback_job_id,
1737
+ :failback_to_original_server,
1738
+ :first_byte_date_time,
1739
+ :state)
1740
+ SENSITIVE = []
1741
+ include Aws::Structure
1742
+ end
1743
+
1744
+ # Properties of the Recovery Instance machine.
1745
+ #
1746
+ # @!attribute [rw] cpus
1747
+ # An array of CPUs.
1748
+ # @return [Array<Types::CPU>]
1749
+ #
1750
+ # @!attribute [rw] disks
1751
+ # An array of disks.
1752
+ # @return [Array<Types::RecoveryInstanceDisk>]
1753
+ #
1754
+ # @!attribute [rw] identification_hints
1755
+ # Hints used to uniquely identify a machine.
1756
+ # @return [Types::IdentificationHints]
1757
+ #
1758
+ # @!attribute [rw] last_updated_date_time
1759
+ # The date and time the Recovery Instance properties were last updated
1760
+ # on.
1761
+ # @return [String]
1762
+ #
1763
+ # @!attribute [rw] network_interfaces
1764
+ # An array of network interfaces.
1765
+ # @return [Array<Types::NetworkInterface>]
1766
+ #
1767
+ # @!attribute [rw] os
1768
+ # Operating system.
1769
+ # @return [Types::OS]
1770
+ #
1771
+ # @!attribute [rw] ram_bytes
1772
+ # The amount of RAM in bytes.
1773
+ # @return [Integer]
1774
+ #
1775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoveryInstanceProperties AWS API Documentation
1776
+ #
1777
+ class RecoveryInstanceProperties < Struct.new(
1778
+ :cpus,
1779
+ :disks,
1780
+ :identification_hints,
1781
+ :last_updated_date_time,
1782
+ :network_interfaces,
1783
+ :os,
1784
+ :ram_bytes)
1785
+ SENSITIVE = []
1786
+ include Aws::Structure
1787
+ end
1788
+
1789
+ # A snapshot of a Source Server used during recovery.
1790
+ #
1791
+ # @!attribute [rw] ebs_snapshots
1792
+ # A list of EBS snapshots.
1793
+ # @return [Array<String>]
1794
+ #
1795
+ # @!attribute [rw] expected_timestamp
1796
+ # The timestamp of when we expect the snapshot to be taken.
1797
+ # @return [String]
1798
+ #
1799
+ # @!attribute [rw] snapshot_id
1800
+ # The ID of the Recovery Snapshot.
1801
+ # @return [String]
1802
+ #
1803
+ # @!attribute [rw] source_server_id
1804
+ # The ID of the Source Server that the snapshot was taken for.
1805
+ # @return [String]
1806
+ #
1807
+ # @!attribute [rw] timestamp
1808
+ # The actual timestamp that the snapshot was taken.
1809
+ # @return [String]
1810
+ #
1811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RecoverySnapshot AWS API Documentation
1812
+ #
1813
+ class RecoverySnapshot < Struct.new(
1814
+ :ebs_snapshots,
1815
+ :expected_timestamp,
1816
+ :snapshot_id,
1817
+ :source_server_id,
1818
+ :timestamp)
1819
+ SENSITIVE = []
1820
+ include Aws::Structure
1821
+ end
1822
+
1823
+ # @!attribute [rw] associate_default_security_group
1824
+ # Whether to associate the default Elastic Disaster Recovery Security
1825
+ # group with the Replication Configuration.
1826
+ # @return [Boolean]
1827
+ #
1828
+ # @!attribute [rw] bandwidth_throttling
1829
+ # Configure bandwidth throttling for the outbound data transfer rate
1830
+ # of the Source Server in Mbps.
1831
+ # @return [Integer]
1832
+ #
1833
+ # @!attribute [rw] create_public_ip
1834
+ # Whether to create a Public IP for the Recovery Instance by default.
1835
+ # @return [Boolean]
1836
+ #
1837
+ # @!attribute [rw] data_plane_routing
1838
+ # The data plane routing mechanism that will be used for replication.
1839
+ # @return [String]
1840
+ #
1841
+ # @!attribute [rw] default_large_staging_disk_type
1842
+ # The Staging Disk EBS volume type to be used during replication.
1843
+ # @return [String]
1844
+ #
1845
+ # @!attribute [rw] ebs_encryption
1846
+ # The type of EBS encryption to be used during replication.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] ebs_encryption_key_arn
1850
+ # The ARN of the EBS encryption key to be used during replication.
1851
+ # @return [String]
1852
+ #
1853
+ # @!attribute [rw] name
1854
+ # The name of the Replication Configuration.
1855
+ # @return [String]
1856
+ #
1857
+ # @!attribute [rw] pit_policy
1858
+ # The Point in time (PIT) policy to manage snapshots taken during
1859
+ # replication.
1860
+ # @return [Array<Types::PITPolicyRule>]
1861
+ #
1862
+ # @!attribute [rw] replicated_disks
1863
+ # The configuration of the disks of the Source Server to be
1864
+ # replicated.
1865
+ # @return [Array<Types::ReplicationConfigurationReplicatedDisk>]
1866
+ #
1867
+ # @!attribute [rw] replication_server_instance_type
1868
+ # The instance type to be used for the replication server.
1869
+ # @return [String]
1870
+ #
1871
+ # @!attribute [rw] replication_servers_security_groups_i_ds
1872
+ # The security group IDs that will be used by the replication server.
1873
+ # @return [Array<String>]
1874
+ #
1875
+ # @!attribute [rw] source_server_id
1876
+ # The ID of the Source Server for this Replication Configuration.
1877
+ # @return [String]
1878
+ #
1879
+ # @!attribute [rw] staging_area_subnet_id
1880
+ # The subnet to be used by the replication staging area.
1881
+ # @return [String]
1882
+ #
1883
+ # @!attribute [rw] staging_area_tags
1884
+ # A set of tags to be associated with all resources created in the
1885
+ # replication staging area: EC2 replication server, EBS volumes, EBS
1886
+ # snapshots, etc.
1887
+ # @return [Hash<String,String>]
1888
+ #
1889
+ # @!attribute [rw] use_dedicated_replication_server
1890
+ # Whether to use a dedicated Replication Server in the replication
1891
+ # staging area.
1892
+ # @return [Boolean]
1893
+ #
1894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReplicationConfiguration AWS API Documentation
1895
+ #
1896
+ class ReplicationConfiguration < Struct.new(
1897
+ :associate_default_security_group,
1898
+ :bandwidth_throttling,
1899
+ :create_public_ip,
1900
+ :data_plane_routing,
1901
+ :default_large_staging_disk_type,
1902
+ :ebs_encryption,
1903
+ :ebs_encryption_key_arn,
1904
+ :name,
1905
+ :pit_policy,
1906
+ :replicated_disks,
1907
+ :replication_server_instance_type,
1908
+ :replication_servers_security_groups_i_ds,
1909
+ :source_server_id,
1910
+ :staging_area_subnet_id,
1911
+ :staging_area_tags,
1912
+ :use_dedicated_replication_server)
1913
+ SENSITIVE = [:staging_area_tags]
1914
+ include Aws::Structure
1915
+ end
1916
+
1917
+ # The configuration of a disk of the Source Server to be replicated.
1918
+ #
1919
+ # @note When making an API call, you may pass ReplicationConfigurationReplicatedDisk
1920
+ # data as a hash:
1921
+ #
1922
+ # {
1923
+ # device_name: "BoundedString",
1924
+ # iops: 1,
1925
+ # is_boot_disk: false,
1926
+ # staging_disk_type: "AUTO", # accepts AUTO, GP2, GP3, IO1, SC1, ST1, STANDARD
1927
+ # throughput: 1,
1928
+ # }
1929
+ #
1930
+ # @!attribute [rw] device_name
1931
+ # The name of the device.
1932
+ # @return [String]
1933
+ #
1934
+ # @!attribute [rw] iops
1935
+ # The requested number of I/O operations per second (IOPS).
1936
+ # @return [Integer]
1937
+ #
1938
+ # @!attribute [rw] is_boot_disk
1939
+ # Whether to boot from this disk or not.
1940
+ # @return [Boolean]
1941
+ #
1942
+ # @!attribute [rw] staging_disk_type
1943
+ # The Staging Disk EBS volume type to be used during replication.
1944
+ # @return [String]
1945
+ #
1946
+ # @!attribute [rw] throughput
1947
+ # The throughput to use for the EBS volume in MiB/s. This parameter is
1948
+ # valid only for gp3 volumes.
1949
+ # @return [Integer]
1950
+ #
1951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReplicationConfigurationReplicatedDisk AWS API Documentation
1952
+ #
1953
+ class ReplicationConfigurationReplicatedDisk < Struct.new(
1954
+ :device_name,
1955
+ :iops,
1956
+ :is_boot_disk,
1957
+ :staging_disk_type,
1958
+ :throughput)
1959
+ SENSITIVE = []
1960
+ include Aws::Structure
1961
+ end
1962
+
1963
+ # @!attribute [rw] arn
1964
+ # The Replication Configuration Template ARN.
1965
+ # @return [String]
1966
+ #
1967
+ # @!attribute [rw] associate_default_security_group
1968
+ # Whether to associate the default Elastic Disaster Recovery Security
1969
+ # group with the Replication Configuration Template.
1970
+ # @return [Boolean]
1971
+ #
1972
+ # @!attribute [rw] bandwidth_throttling
1973
+ # Configure bandwidth throttling for the outbound data transfer rate
1974
+ # of the Source Server in Mbps.
1975
+ # @return [Integer]
1976
+ #
1977
+ # @!attribute [rw] create_public_ip
1978
+ # Whether to create a Public IP for the Recovery Instance by default.
1979
+ # @return [Boolean]
1980
+ #
1981
+ # @!attribute [rw] data_plane_routing
1982
+ # The data plane routing mechanism that will be used for replication.
1983
+ # @return [String]
1984
+ #
1985
+ # @!attribute [rw] default_large_staging_disk_type
1986
+ # The Staging Disk EBS volume type to be used during replication.
1987
+ # @return [String]
1988
+ #
1989
+ # @!attribute [rw] ebs_encryption
1990
+ # The type of EBS encryption to be used during replication.
1991
+ # @return [String]
1992
+ #
1993
+ # @!attribute [rw] ebs_encryption_key_arn
1994
+ # The ARN of the EBS encryption key to be used during replication.
1995
+ # @return [String]
1996
+ #
1997
+ # @!attribute [rw] pit_policy
1998
+ # The Point in time (PIT) policy to manage snapshots taken during
1999
+ # replication.
2000
+ # @return [Array<Types::PITPolicyRule>]
2001
+ #
2002
+ # @!attribute [rw] replication_configuration_template_id
2003
+ # The Replication Configuration Template ID.
2004
+ # @return [String]
2005
+ #
2006
+ # @!attribute [rw] replication_server_instance_type
2007
+ # The instance type to be used for the replication server.
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] replication_servers_security_groups_i_ds
2011
+ # The security group IDs that will be used by the replication server.
2012
+ # @return [Array<String>]
2013
+ #
2014
+ # @!attribute [rw] staging_area_subnet_id
2015
+ # The subnet to be used by the replication staging area.
2016
+ # @return [String]
2017
+ #
2018
+ # @!attribute [rw] staging_area_tags
2019
+ # A set of tags to be associated with all resources created in the
2020
+ # replication staging area: EC2 replication server, EBS volumes, EBS
2021
+ # snapshots, etc.
2022
+ # @return [Hash<String,String>]
2023
+ #
2024
+ # @!attribute [rw] tags
2025
+ # A set of tags to be associated with the Replication Configuration
2026
+ # Template resource.
2027
+ # @return [Hash<String,String>]
2028
+ #
2029
+ # @!attribute [rw] use_dedicated_replication_server
2030
+ # Whether to use a dedicated Replication Server in the replication
2031
+ # staging area.
2032
+ # @return [Boolean]
2033
+ #
2034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ReplicationConfigurationTemplate AWS API Documentation
2035
+ #
2036
+ class ReplicationConfigurationTemplate < Struct.new(
2037
+ :arn,
2038
+ :associate_default_security_group,
2039
+ :bandwidth_throttling,
2040
+ :create_public_ip,
2041
+ :data_plane_routing,
2042
+ :default_large_staging_disk_type,
2043
+ :ebs_encryption,
2044
+ :ebs_encryption_key_arn,
2045
+ :pit_policy,
2046
+ :replication_configuration_template_id,
2047
+ :replication_server_instance_type,
2048
+ :replication_servers_security_groups_i_ds,
2049
+ :staging_area_subnet_id,
2050
+ :staging_area_tags,
2051
+ :tags,
2052
+ :use_dedicated_replication_server)
2053
+ SENSITIVE = [:staging_area_tags, :tags]
2054
+ include Aws::Structure
2055
+ end
2056
+
2057
+ # The resource for this operation was not found.
2058
+ #
2059
+ # @!attribute [rw] code
2060
+ # @return [String]
2061
+ #
2062
+ # @!attribute [rw] message
2063
+ # @return [String]
2064
+ #
2065
+ # @!attribute [rw] resource_id
2066
+ # The ID of the resource.
2067
+ # @return [String]
2068
+ #
2069
+ # @!attribute [rw] resource_type
2070
+ # The type of the resource.
2071
+ # @return [String]
2072
+ #
2073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ResourceNotFoundException AWS API Documentation
2074
+ #
2075
+ class ResourceNotFoundException < Struct.new(
2076
+ :code,
2077
+ :message,
2078
+ :resource_id,
2079
+ :resource_type)
2080
+ SENSITIVE = []
2081
+ include Aws::Structure
2082
+ end
2083
+
2084
+ # @note When making an API call, you may pass RetryDataReplicationRequest
2085
+ # data as a hash:
2086
+ #
2087
+ # {
2088
+ # source_server_id: "SourceServerID", # required
2089
+ # }
2090
+ #
2091
+ # @!attribute [rw] source_server_id
2092
+ # The ID of the Source Server whose data replication should be
2093
+ # retried.
2094
+ # @return [String]
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RetryDataReplicationRequest AWS API Documentation
2097
+ #
2098
+ class RetryDataReplicationRequest < Struct.new(
2099
+ :source_server_id)
2100
+ SENSITIVE = []
2101
+ include Aws::Structure
2102
+ end
2103
+
2104
+ # The request could not be completed because its exceeded the service
2105
+ # quota.
2106
+ #
2107
+ # @!attribute [rw] code
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] message
2111
+ # @return [String]
2112
+ #
2113
+ # @!attribute [rw] quota_code
2114
+ # Quota code.
2115
+ # @return [String]
2116
+ #
2117
+ # @!attribute [rw] resource_id
2118
+ # The ID of the resource.
2119
+ # @return [String]
2120
+ #
2121
+ # @!attribute [rw] resource_type
2122
+ # The type of the resource.
2123
+ # @return [String]
2124
+ #
2125
+ # @!attribute [rw] service_code
2126
+ # Service code.
2127
+ # @return [String]
2128
+ #
2129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ServiceQuotaExceededException AWS API Documentation
2130
+ #
2131
+ class ServiceQuotaExceededException < Struct.new(
2132
+ :code,
2133
+ :message,
2134
+ :quota_code,
2135
+ :resource_id,
2136
+ :resource_type,
2137
+ :service_code)
2138
+ SENSITIVE = []
2139
+ include Aws::Structure
2140
+ end
2141
+
2142
+ # Properties of the Source Server machine.
2143
+ #
2144
+ # @!attribute [rw] cpus
2145
+ # An array of CPUs.
2146
+ # @return [Array<Types::CPU>]
2147
+ #
2148
+ # @!attribute [rw] disks
2149
+ # An array of disks.
2150
+ # @return [Array<Types::Disk>]
2151
+ #
2152
+ # @!attribute [rw] identification_hints
2153
+ # Hints used to uniquely identify a machine.
2154
+ # @return [Types::IdentificationHints]
2155
+ #
2156
+ # @!attribute [rw] last_updated_date_time
2157
+ # The date and time the Source Properties were last updated on.
2158
+ # @return [String]
2159
+ #
2160
+ # @!attribute [rw] network_interfaces
2161
+ # An array of network interfaces.
2162
+ # @return [Array<Types::NetworkInterface>]
2163
+ #
2164
+ # @!attribute [rw] os
2165
+ # Operating system.
2166
+ # @return [Types::OS]
2167
+ #
2168
+ # @!attribute [rw] ram_bytes
2169
+ # The amount of RAM in bytes.
2170
+ # @return [Integer]
2171
+ #
2172
+ # @!attribute [rw] recommended_instance_type
2173
+ # The recommended EC2 instance type that will be used when recovering
2174
+ # the Source Server.
2175
+ # @return [String]
2176
+ #
2177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/SourceProperties AWS API Documentation
2178
+ #
2179
+ class SourceProperties < Struct.new(
2180
+ :cpus,
2181
+ :disks,
2182
+ :identification_hints,
2183
+ :last_updated_date_time,
2184
+ :network_interfaces,
2185
+ :os,
2186
+ :ram_bytes,
2187
+ :recommended_instance_type)
2188
+ SENSITIVE = []
2189
+ include Aws::Structure
2190
+ end
2191
+
2192
+ # @!attribute [rw] arn
2193
+ # The ARN of the Source Server.
2194
+ # @return [String]
2195
+ #
2196
+ # @!attribute [rw] data_replication_info
2197
+ # The Data Replication Info of the Source Server.
2198
+ # @return [Types::DataReplicationInfo]
2199
+ #
2200
+ # @!attribute [rw] last_launch_result
2201
+ # The status of the last recovery launch of this Source Server.
2202
+ # @return [String]
2203
+ #
2204
+ # @!attribute [rw] life_cycle
2205
+ # The lifecycle information of this Source Server.
2206
+ # @return [Types::LifeCycle]
2207
+ #
2208
+ # @!attribute [rw] recovery_instance_id
2209
+ # The ID of the Recovery Instance associated with this Source Server.
2210
+ # @return [String]
2211
+ #
2212
+ # @!attribute [rw] source_properties
2213
+ # The source properties of the Source Server.
2214
+ # @return [Types::SourceProperties]
2215
+ #
2216
+ # @!attribute [rw] source_server_id
2217
+ # The ID of the Source Server.
2218
+ # @return [String]
2219
+ #
2220
+ # @!attribute [rw] tags
2221
+ # The tags associated with the Source Server.
2222
+ # @return [Hash<String,String>]
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/SourceServer AWS API Documentation
2225
+ #
2226
+ class SourceServer < Struct.new(
2227
+ :arn,
2228
+ :data_replication_info,
2229
+ :last_launch_result,
2230
+ :life_cycle,
2231
+ :recovery_instance_id,
2232
+ :source_properties,
2233
+ :source_server_id,
2234
+ :tags)
2235
+ SENSITIVE = [:tags]
2236
+ include Aws::Structure
2237
+ end
2238
+
2239
+ # @note When making an API call, you may pass StartFailbackLaunchRequest
2240
+ # data as a hash:
2241
+ #
2242
+ # {
2243
+ # recovery_instance_i_ds: ["RecoveryInstanceID"], # required
2244
+ # tags: {
2245
+ # "TagKey" => "TagValue",
2246
+ # },
2247
+ # }
2248
+ #
2249
+ # @!attribute [rw] recovery_instance_i_ds
2250
+ # The IDs of the Recovery Instance whose failback launch we want to
2251
+ # request.
2252
+ # @return [Array<String>]
2253
+ #
2254
+ # @!attribute [rw] tags
2255
+ # The tags to be associated with the failback launch Job.
2256
+ # @return [Hash<String,String>]
2257
+ #
2258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartFailbackLaunchRequest AWS API Documentation
2259
+ #
2260
+ class StartFailbackLaunchRequest < Struct.new(
2261
+ :recovery_instance_i_ds,
2262
+ :tags)
2263
+ SENSITIVE = [:tags]
2264
+ include Aws::Structure
2265
+ end
2266
+
2267
+ # @!attribute [rw] job
2268
+ # The failback launch Job.
2269
+ # @return [Types::Job]
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartFailbackLaunchResponse AWS API Documentation
2272
+ #
2273
+ class StartFailbackLaunchResponse < Struct.new(
2274
+ :job)
2275
+ SENSITIVE = []
2276
+ include Aws::Structure
2277
+ end
2278
+
2279
+ # @note When making an API call, you may pass StartRecoveryRequest
2280
+ # data as a hash:
2281
+ #
2282
+ # {
2283
+ # is_drill: false,
2284
+ # source_servers: [ # required
2285
+ # {
2286
+ # recovery_snapshot_id: "RecoverySnapshotID",
2287
+ # source_server_id: "SourceServerID", # required
2288
+ # },
2289
+ # ],
2290
+ # tags: {
2291
+ # "TagKey" => "TagValue",
2292
+ # },
2293
+ # }
2294
+ #
2295
+ # @!attribute [rw] is_drill
2296
+ # Whether this Source Server Recovery operation is a drill or not.
2297
+ # @return [Boolean]
2298
+ #
2299
+ # @!attribute [rw] source_servers
2300
+ # The Source Servers that we want to start a Recovery Job for.
2301
+ # @return [Array<Types::StartRecoveryRequestSourceServer>]
2302
+ #
2303
+ # @!attribute [rw] tags
2304
+ # The tags to be associated with the Recovery Job.
2305
+ # @return [Hash<String,String>]
2306
+ #
2307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartRecoveryRequest AWS API Documentation
2308
+ #
2309
+ class StartRecoveryRequest < Struct.new(
2310
+ :is_drill,
2311
+ :source_servers,
2312
+ :tags)
2313
+ SENSITIVE = [:tags]
2314
+ include Aws::Structure
2315
+ end
2316
+
2317
+ # An object representing the Source Server to recover.
2318
+ #
2319
+ # @note When making an API call, you may pass StartRecoveryRequestSourceServer
2320
+ # data as a hash:
2321
+ #
2322
+ # {
2323
+ # recovery_snapshot_id: "RecoverySnapshotID",
2324
+ # source_server_id: "SourceServerID", # required
2325
+ # }
2326
+ #
2327
+ # @!attribute [rw] recovery_snapshot_id
2328
+ # The ID of a Recovery Snapshot we want to recover from. Omit this
2329
+ # field to launch from the latest data by taking an on-demand
2330
+ # snapshot.
2331
+ # @return [String]
2332
+ #
2333
+ # @!attribute [rw] source_server_id
2334
+ # The ID of the Source Server you want to recover.
2335
+ # @return [String]
2336
+ #
2337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartRecoveryRequestSourceServer AWS API Documentation
2338
+ #
2339
+ class StartRecoveryRequestSourceServer < Struct.new(
2340
+ :recovery_snapshot_id,
2341
+ :source_server_id)
2342
+ SENSITIVE = []
2343
+ include Aws::Structure
2344
+ end
2345
+
2346
+ # @!attribute [rw] job
2347
+ # The Recovery Job.
2348
+ # @return [Types::Job]
2349
+ #
2350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartRecoveryResponse AWS API Documentation
2351
+ #
2352
+ class StartRecoveryResponse < Struct.new(
2353
+ :job)
2354
+ SENSITIVE = []
2355
+ include Aws::Structure
2356
+ end
2357
+
2358
+ # @note When making an API call, you may pass StopFailbackRequest
2359
+ # data as a hash:
2360
+ #
2361
+ # {
2362
+ # recovery_instance_id: "RecoveryInstanceID", # required
2363
+ # }
2364
+ #
2365
+ # @!attribute [rw] recovery_instance_id
2366
+ # The ID of the Recovery Instance we want to stop failback for.
2367
+ # @return [String]
2368
+ #
2369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopFailbackRequest AWS API Documentation
2370
+ #
2371
+ class StopFailbackRequest < Struct.new(
2372
+ :recovery_instance_id)
2373
+ SENSITIVE = []
2374
+ include Aws::Structure
2375
+ end
2376
+
2377
+ # @note When making an API call, you may pass TagResourceRequest
2378
+ # data as a hash:
2379
+ #
2380
+ # {
2381
+ # resource_arn: "ARN", # required
2382
+ # tags: { # required
2383
+ # "TagKey" => "TagValue",
2384
+ # },
2385
+ # }
2386
+ #
2387
+ # @!attribute [rw] resource_arn
2388
+ # ARN of the resource for which tags are to be added or updated.
2389
+ # @return [String]
2390
+ #
2391
+ # @!attribute [rw] tags
2392
+ # Array of tags to be added or updated.
2393
+ # @return [Hash<String,String>]
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TagResourceRequest AWS API Documentation
2396
+ #
2397
+ class TagResourceRequest < Struct.new(
2398
+ :resource_arn,
2399
+ :tags)
2400
+ SENSITIVE = [:tags]
2401
+ include Aws::Structure
2402
+ end
2403
+
2404
+ # @note When making an API call, you may pass TerminateRecoveryInstancesRequest
2405
+ # data as a hash:
2406
+ #
2407
+ # {
2408
+ # recovery_instance_i_ds: ["RecoveryInstanceID"], # required
2409
+ # }
2410
+ #
2411
+ # @!attribute [rw] recovery_instance_i_ds
2412
+ # The IDs of the Recovery Instances that should be terminated.
2413
+ # @return [Array<String>]
2414
+ #
2415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TerminateRecoveryInstancesRequest AWS API Documentation
2416
+ #
2417
+ class TerminateRecoveryInstancesRequest < Struct.new(
2418
+ :recovery_instance_i_ds)
2419
+ SENSITIVE = []
2420
+ include Aws::Structure
2421
+ end
2422
+
2423
+ # @!attribute [rw] job
2424
+ # The Job for terminating the Recovery Instances.
2425
+ # @return [Types::Job]
2426
+ #
2427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TerminateRecoveryInstancesResponse AWS API Documentation
2428
+ #
2429
+ class TerminateRecoveryInstancesResponse < Struct.new(
2430
+ :job)
2431
+ SENSITIVE = []
2432
+ include Aws::Structure
2433
+ end
2434
+
2435
+ # The request was denied due to request throttling.
2436
+ #
2437
+ # @!attribute [rw] message
2438
+ # @return [String]
2439
+ #
2440
+ # @!attribute [rw] quota_code
2441
+ # Quota code.
2442
+ # @return [String]
2443
+ #
2444
+ # @!attribute [rw] retry_after_seconds
2445
+ # The number of seconds after which the request should be safe to
2446
+ # retry.
2447
+ # @return [String]
2448
+ #
2449
+ # @!attribute [rw] service_code
2450
+ # Service code.
2451
+ # @return [String]
2452
+ #
2453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ThrottlingException AWS API Documentation
2454
+ #
2455
+ class ThrottlingException < Struct.new(
2456
+ :message,
2457
+ :quota_code,
2458
+ :retry_after_seconds,
2459
+ :service_code)
2460
+ SENSITIVE = []
2461
+ include Aws::Structure
2462
+ end
2463
+
2464
+ # The account performing the request has not been initialized.
2465
+ #
2466
+ # @!attribute [rw] code
2467
+ # @return [String]
2468
+ #
2469
+ # @!attribute [rw] message
2470
+ # @return [String]
2471
+ #
2472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UninitializedAccountException AWS API Documentation
2473
+ #
2474
+ class UninitializedAccountException < Struct.new(
2475
+ :code,
2476
+ :message)
2477
+ SENSITIVE = []
2478
+ include Aws::Structure
2479
+ end
2480
+
2481
+ # @note When making an API call, you may pass UntagResourceRequest
2482
+ # data as a hash:
2483
+ #
2484
+ # {
2485
+ # resource_arn: "ARN", # required
2486
+ # tag_keys: ["TagKey"], # required
2487
+ # }
2488
+ #
2489
+ # @!attribute [rw] resource_arn
2490
+ # ARN of the resource for which tags are to be removed.
2491
+ # @return [String]
2492
+ #
2493
+ # @!attribute [rw] tag_keys
2494
+ # Array of tags to be removed.
2495
+ # @return [Array<String>]
2496
+ #
2497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UntagResourceRequest AWS API Documentation
2498
+ #
2499
+ class UntagResourceRequest < Struct.new(
2500
+ :resource_arn,
2501
+ :tag_keys)
2502
+ SENSITIVE = [:tag_keys]
2503
+ include Aws::Structure
2504
+ end
2505
+
2506
+ # @note When making an API call, you may pass UpdateFailbackReplicationConfigurationRequest
2507
+ # data as a hash:
2508
+ #
2509
+ # {
2510
+ # bandwidth_throttling: 1,
2511
+ # name: "BoundedString",
2512
+ # recovery_instance_id: "RecoveryInstanceID", # required
2513
+ # use_private_ip: false,
2514
+ # }
2515
+ #
2516
+ # @!attribute [rw] bandwidth_throttling
2517
+ # Configure bandwidth throttling for the outbound data transfer rate
2518
+ # of the Recovery Instance in Mbps.
2519
+ # @return [Integer]
2520
+ #
2521
+ # @!attribute [rw] name
2522
+ # The name of the Failback Replication Configuration.
2523
+ # @return [String]
2524
+ #
2525
+ # @!attribute [rw] recovery_instance_id
2526
+ # The ID of the Recovery Instance.
2527
+ # @return [String]
2528
+ #
2529
+ # @!attribute [rw] use_private_ip
2530
+ # Whether to use Private IP for the failback replication of the
2531
+ # Recovery Instance.
2532
+ # @return [Boolean]
2533
+ #
2534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateFailbackReplicationConfigurationRequest AWS API Documentation
2535
+ #
2536
+ class UpdateFailbackReplicationConfigurationRequest < Struct.new(
2537
+ :bandwidth_throttling,
2538
+ :name,
2539
+ :recovery_instance_id,
2540
+ :use_private_ip)
2541
+ SENSITIVE = []
2542
+ include Aws::Structure
2543
+ end
2544
+
2545
+ # @note When making an API call, you may pass UpdateLaunchConfigurationRequest
2546
+ # data as a hash:
2547
+ #
2548
+ # {
2549
+ # copy_private_ip: false,
2550
+ # copy_tags: false,
2551
+ # launch_disposition: "STOPPED", # accepts STOPPED, STARTED
2552
+ # licensing: {
2553
+ # os_byol: false,
2554
+ # },
2555
+ # name: "SmallBoundedString",
2556
+ # source_server_id: "SourceServerID", # required
2557
+ # target_instance_type_right_sizing_method: "NONE", # accepts NONE, BASIC
2558
+ # }
2559
+ #
2560
+ # @!attribute [rw] copy_private_ip
2561
+ # Whether we should copy the Private IP of the Source Server to the
2562
+ # Recovery Instance.
2563
+ # @return [Boolean]
2564
+ #
2565
+ # @!attribute [rw] copy_tags
2566
+ # Whether we want to copy the tags of the Source Server to the EC2
2567
+ # machine of the Recovery Instance.
2568
+ # @return [Boolean]
2569
+ #
2570
+ # @!attribute [rw] launch_disposition
2571
+ # The state of the Recovery Instance in EC2 after the recovery
2572
+ # operation.
2573
+ # @return [String]
2574
+ #
2575
+ # @!attribute [rw] licensing
2576
+ # The licensing configuration to be used for this launch
2577
+ # configuration.
2578
+ # @return [Types::Licensing]
2579
+ #
2580
+ # @!attribute [rw] name
2581
+ # The name of the launch configuration.
2582
+ # @return [String]
2583
+ #
2584
+ # @!attribute [rw] source_server_id
2585
+ # The ID of the Source Server that we want to retrieve a Launch
2586
+ # Configuration for.
2587
+ # @return [String]
2588
+ #
2589
+ # @!attribute [rw] target_instance_type_right_sizing_method
2590
+ # Whether Elastic Disaster Recovery should try to automatically choose
2591
+ # the instance type that best matches the OS, CPU, and RAM of your
2592
+ # Source Server.
2593
+ # @return [String]
2594
+ #
2595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateLaunchConfigurationRequest AWS API Documentation
2596
+ #
2597
+ class UpdateLaunchConfigurationRequest < Struct.new(
2598
+ :copy_private_ip,
2599
+ :copy_tags,
2600
+ :launch_disposition,
2601
+ :licensing,
2602
+ :name,
2603
+ :source_server_id,
2604
+ :target_instance_type_right_sizing_method)
2605
+ SENSITIVE = []
2606
+ include Aws::Structure
2607
+ end
2608
+
2609
+ # @note When making an API call, you may pass UpdateReplicationConfigurationRequest
2610
+ # data as a hash:
2611
+ #
2612
+ # {
2613
+ # associate_default_security_group: false,
2614
+ # bandwidth_throttling: 1,
2615
+ # create_public_ip: false,
2616
+ # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2617
+ # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1
2618
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
2619
+ # ebs_encryption_key_arn: "ARN",
2620
+ # name: "SmallBoundedString",
2621
+ # pit_policy: [
2622
+ # {
2623
+ # enabled: false,
2624
+ # interval: 1, # required
2625
+ # retention_duration: 1, # required
2626
+ # rule_id: 1,
2627
+ # units: "MINUTE", # required, accepts MINUTE, HOUR, DAY
2628
+ # },
2629
+ # ],
2630
+ # replicated_disks: [
2631
+ # {
2632
+ # device_name: "BoundedString",
2633
+ # iops: 1,
2634
+ # is_boot_disk: false,
2635
+ # staging_disk_type: "AUTO", # accepts AUTO, GP2, GP3, IO1, SC1, ST1, STANDARD
2636
+ # throughput: 1,
2637
+ # },
2638
+ # ],
2639
+ # replication_server_instance_type: "EC2InstanceType",
2640
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"],
2641
+ # source_server_id: "SourceServerID", # required
2642
+ # staging_area_subnet_id: "SubnetID",
2643
+ # staging_area_tags: {
2644
+ # "TagKey" => "TagValue",
2645
+ # },
2646
+ # use_dedicated_replication_server: false,
2647
+ # }
2648
+ #
2649
+ # @!attribute [rw] associate_default_security_group
2650
+ # Whether to associate the default Elastic Disaster Recovery Security
2651
+ # group with the Replication Configuration.
2652
+ # @return [Boolean]
2653
+ #
2654
+ # @!attribute [rw] bandwidth_throttling
2655
+ # Configure bandwidth throttling for the outbound data transfer rate
2656
+ # of the Source Server in Mbps.
2657
+ # @return [Integer]
2658
+ #
2659
+ # @!attribute [rw] create_public_ip
2660
+ # Whether to create a Public IP for the Recovery Instance by default.
2661
+ # @return [Boolean]
2662
+ #
2663
+ # @!attribute [rw] data_plane_routing
2664
+ # The data plane routing mechanism that will be used for replication.
2665
+ # @return [String]
2666
+ #
2667
+ # @!attribute [rw] default_large_staging_disk_type
2668
+ # The Staging Disk EBS volume type to be used during replication.
2669
+ # @return [String]
2670
+ #
2671
+ # @!attribute [rw] ebs_encryption
2672
+ # The type of EBS encryption to be used during replication.
2673
+ # @return [String]
2674
+ #
2675
+ # @!attribute [rw] ebs_encryption_key_arn
2676
+ # The ARN of the EBS encryption key to be used during replication.
2677
+ # @return [String]
2678
+ #
2679
+ # @!attribute [rw] name
2680
+ # The name of the Replication Configuration.
2681
+ # @return [String]
2682
+ #
2683
+ # @!attribute [rw] pit_policy
2684
+ # The Point in time (PIT) policy to manage snapshots taken during
2685
+ # replication.
2686
+ # @return [Array<Types::PITPolicyRule>]
2687
+ #
2688
+ # @!attribute [rw] replicated_disks
2689
+ # The configuration of the disks of the Source Server to be
2690
+ # replicated.
2691
+ # @return [Array<Types::ReplicationConfigurationReplicatedDisk>]
2692
+ #
2693
+ # @!attribute [rw] replication_server_instance_type
2694
+ # The instance type to be used for the replication server.
2695
+ # @return [String]
2696
+ #
2697
+ # @!attribute [rw] replication_servers_security_groups_i_ds
2698
+ # The security group IDs that will be used by the replication server.
2699
+ # @return [Array<String>]
2700
+ #
2701
+ # @!attribute [rw] source_server_id
2702
+ # The ID of the Source Server for this Replication Configuration.
2703
+ # @return [String]
2704
+ #
2705
+ # @!attribute [rw] staging_area_subnet_id
2706
+ # The subnet to be used by the replication staging area.
2707
+ # @return [String]
2708
+ #
2709
+ # @!attribute [rw] staging_area_tags
2710
+ # A set of tags to be associated with all resources created in the
2711
+ # replication staging area: EC2 replication server, EBS volumes, EBS
2712
+ # snapshots, etc.
2713
+ # @return [Hash<String,String>]
2714
+ #
2715
+ # @!attribute [rw] use_dedicated_replication_server
2716
+ # Whether to use a dedicated Replication Server in the replication
2717
+ # staging area.
2718
+ # @return [Boolean]
2719
+ #
2720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfigurationRequest AWS API Documentation
2721
+ #
2722
+ class UpdateReplicationConfigurationRequest < Struct.new(
2723
+ :associate_default_security_group,
2724
+ :bandwidth_throttling,
2725
+ :create_public_ip,
2726
+ :data_plane_routing,
2727
+ :default_large_staging_disk_type,
2728
+ :ebs_encryption,
2729
+ :ebs_encryption_key_arn,
2730
+ :name,
2731
+ :pit_policy,
2732
+ :replicated_disks,
2733
+ :replication_server_instance_type,
2734
+ :replication_servers_security_groups_i_ds,
2735
+ :source_server_id,
2736
+ :staging_area_subnet_id,
2737
+ :staging_area_tags,
2738
+ :use_dedicated_replication_server)
2739
+ SENSITIVE = [:staging_area_tags]
2740
+ include Aws::Structure
2741
+ end
2742
+
2743
+ # @note When making an API call, you may pass UpdateReplicationConfigurationTemplateRequest
2744
+ # data as a hash:
2745
+ #
2746
+ # {
2747
+ # arn: "ARN",
2748
+ # associate_default_security_group: false,
2749
+ # bandwidth_throttling: 1,
2750
+ # create_public_ip: false,
2751
+ # data_plane_routing: "PRIVATE_IP", # accepts PRIVATE_IP, PUBLIC_IP
2752
+ # default_large_staging_disk_type: "GP2", # accepts GP2, GP3, ST1
2753
+ # ebs_encryption: "DEFAULT", # accepts DEFAULT, CUSTOM
2754
+ # ebs_encryption_key_arn: "ARN",
2755
+ # pit_policy: [
2756
+ # {
2757
+ # enabled: false,
2758
+ # interval: 1, # required
2759
+ # retention_duration: 1, # required
2760
+ # rule_id: 1,
2761
+ # units: "MINUTE", # required, accepts MINUTE, HOUR, DAY
2762
+ # },
2763
+ # ],
2764
+ # replication_configuration_template_id: "ReplicationConfigurationTemplateID", # required
2765
+ # replication_server_instance_type: "EC2InstanceType",
2766
+ # replication_servers_security_groups_i_ds: ["SecurityGroupID"],
2767
+ # staging_area_subnet_id: "SubnetID",
2768
+ # staging_area_tags: {
2769
+ # "TagKey" => "TagValue",
2770
+ # },
2771
+ # use_dedicated_replication_server: false,
2772
+ # }
2773
+ #
2774
+ # @!attribute [rw] arn
2775
+ # The Replication Configuration Template ARN.
2776
+ # @return [String]
2777
+ #
2778
+ # @!attribute [rw] associate_default_security_group
2779
+ # Whether to associate the default Elastic Disaster Recovery Security
2780
+ # group with the Replication Configuration Template.
2781
+ # @return [Boolean]
2782
+ #
2783
+ # @!attribute [rw] bandwidth_throttling
2784
+ # Configure bandwidth throttling for the outbound data transfer rate
2785
+ # of the Source Server in Mbps.
2786
+ # @return [Integer]
2787
+ #
2788
+ # @!attribute [rw] create_public_ip
2789
+ # Whether to create a Public IP for the Recovery Instance by default.
2790
+ # @return [Boolean]
2791
+ #
2792
+ # @!attribute [rw] data_plane_routing
2793
+ # The data plane routing mechanism that will be used for replication.
2794
+ # @return [String]
2795
+ #
2796
+ # @!attribute [rw] default_large_staging_disk_type
2797
+ # The Staging Disk EBS volume type to be used during replication.
2798
+ # @return [String]
2799
+ #
2800
+ # @!attribute [rw] ebs_encryption
2801
+ # The type of EBS encryption to be used during replication.
2802
+ # @return [String]
2803
+ #
2804
+ # @!attribute [rw] ebs_encryption_key_arn
2805
+ # The ARN of the EBS encryption key to be used during replication.
2806
+ # @return [String]
2807
+ #
2808
+ # @!attribute [rw] pit_policy
2809
+ # The Point in time (PIT) policy to manage snapshots taken during
2810
+ # replication.
2811
+ # @return [Array<Types::PITPolicyRule>]
2812
+ #
2813
+ # @!attribute [rw] replication_configuration_template_id
2814
+ # The Replication Configuration Template ID.
2815
+ # @return [String]
2816
+ #
2817
+ # @!attribute [rw] replication_server_instance_type
2818
+ # The instance type to be used for the replication server.
2819
+ # @return [String]
2820
+ #
2821
+ # @!attribute [rw] replication_servers_security_groups_i_ds
2822
+ # The security group IDs that will be used by the replication server.
2823
+ # @return [Array<String>]
2824
+ #
2825
+ # @!attribute [rw] staging_area_subnet_id
2826
+ # The subnet to be used by the replication staging area.
2827
+ # @return [String]
2828
+ #
2829
+ # @!attribute [rw] staging_area_tags
2830
+ # A set of tags to be associated with all resources created in the
2831
+ # replication staging area: EC2 replication server, EBS volumes, EBS
2832
+ # snapshots, etc.
2833
+ # @return [Hash<String,String>]
2834
+ #
2835
+ # @!attribute [rw] use_dedicated_replication_server
2836
+ # Whether to use a dedicated Replication Server in the replication
2837
+ # staging area.
2838
+ # @return [Boolean]
2839
+ #
2840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfigurationTemplateRequest AWS API Documentation
2841
+ #
2842
+ class UpdateReplicationConfigurationTemplateRequest < Struct.new(
2843
+ :arn,
2844
+ :associate_default_security_group,
2845
+ :bandwidth_throttling,
2846
+ :create_public_ip,
2847
+ :data_plane_routing,
2848
+ :default_large_staging_disk_type,
2849
+ :ebs_encryption,
2850
+ :ebs_encryption_key_arn,
2851
+ :pit_policy,
2852
+ :replication_configuration_template_id,
2853
+ :replication_server_instance_type,
2854
+ :replication_servers_security_groups_i_ds,
2855
+ :staging_area_subnet_id,
2856
+ :staging_area_tags,
2857
+ :use_dedicated_replication_server)
2858
+ SENSITIVE = [:staging_area_tags]
2859
+ include Aws::Structure
2860
+ end
2861
+
2862
+ # The input fails to satisfy the constraints specified by the AWS
2863
+ # service.
2864
+ #
2865
+ # @!attribute [rw] code
2866
+ # @return [String]
2867
+ #
2868
+ # @!attribute [rw] field_list
2869
+ # A list of fields that failed validation.
2870
+ # @return [Array<Types::ValidationExceptionField>]
2871
+ #
2872
+ # @!attribute [rw] message
2873
+ # @return [String]
2874
+ #
2875
+ # @!attribute [rw] reason
2876
+ # Validation exception reason.
2877
+ # @return [String]
2878
+ #
2879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ValidationException AWS API Documentation
2880
+ #
2881
+ class ValidationException < Struct.new(
2882
+ :code,
2883
+ :field_list,
2884
+ :message,
2885
+ :reason)
2886
+ SENSITIVE = []
2887
+ include Aws::Structure
2888
+ end
2889
+
2890
+ # Validate exception field.
2891
+ #
2892
+ # @!attribute [rw] message
2893
+ # Validate exception field message.
2894
+ # @return [String]
2895
+ #
2896
+ # @!attribute [rw] name
2897
+ # Validate exception field name.
2898
+ # @return [String]
2899
+ #
2900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ValidationExceptionField AWS API Documentation
2901
+ #
2902
+ class ValidationExceptionField < Struct.new(
2903
+ :message,
2904
+ :name)
2905
+ SENSITIVE = []
2906
+ include Aws::Structure
2907
+ end
2908
+
2909
+ end
2910
+ end