aws-sdk-mgn 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,8 +22,11 @@ module Aws::Mgn
22
22
  ChangeServerLifeCycleStateRequest = Shapes::StructureShape.new(name: 'ChangeServerLifeCycleStateRequest')
23
23
  ChangeServerLifeCycleStateSourceServerLifecycle = Shapes::StructureShape.new(name: 'ChangeServerLifeCycleStateSourceServerLifecycle')
24
24
  ChangeServerLifeCycleStateSourceServerLifecycleState = Shapes::StringShape.new(name: 'ChangeServerLifeCycleStateSourceServerLifecycleState')
25
+ CloudWatchLogGroupName = Shapes::StringShape.new(name: 'CloudWatchLogGroupName')
25
26
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
27
+ ConflictExceptionErrors = Shapes::ListShape.new(name: 'ConflictExceptionErrors')
26
28
  Cpus = Shapes::ListShape.new(name: 'Cpus')
29
+ CreateLaunchConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'CreateLaunchConfigurationTemplateRequest')
27
30
  CreateReplicationConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'CreateReplicationConfigurationTemplateRequest')
28
31
  DataReplicationError = Shapes::StructureShape.new(name: 'DataReplicationError')
29
32
  DataReplicationErrorString = Shapes::StringShape.new(name: 'DataReplicationErrorString')
@@ -38,6 +41,8 @@ module Aws::Mgn
38
41
  DataReplicationState = Shapes::StringShape.new(name: 'DataReplicationState')
39
42
  DeleteJobRequest = Shapes::StructureShape.new(name: 'DeleteJobRequest')
40
43
  DeleteJobResponse = Shapes::StructureShape.new(name: 'DeleteJobResponse')
44
+ DeleteLaunchConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'DeleteLaunchConfigurationTemplateRequest')
45
+ DeleteLaunchConfigurationTemplateResponse = Shapes::StructureShape.new(name: 'DeleteLaunchConfigurationTemplateResponse')
41
46
  DeleteReplicationConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'DeleteReplicationConfigurationTemplateRequest')
42
47
  DeleteReplicationConfigurationTemplateResponse = Shapes::StructureShape.new(name: 'DeleteReplicationConfigurationTemplateResponse')
43
48
  DeleteSourceServerRequest = Shapes::StructureShape.new(name: 'DeleteSourceServerRequest')
@@ -49,6 +54,8 @@ module Aws::Mgn
49
54
  DescribeJobsRequestFilters = Shapes::StructureShape.new(name: 'DescribeJobsRequestFilters')
50
55
  DescribeJobsRequestFiltersJobIDs = Shapes::ListShape.new(name: 'DescribeJobsRequestFiltersJobIDs')
51
56
  DescribeJobsResponse = Shapes::StructureShape.new(name: 'DescribeJobsResponse')
57
+ DescribeLaunchConfigurationTemplatesRequest = Shapes::StructureShape.new(name: 'DescribeLaunchConfigurationTemplatesRequest')
58
+ DescribeLaunchConfigurationTemplatesResponse = Shapes::StructureShape.new(name: 'DescribeLaunchConfigurationTemplatesResponse')
52
59
  DescribeReplicationConfigurationTemplatesRequest = Shapes::StructureShape.new(name: 'DescribeReplicationConfigurationTemplatesRequest')
53
60
  DescribeReplicationConfigurationTemplatesResponse = Shapes::StructureShape.new(name: 'DescribeReplicationConfigurationTemplatesResponse')
54
61
  DescribeSourceServersRequest = Shapes::StructureShape.new(name: 'DescribeSourceServersRequest')
@@ -62,12 +69,14 @@ module Aws::Mgn
62
69
  Disks = Shapes::ListShape.new(name: 'Disks')
63
70
  EC2InstanceID = Shapes::StringShape.new(name: 'EC2InstanceID')
64
71
  EC2InstanceType = Shapes::StringShape.new(name: 'EC2InstanceType')
72
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
65
73
  FinalizeCutoverRequest = Shapes::StructureShape.new(name: 'FinalizeCutoverRequest')
66
74
  FirstBoot = Shapes::StringShape.new(name: 'FirstBoot')
67
75
  GetLaunchConfigurationRequest = Shapes::StructureShape.new(name: 'GetLaunchConfigurationRequest')
68
76
  GetReplicationConfigurationRequest = Shapes::StructureShape.new(name: 'GetReplicationConfigurationRequest')
