aws-sdk-drs 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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