69
77
  IPsList = Shapes::ListShape.new(name: 'IPsList')
70
78
  ISO8601DatetimeString = Shapes::StringShape.new(name: 'ISO8601DatetimeString')
79
+ ISO8601DurationString = Shapes::StringShape.new(name: 'ISO8601DurationString')
71
80
  IdentificationHints = Shapes::StructureShape.new(name: 'IdentificationHints')
72
81
  InitializeServiceRequest = Shapes::StructureShape.new(name: 'InitializeServiceRequest')
73
82
  InitializeServiceResponse = Shapes::StructureShape.new(name: 'InitializeServiceResponse')
@@ -79,11 +88,16 @@ module Aws::Mgn
79
88
  JobLogEvent = Shapes::StringShape.new(name: 'JobLogEvent')
80
89
  JobLogEventData = Shapes::StructureShape.new(name: 'JobLogEventData')
81
90
  JobLogs = Shapes::ListShape.new(name: 'JobLogs')
91
+ JobPostLaunchActionsLaunchStatus = Shapes::StructureShape.new(name: 'JobPostLaunchActionsLaunchStatus')
82
92
  JobStatus = Shapes::StringShape.new(name: 'JobStatus')
83
93
  JobType = Shapes::StringShape.new(name: 'JobType')
84
94
  JobsList = Shapes::ListShape.new(name: 'JobsList')
85
95
  LargeBoundedString = Shapes::StringShape.new(name: 'LargeBoundedString')
86
96
  LaunchConfiguration = Shapes::StructureShape.new(name: 'LaunchConfiguration')
97
+ LaunchConfigurationTemplate = Shapes::StructureShape.new(name: 'LaunchConfigurationTemplate')
98
+ LaunchConfigurationTemplateID = Shapes::StringShape.new(name: 'LaunchConfigurationTemplateID')
99
+ LaunchConfigurationTemplateIDs = Shapes::ListShape.new(name: 'LaunchConfigurationTemplateIDs')
100
+ LaunchConfigurationTemplates = Shapes::ListShape.new(name: 'LaunchConfigurationTemplates')
87
101
  LaunchDisposition = Shapes::StringShape.new(name: 'LaunchDisposition')
88
102
  LaunchStatus = Shapes::StringShape.new(name: 'LaunchStatus')
89
103
  LaunchedInstance = Shapes::StructureShape.new(name: 'LaunchedInstance')
@@ -109,6 +123,11 @@ module Aws::Mgn
109
123
  ParticipatingServer = Shapes::StructureShape.new(name: 'ParticipatingServer')
110
124
  ParticipatingServers = Shapes::ListShape.new(name: 'ParticipatingServers')
111
125
  PositiveInteger = Shapes::IntegerShape.new(name: 'PositiveInteger')
126
+ PostLaunchActionExecutionStatus = Shapes::StringShape.new(name: 'PostLaunchActionExecutionStatus')
127
+ PostLaunchActions = Shapes::StructureShape.new(name: 'PostLaunchActions')
128
+ PostLaunchActionsDeploymentType = Shapes::StringShape.new(name: 'PostLaunchActionsDeploymentType')
129
+ PostLaunchActionsLaunchStatusList = Shapes::ListShape.new(name: 'PostLaunchActionsLaunchStatusList')
130
+ PostLaunchActionsStatus = Shapes::StructureShape.new(name: 'PostLaunchActionsStatus')
112
131
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
113
132
  ReplicationConfigurationDataPlaneRouting = Shapes::StringShape.new(name: 'ReplicationConfigurationDataPlaneRouting')
114
133
  ReplicationConfigurationDefaultLargeStagingDiskType = Shapes::StringShape.new(name: 'ReplicationConfigurationDefaultLargeStagingDiskType')
@@ -125,6 +144,7 @@ module Aws::Mgn
125
144
  ReplicationTypes = Shapes::ListShape.new(name: 'ReplicationTypes')
126
145
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
127
146
  RetryDataReplicationRequest = Shapes::StructureShape.new(name: 'RetryDataReplicationRequest')
147
+ S3LogBucketName = Shapes::StringShape.new(name: 'S3LogBucketName')
128
148
  SecurityGroupID = Shapes::StringShape.new(name: 'SecurityGroupID')
129
149
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
130
150
  SmallBoundedString = Shapes::StringShape.new(name: 'SmallBoundedString')
@@ -132,6 +152,16 @@ module Aws::Mgn
132
152
  SourceServer = Shapes::StructureShape.new(name: 'SourceServer')
133
153
  SourceServerID = Shapes::StringShape.new(name: 'SourceServerID')
134
154
  SourceServersList = Shapes::ListShape.new(name: 'SourceServersList')
155
+ SsmDocument = Shapes::StructureShape.new(name: 'SsmDocument')
156
+ SsmDocumentName = Shapes::StringShape.new(name: 'SsmDocumentName')
157
+ SsmDocumentParameterName = Shapes::StringShape.new(name: 'SsmDocumentParameterName')
158
+ SsmDocumentParameters = Shapes::MapShape.new(name: 'SsmDocumentParameters')
159
+ SsmDocumentType = Shapes::StringShape.new(name: 'SsmDocumentType')
160
+ SsmDocuments = Shapes::ListShape.new(name: 'SsmDocuments')
161
+ SsmParameterStoreParameter = Shapes::StructureShape.new(name: 'SsmParameterStoreParameter')
162
+ SsmParameterStoreParameterName = Shapes::StringShape.new(name: 'SsmParameterStoreParameterName')
163
+ SsmParameterStoreParameterType = Shapes::StringShape.new(name: 'SsmParameterStoreParameterType')
164
+ SsmParameterStoreParameters = Shapes::ListShape.new(name: 'SsmParameterStoreParameters')
135
165
  StartCutoverRequest = Shapes::StructureShape.new(name: 'StartCutoverRequest')
136
166
  StartCutoverRequestSourceServerIDs = Shapes::ListShape.new(name: 'StartCutoverRequestSourceServerIDs')
137
167
  StartCutoverResponse = Shapes::StructureShape.new(name: 'StartCutoverResponse')
@@ -154,6 +184,7 @@ module Aws::Mgn
154
184
  UninitializedAccountException = Shapes::StructureShape.new(name: 'UninitializedAccountException')
155
185
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
156
186
  UpdateLaunchConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateLaunchConfigurationRequest')
187
+ UpdateLaunchConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'UpdateLaunchConfigurationTemplateRequest')
157
188
  UpdateReplicationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateReplicationConfigurationRequest')
158
189
  UpdateReplicationConfigurationTemplateRequest = Shapes::StructureShape.new(name: 'UpdateReplicationConfigurationTemplateRequest')
159
190
  UpdateSourceServerReplicationTypeRequest = Shapes::StructureShape.new(name: 'UpdateSourceServerReplicationTypeRequest')
@@ -181,13 +212,20 @@ module Aws::Mgn
181
212
  ChangeServerLifeCycleStateSourceServerLifecycle.struct_class = Types::ChangeServerLifeCycleStateSourceServerLifecycle
182
213
 
183
214
  ConflictException.add_member(:code, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "code"))
215
+ ConflictException.add_member(:errors, Shapes::ShapeRef.new(shape: ConflictExceptionErrors, location_name: "errors"))
184
216
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "message"))
185
217
  ConflictException.add_member(:resource_id, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "resourceId"))
186
218
  ConflictException.add_member(:resource_type, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "resourceType"))
187
219
  ConflictException.struct_class = Types::ConflictException
188
220
 
221
+ ConflictExceptionErrors.member = Shapes::ShapeRef.new(shape: ErrorDetails)
222
+
189
223
  Cpus.member = Shapes::ShapeRef.new(shape: CPU)
190
224
 
225
+ CreateLaunchConfigurationTemplateRequest.add_member(:post_launch_actions, Shapes::ShapeRef.new(shape: PostLaunchActions, location_name: "postLaunchActions"))
226
+ CreateLaunchConfigurationTemplateRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
227
+ CreateLaunchConfigurationTemplateRequest.struct_class = Types::CreateLaunchConfigurationTemplateRequest
228
+
191
229
  CreateReplicationConfigurationTemplateRequest.add_member(:associate_default_security_group, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "associateDefaultSecurityGroup"))
192
230
  CreateReplicationConfigurationTemplateRequest.add_member(:bandwidth_throttling, Shapes::ShapeRef.new(shape: PositiveInteger, required: true, location_name: "bandwidthThrottling"))
193
231
  CreateReplicationConfigurationTemplateRequest.add_member(:create_public_ip, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "createPublicIP"))
@@ -211,7 +249,7 @@ module Aws::Mgn
211
249
  DataReplicationInfo.add_member(:data_replication_initiation, Shapes::ShapeRef.new(shape: DataReplicationInitiation, location_name: "dataReplicationInitiation"))
212
250
  DataReplicationInfo.add_member(:data_replication_state, Shapes::ShapeRef.new(shape: DataReplicationState, location_name: "dataReplicationState"))
213
251
  DataReplicationInfo.add_member(:eta_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "etaDateTime"))
214
- DataReplicationInfo.add_member(:lag_duration, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "lagDuration"))
252
+ DataReplicationInfo.add_member(:lag_duration, Shapes::ShapeRef.new(shape: ISO8601DurationString, location_name: "lagDuration"))
215
253
  DataReplicationInfo.add_member(:last_snapshot_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "lastSnapshotDateTime"))
216
254
  DataReplicationInfo.add_member(:replicated_disks, Shapes::ShapeRef.new(shape: DataReplicationInfoReplicatedDisks, location_name: "replicatedDisks"))
217
255
  DataReplicationInfo.struct_class = Types::DataReplicationInfo
@@ -241,6 +279,11 @@ module Aws::Mgn
241
279
 
242
280
  DeleteJobResponse.struct_class = Types::DeleteJobResponse
243
281
 
282
+ DeleteLaunchConfigurationTemplateRequest.add_member(:launch_configuration_template_id, Shapes::ShapeRef.new(shape: LaunchConfigurationTemplateID, required: true, location_name: "launchConfigurationTemplateID"))
283
+ DeleteLaunchConfigurationTemplateRequest.struct_class = Types::DeleteLaunchConfigurationTemplateRequest
284
+
285
+ DeleteLaunchConfigurationTemplateResponse.struct_class = Types::DeleteLaunchConfigurationTemplateResponse
286
+
244
287
  DeleteReplicationConfigurationTemplateRequest.add_member(:replication_configuration_template_id, Shapes::ShapeRef.new(shape: ReplicationConfigurationTemplateID, required: true, location_name: "replicationConfigurationTemplateID"))
245
288
  DeleteReplicationConfigurationTemplateRequest.struct_class = Types::DeleteReplicationConfigurationTemplateRequest
246
289
 
@@ -279,6 +322,15 @@ module Aws::Mgn
279
322
  DescribeJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
280
323
  DescribeJobsResponse.struct_class = Types::DescribeJobsResponse
281
324
 
325
+ DescribeLaunchConfigurationTemplatesRequest.add_member(:launch_configuration_template_i_ds, Shapes::ShapeRef.new(shape: LaunchConfigurationTemplateIDs, location_name: "launchConfigurationTemplateIDs"))
326
+ DescribeLaunchConfigurationTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: StrictlyPositiveInteger, location_name: "maxResults"))
327
+ DescribeLaunchConfigurationTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
328
+ DescribeLaunchConfigurationTemplatesRequest.struct_class = Types::DescribeLaunchConfigurationTemplatesRequest
329
+
330
+ DescribeLaunchConfigurationTemplatesResponse.add_member(:items, Shapes::ShapeRef.new(shape: LaunchConfigurationTemplates, location_name: "items"))
331
+ DescribeLaunchConfigurationTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
332
+ DescribeLaunchConfigurationTemplatesResponse.struct_class = Types::DescribeLaunchConfigurationTemplatesResponse
333
+
282
334
  DescribeReplicationConfigurationTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: StrictlyPositiveInteger, location_name: "maxResults"))
283
335
  DescribeReplicationConfigurationTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
284
336
  DescribeReplicationConfigurationTemplatesRequest.add_member(:replication_configuration_template_i_ds, Shapes::ShapeRef.new(shape: ReplicationConfigurationTemplateIDs, location_name: "replicationConfigurationTemplateIDs"))
@@ -322,6 +374,12 @@ module Aws::Mgn
322
374
 
323
375
  Disks.member = Shapes::ShapeRef.new(shape: Disk)
324
376
 
377
+ ErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: BoundedString, location_name: "code"))
378
+ ErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "message"))
379
+ ErrorDetails.add_member(:resource_id, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "resourceId"))
380
+ ErrorDetails.add_member(:resource_type, Shapes::ShapeRef.new(shape: LargeBoundedString, location_name: "resourceType"))
381
+ ErrorDetails.struct_class = Types::ErrorDetails
382
+
325
383
  FinalizeCutoverRequest.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
326
384
  FinalizeCutoverRequest.struct_class = Types::FinalizeCutoverRequest
327
385
 
@@ -372,6 +430,13 @@ module Aws::Mgn
372
430
 
373
431
  JobLogs.member = Shapes::ShapeRef.new(shape: JobLog)
374
432
 
433
+ JobPostLaunchActionsLaunchStatus.add_member(:execution_id, Shapes::ShapeRef.new(shape: BoundedString, location_name: "executionID"))
434
+ JobPostLaunchActionsLaunchStatus.add_member(:execution_status, Shapes::ShapeRef.new(shape: PostLaunchActionExecutionStatus, location_name: "executionStatus"))
435
+ JobPostLaunchActionsLaunchStatus.add_member(:failure_reason, Shapes::ShapeRef.new(shape: BoundedString, location_name: "failureReason"))
436
+ JobPostLaunchActionsLaunchStatus.add_member(:ssm_document, Shapes::ShapeRef.new(shape: SsmDocument, location_name: "ssmDocument"))
437
+ JobPostLaunchActionsLaunchStatus.add_member(:ssm_document_type, Shapes::ShapeRef.new(shape: SsmDocumentType, location_name: "ssmDocumentType"))
438
+ JobPostLaunchActionsLaunchStatus.struct_class = Types::JobPostLaunchActionsLaunchStatus
439
+
375
440
  JobsList.member = Shapes::ShapeRef.new(shape: Job)
376
441
 
377
442
  LaunchConfiguration.add_member(:boot_mode, Shapes::ShapeRef.new(shape: BootMode, location_name: "bootMode"))
@@ -381,10 +446,21 @@ module Aws::Mgn
381
446
  LaunchConfiguration.add_member(:launch_disposition, Shapes::ShapeRef.new(shape: LaunchDisposition, location_name: "launchDisposition"))
382
447
  LaunchConfiguration.add_member(:licensing, Shapes::ShapeRef.new(shape: Licensing, location_name: "licensing"))
383
448
  LaunchConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: SmallBoundedString, location_name: "name"))
449
+ LaunchConfiguration.add_member(:post_launch_actions, Shapes::ShapeRef.new(shape: PostLaunchActions, location_name: "postLaunchActions"))
384
450
  LaunchConfiguration.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, location_name: "sourceServerID"))
385
451
  LaunchConfiguration.add_member(:target_instance_type_right_sizing_method, Shapes::ShapeRef.new(shape: TargetInstanceTypeRightSizingMethod, location_name: "targetInstanceTypeRightSizingMethod"))
386
452
  LaunchConfiguration.struct_class = Types::LaunchConfiguration
387
453
 
454
+ LaunchConfigurationTemplate.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, location_name: "arn"))
455
+ LaunchConfigurationTemplate.add_member(:launch_configuration_template_id, Shapes::ShapeRef.new(shape: LaunchConfigurationTemplateID, required: true, location_name: "launchConfigurationTemplateID"))
456
+ LaunchConfigurationTemplate.add_member(:post_launch_actions, Shapes::ShapeRef.new(shape: PostLaunchActions, location_name: "postLaunchActions"))
457
+ LaunchConfigurationTemplate.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
458
+ LaunchConfigurationTemplate.struct_class = Types::LaunchConfigurationTemplate
459
+
460
+ LaunchConfigurationTemplateIDs.member = Shapes::ShapeRef.new(shape: LaunchConfigurationTemplateID)
461
+
462
+ LaunchConfigurationTemplates.member = Shapes::ShapeRef.new(shape: LaunchConfigurationTemplate)
463
+
388
464
  LaunchedInstance.add_member(:ec2_instance_id, Shapes::ShapeRef.new(shape: EC2InstanceID, location_name: "ec2InstanceID"))
389
465
  LaunchedInstance.add_member(:first_boot, Shapes::ShapeRef.new(shape: FirstBoot, location_name: "firstBoot"))
390
466
  LaunchedInstance.add_member(:job_id, Shapes::ShapeRef.new(shape: JobID, location_name: "jobID"))
@@ -394,7 +470,7 @@ module Aws::Mgn
394
470
  Licensing.struct_class = Types::Licensing
395
471
 
396
472
  LifeCycle.add_member(:added_to_service_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "addedToServiceDateTime"))
397
- LifeCycle.add_member(:elapsed_replication_duration, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "elapsedReplicationDuration"))
473
+ LifeCycle.add_member(:elapsed_replication_duration, Shapes::ShapeRef.new(shape: ISO8601DurationString, location_name: "elapsedReplicationDuration"))
398
474
  LifeCycle.add_member(:first_byte_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "firstByteDateTime"))
399
475
  LifeCycle.add_member(:last_cutover, Shapes::ShapeRef.new(shape: LifeCycleLastCutover, location_name: "lastCutover"))
400
476
  LifeCycle.add_member(:last_seen_by_service_date_time, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "lastSeenByServiceDateTime"))
@@ -454,11 +530,26 @@ module Aws::Mgn
454
530
  OS.struct_class = Types::OS
455
531
 
456
532
  ParticipatingServer.add_member(:launch_status, Shapes::ShapeRef.new(shape: LaunchStatus, location_name: "launchStatus"))
457
- ParticipatingServer.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, location_name: "sourceServerID"))
533
+ ParticipatingServer.add_member(:launched_ec2_instance_id, Shapes::ShapeRef.new(shape: EC2InstanceID, location_name: "launchedEc2InstanceID"))
534
+ ParticipatingServer.add_member(:post_launch_actions_status, Shapes::ShapeRef.new(shape: PostLaunchActionsStatus, location_name: "postLaunchActionsStatus"))
535
+ ParticipatingServer.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
458
536
  ParticipatingServer.struct_class = Types::ParticipatingServer
459
537
 
460
538
  ParticipatingServers.member = Shapes::ShapeRef.new(shape: ParticipatingServer)
461
539
 
540
+ PostLaunchActions.add_member(:cloud_watch_log_group_name, Shapes::ShapeRef.new(shape: CloudWatchLogGroupName, location_name: "cloudWatchLogGroupName"))
541
+ PostLaunchActions.add_member(:deployment, Shapes::ShapeRef.new(shape: PostLaunchActionsDeploymentType, location_name: "deployment"))
542
+ PostLaunchActions.add_member(:s3_log_bucket, Shapes::ShapeRef.new(shape: S3LogBucketName, location_name: "s3LogBucket"))
543
+ PostLaunchActions.add_member(:s3_output_key_prefix, Shapes::ShapeRef.new(shape: BoundedString, location_name: "s3OutputKeyPrefix"))
544
+ PostLaunchActions.add_member(:ssm_documents, Shapes::ShapeRef.new(shape: SsmDocuments, location_name: "ssmDocuments"))
545
+ PostLaunchActions.struct_class = Types::PostLaunchActions
546
+
547
+ PostLaunchActionsLaunchStatusList.member = Shapes::ShapeRef.new(shape: JobPostLaunchActionsLaunchStatus)
548
+
549
+ PostLaunchActionsStatus.add_member(:post_launch_actions_launch_status_list, Shapes::ShapeRef.new(shape: PostLaunchActionsLaunchStatusList, location_name: "postLaunchActionsLaunchStatusList"))
550
+ PostLaunchActionsStatus.add_member(:ssm_agent_discovery_datetime, Shapes::ShapeRef.new(shape: ISO8601DatetimeString, location_name: "ssmAgentDiscoveryDatetime"))
551
+ PostLaunchActionsStatus.struct_class = Types::PostLaunchActionsStatus
552
+
462
553
  ReplicationConfiguration.add_member(:associate_default_security_group, Shapes::ShapeRef.new(shape: Boolean, location_name: "associateDefaultSecurityGroup"))
463
554
  ReplicationConfiguration.add_member(:bandwidth_throttling, Shapes::ShapeRef.new(shape: PositiveInteger, location_name: "bandwidthThrottling"))
464
555
  ReplicationConfiguration.add_member(:create_public_ip, Shapes::ShapeRef.new(shape: Boolean, location_name: "createPublicIP"))
@@ -552,6 +643,24 @@ module Aws::Mgn
552
643
 
553
644
  SourceServersList.member = Shapes::ShapeRef.new(shape: SourceServer)
554
645
 
646
+ SsmDocument.add_member(:action_name, Shapes::ShapeRef.new(shape: BoundedString, required: true, location_name: "actionName"))
647
+ SsmDocument.add_member(:must_succeed_for_cutover, Shapes::ShapeRef.new(shape: Boolean, location_name: "mustSucceedForCutover"))
648
+ SsmDocument.add_member(:parameters, Shapes::ShapeRef.new(shape: SsmDocumentParameters, location_name: "parameters"))
649
+ SsmDocument.add_member(:ssm_document_name, Shapes::ShapeRef.new(shape: SsmDocumentName, required: true, location_name: "ssmDocumentName"))
650
+ SsmDocument.add_member(:timeout_seconds, Shapes::ShapeRef.new(shape: StrictlyPositiveInteger, location_name: "timeoutSeconds"))
651
+ SsmDocument.struct_class = Types::SsmDocument
652
+
653
+ SsmDocumentParameters.key = Shapes::ShapeRef.new(shape: SsmDocumentParameterName)
654
+ SsmDocumentParameters.value = Shapes::ShapeRef.new(shape: SsmParameterStoreParameters)
655
+
656
+ SsmDocuments.member = Shapes::ShapeRef.new(shape: SsmDocument)
657
+
658
+ SsmParameterStoreParameter.add_member(:parameter_name, Shapes::ShapeRef.new(shape: SsmParameterStoreParameterName, required: true, location_name: "parameterName"))
659
+ SsmParameterStoreParameter.add_member(:parameter_type, Shapes::ShapeRef.new(shape: SsmParameterStoreParameterType, required: true, location_name: "parameterType"))
660
+ SsmParameterStoreParameter.struct_class = Types::SsmParameterStoreParameter
661
+
662
+ SsmParameterStoreParameters.member = Shapes::ShapeRef.new(shape: SsmParameterStoreParameter)
663
+
555
664
  StartCutoverRequest.add_member(:source_server_i_ds, Shapes::ShapeRef.new(shape: StartCutoverRequestSourceServerIDs, required: true, location_name: "sourceServerIDs"))
556
665
  StartCutoverRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
557
666
  StartCutoverRequest.struct_class = Types::StartCutoverRequest
@@ -611,10 +720,15 @@ module Aws::Mgn
611
720
  UpdateLaunchConfigurationRequest.add_member(:launch_disposition, Shapes::ShapeRef.new(shape: LaunchDisposition, location_name: "launchDisposition"))
612
721
  UpdateLaunchConfigurationRequest.add_member(:licensing, Shapes::ShapeRef.new(shape: Licensing, location_name: "licensing"))
613
722
  UpdateLaunchConfigurationRequest.add_member(:name, Shapes::ShapeRef.new(shape: SmallBoundedString, location_name: "name"))
723
+ UpdateLaunchConfigurationRequest.add_member(:post_launch_actions, Shapes::ShapeRef.new(shape: PostLaunchActions, location_name: "postLaunchActions"))
614
724
  UpdateLaunchConfigurationRequest.add_member(:source_server_id, Shapes::ShapeRef.new(shape: SourceServerID, required: true, location_name: "sourceServerID"))
615
725
  UpdateLaunchConfigurationRequest.add_member(:target_instance_type_right_sizing_method, Shapes::ShapeRef.new(shape: TargetInstanceTypeRightSizingMethod, location_name: "targetInstanceTypeRightSizingMethod"))
616
726
  UpdateLaunchConfigurationRequest.struct_class = Types::UpdateLaunchConfigurationRequest
617
727
 
728
+ UpdateLaunchConfigurationTemplateRequest.add_member(:launch_configuration_template_id, Shapes::ShapeRef.new(shape: LaunchConfigurationTemplateID, required: true, location_name: "launchConfigurationTemplateID"))
729
+ UpdateLaunchConfigurationTemplateRequest.add_member(:post_launch_actions, Shapes::ShapeRef.new(shape: PostLaunchActions, location_name: "postLaunchActions"))
730
+ UpdateLaunchConfigurationTemplateRequest.struct_class = Types::UpdateLaunchConfigurationTemplateRequest
731
+
618
732
  UpdateReplicationConfigurationRequest.add_member(:associate_default_security_group, Shapes::ShapeRef.new(shape: Boolean, location_name: "associateDefaultSecurityGroup"))
619
733
  UpdateReplicationConfigurationRequest.add_member(:bandwidth_throttling, Shapes::ShapeRef.new(shape: PositiveInteger, location_name: "bandwidthThrottling"))
620
734
  UpdateReplicationConfigurationRequest.add_member(:create_public_ip, Shapes::ShapeRef.new(shape: Boolean, location_name: "createPublicIP"))
@@ -707,6 +821,17 @@ module Aws::Mgn
707
821
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
708
822
  end)
709
823
 
824
+ api.add_operation(:create_launch_configuration_template, Seahorse::Model::Operation.new.tap do |o|
825
+ o.name = "CreateLaunchConfigurationTemplate"
826
+ o.http_method = "POST"
827
+ o.http_request_uri = "/CreateLaunchConfigurationTemplate"
828
+ o.input = Shapes::ShapeRef.new(shape: CreateLaunchConfigurationTemplateRequest)
829
+ o.output = Shapes::ShapeRef.new(shape: LaunchConfigurationTemplate)
830
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
831
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
832
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
833
+ end)
834
+
710
835
  api.add_operation(:create_replication_configuration_template, Seahorse::Model::Operation.new.tap do |o|
711
836
  o.name = "CreateReplicationConfigurationTemplate"
712
837
  o.http_method = "POST"
@@ -729,6 +854,17 @@ module Aws::Mgn
729
854
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
730
855
  end)
731
856
 
857
+ api.add_operation(:delete_launch_configuration_template, Seahorse::Model::Operation.new.tap do |o|
858
+ o.name = "DeleteLaunchConfigurationTemplate"
859
+ o.http_method = "POST"
860
+ o.http_request_uri = "/DeleteLaunchConfigurationTemplate"
861
+ o.input = Shapes::ShapeRef.new(shape: DeleteLaunchConfigurationTemplateRequest)
862
+ o.output = Shapes::ShapeRef.new(shape: DeleteLaunchConfigurationTemplateResponse)
863
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
864
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
865
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
866
+ end)
867
+
732
868
  api.add_operation(:delete_replication_configuration_template, Seahorse::Model::Operation.new.tap do |o|
733
869
  o.name = "DeleteReplicationConfigurationTemplate"
734
870
  o.http_method = "POST"
@@ -794,6 +930,23 @@ module Aws::Mgn
794
930
  )
795
931
  end)
796
932
 
933
+ api.add_operation(:describe_launch_configuration_templates, Seahorse::Model::Operation.new.tap do |o|
934
+ o.name = "DescribeLaunchConfigurationTemplates"
935
+ o.http_method = "POST"
936
+ o.http_request_uri = "/DescribeLaunchConfigurationTemplates"
937
+ o.input = Shapes::ShapeRef.new(shape: DescribeLaunchConfigurationTemplatesRequest)
938
+ o.output = Shapes::ShapeRef.new(shape: DescribeLaunchConfigurationTemplatesResponse)
939
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
940
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
941
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
942
+ o[:pager] = Aws::Pager.new(
943
+ limit_key: "max_results",
944
+ tokens: {
945
+ "next_token" => "next_token"
946
+ }
947
+ )
948
+ end)
949
+
797
950
  api.add_operation(:describe_replication_configuration_templates, Seahorse::Model::Operation.new.tap do |o|
798
951
  o.name = "DescribeReplicationConfigurationTemplates"
799
952
  o.http_method = "POST"
@@ -1016,6 +1169,18 @@ module Aws::Mgn
1016
1169
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1017
1170
  end)
1018
1171
 
1172
+ api.add_operation(:update_launch_configuration_template, Seahorse::Model::Operation.new.tap do |o|
1173
+ o.name = "UpdateLaunchConfigurationTemplate"
1174
+ o.http_method = "POST"
1175
+ o.http_request_uri = "/UpdateLaunchConfigurationTemplate"
1176
+ o.input = Shapes::ShapeRef.new(shape: UpdateLaunchConfigurationTemplateRequest)
1177
+ o.output = Shapes::ShapeRef.new(shape: LaunchConfigurationTemplate)
1178
+ o.errors << Shapes::ShapeRef.new(shape: UninitializedAccountException)
1179
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1180
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1181
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1182
+ end)
1183
+
1019
1184
  api.add_operation(:update_replication_configuration, Seahorse::Model::Operation.new.tap do |o|
1020
1185
  o.name = "UpdateReplicationConfiguration"
1021
1186
  o.http_method = "POST"
@@ -0,0 +1,66 @@
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::Mgn
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,111 @@
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::Mgn
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL21nbi1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9tZ24tZmlwcy57UmVn
89
+ aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
90
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJj
91
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
+ aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
93
+ cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
+ IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
+ YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
+ Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
+ ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vbWduLntSZWdpb259LntQ
100
+ YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
+ dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
+ LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
+ Ijp7InVybCI6Imh0dHBzOi8vbWduLntSZWdpb259LntQYXJ0aXRpb25SZXN1
106
+ bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
107
+ InR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
108
+
109
+ JSON
110
+ end
111
+ end