aws-sdk-fis 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -0,0 +1,102 @@
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::FIS
11
+
12
+ # When FIS returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::FIS::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all FIS errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::FIS::Errors::ServiceError
20
+ # # rescues all FIS API errors
21
+ # end
22
+ #
23
+ #
24
+ # ## Request Context
25
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
26
+ # information about the request that generated the error.
27
+ # See {Seahorse::Client::RequestContext} for more information.
28
+ #
29
+ # ## Error Classes
30
+ # * {ConflictException}
31
+ # * {ResourceNotFoundException}
32
+ # * {ServiceQuotaExceededException}
33
+ # * {ValidationException}
34
+ #
35
+ # Additionally, error classes are dynamically generated for service errors based on the error code
36
+ # if they are not defined above.
37
+ module Errors
38
+
39
+ extend Aws::Errors::DynamicErrors
40
+
41
+ class ConflictException < ServiceError
42
+
43
+ # @param [Seahorse::Client::RequestContext] context
44
+ # @param [String] message
45
+ # @param [Aws::FIS::Types::ConflictException] data
46
+ def initialize(context, message, data = Aws::EmptyStructure.new)
47
+ super(context, message, data)
48
+ end
49
+
50
+ # @return [String]
51
+ def message
52
+ @message || @data[:message]
53
+ end
54
+ end
55
+
56
+ class ResourceNotFoundException < ServiceError
57
+
58
+ # @param [Seahorse::Client::RequestContext] context
59
+ # @param [String] message
60
+ # @param [Aws::FIS::Types::ResourceNotFoundException] data
61
+ def initialize(context, message, data = Aws::EmptyStructure.new)
62
+ super(context, message, data)
63
+ end
64
+
65
+ # @return [String]
66
+ def message
67
+ @message || @data[:message]
68
+ end
69
+ end
70
+
71
+ class ServiceQuotaExceededException < ServiceError
72
+
73
+ # @param [Seahorse::Client::RequestContext] context
74
+ # @param [String] message
75
+ # @param [Aws::FIS::Types::ServiceQuotaExceededException] data
76
+ def initialize(context, message, data = Aws::EmptyStructure.new)
77
+ super(context, message, data)
78
+ end
79
+
80
+ # @return [String]
81
+ def message
82
+ @message || @data[:message]
83
+ end
84
+ end
85
+
86
+ class ValidationException < ServiceError
87
+
88
+ # @param [Seahorse::Client::RequestContext] context
89
+ # @param [String] message
90
+ # @param [Aws::FIS::Types::ValidationException] data
91
+ def initialize(context, message, data = Aws::EmptyStructure.new)
92
+ super(context, message, data)
93
+ end
94
+
95
+ # @return [String]
96
+ def message
97
+ @message || @data[:message]
98
+ end
99
+ end
100
+
101
+ end
102
+ end
@@ -0,0 +1,26 @@
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::FIS
11
+
12
+ class Resource
13
+
14
+ # @param options ({})
15
+ # @option options [Client] :client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Client.new(options)
18
+ end
19
+
20
+ # @return [Client]
21
+ def client
22
+ @client
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,1563 @@
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::FIS
11
+ module Types
12
+
13
+ # Describes an action. For more information, see [AWS FIS actions][1] in
14
+ # the *AWS Fault Injection Simulator User Guide*.
15
+ #
16
+ #
17
+ #
18
+ # [1]: https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html
19
+ #
20
+ # @!attribute [rw] id
21
+ # The ID of the action.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] description
25
+ # The description for the action.
26
+ # @return [String]
27
+ #
28
+ # @!attribute [rw] parameters
29
+ # The action parameters, if applicable.
30
+ # @return [Hash<String,Types::ActionParameter>]
31
+ #
32
+ # @!attribute [rw] targets
33
+ # The supported targets for the action.
34
+ # @return [Hash<String,Types::ActionTarget>]
35
+ #
36
+ # @!attribute [rw] tags
37
+ # The tags for the action.
38
+ # @return [Hash<String,String>]
39
+ #
40
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/Action AWS API Documentation
41
+ #
42
+ class Action < Struct.new(
43
+ :id,
44
+ :description,
45
+ :parameters,
46
+ :targets,
47
+ :tags)
48
+ SENSITIVE = []
49
+ include Aws::Structure
50
+ end
51
+
52
+ # Describes a parameter for an action.
53
+ #
54
+ # @!attribute [rw] description
55
+ # The parameter description.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] required
59
+ # Indicates whether the parameter is required.
60
+ # @return [Boolean]
61
+ #
62
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ActionParameter AWS API Documentation
63
+ #
64
+ class ActionParameter < Struct.new(
65
+ :description,
66
+ :required)
67
+ SENSITIVE = []
68
+ include Aws::Structure
69
+ end
70
+
71
+ # Provides a summary of an action.
72
+ #
73
+ # @!attribute [rw] id
74
+ # The ID of the action.
75
+ # @return [String]
76
+ #
77
+ # @!attribute [rw] description
78
+ # The description for the action.
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] targets
82
+ # The targets for the action.
83
+ # @return [Hash<String,Types::ActionTarget>]
84
+ #
85
+ # @!attribute [rw] tags
86
+ # The tags for the action.
87
+ # @return [Hash<String,String>]
88
+ #
89
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ActionSummary AWS API Documentation
90
+ #
91
+ class ActionSummary < Struct.new(
92
+ :id,
93
+ :description,
94
+ :targets,
95
+ :tags)
96
+ SENSITIVE = []
97
+ include Aws::Structure
98
+ end
99
+
100
+ # Describes a target for an action.
101
+ #
102
+ # @!attribute [rw] resource_type
103
+ # The resource type of the target.
104
+ # @return [String]
105
+ #
106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ActionTarget AWS API Documentation
107
+ #
108
+ class ActionTarget < Struct.new(
109
+ :resource_type)
110
+ SENSITIVE = []
111
+ include Aws::Structure
112
+ end
113
+
114
+ # The request could not be processed because of a conflict.
115
+ #
116
+ # @!attribute [rw] message
117
+ # @return [String]
118
+ #
119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ConflictException AWS API Documentation
120
+ #
121
+ class ConflictException < Struct.new(
122
+ :message)
123
+ SENSITIVE = []
124
+ include Aws::Structure
125
+ end
126
+
127
+ # Specifies an action for an experiment template.
128
+ #
129
+ # @note When making an API call, you may pass CreateExperimentTemplateActionInput
130
+ # data as a hash:
131
+ #
132
+ # {
133
+ # action_id: "ActionId", # required
134
+ # description: "ExperimentTemplateActionDescription",
135
+ # parameters: {
136
+ # "ExperimentTemplateActionParameterName" => "ExperimentTemplateActionParameter",
137
+ # },
138
+ # targets: {
139
+ # "ExperimentTemplateActionTargetName" => "ExperimentTemplateTargetName",
140
+ # },
141
+ # start_after: ["ExperimentTemplateActionStartAfter"],
142
+ # }
143
+ #
144
+ # @!attribute [rw] action_id
145
+ # The ID of the action.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] description
149
+ # A description for the action.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] parameters
153
+ # The parameters for the action, if applicable.
154
+ # @return [Hash<String,String>]
155
+ #
156
+ # @!attribute [rw] targets
157
+ # The targets for the action.
158
+ # @return [Hash<String,String>]
159
+ #
160
+ # @!attribute [rw] start_after
161
+ # The name of the action that must be completed before the current
162
+ # action starts. Omit this parameter to run the action at the start of
163
+ # the experiment.
164
+ # @return [Array<String>]
165
+ #
166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplateActionInput AWS API Documentation
167
+ #
168
+ class CreateExperimentTemplateActionInput < Struct.new(
169
+ :action_id,
170
+ :description,
171
+ :parameters,
172
+ :targets,
173
+ :start_after)
174
+ SENSITIVE = []
175
+ include Aws::Structure
176
+ end
177
+
178
+ # @note When making an API call, you may pass CreateExperimentTemplateRequest
179
+ # data as a hash:
180
+ #
181
+ # {
182
+ # client_token: "ClientToken", # required
183
+ # description: "ExperimentTemplateDescription", # required
184
+ # stop_conditions: [ # required
185
+ # {
186
+ # source: "StopConditionSource", # required
187
+ # value: "StopConditionValue",
188
+ # },
189
+ # ],
190
+ # targets: {
191
+ # "ExperimentTemplateTargetName" => {
192
+ # resource_type: "ResourceType", # required
193
+ # resource_arns: ["ResourceArn"],
194
+ # resource_tags: {
195
+ # "TagKey" => "TagValue",
196
+ # },
197
+ # filters: [
198
+ # {
199
+ # path: "ExperimentTemplateTargetFilterPath", # required
200
+ # values: ["ExperimentTemplateTargetFilterValue"], # required
201
+ # },
202
+ # ],
203
+ # selection_mode: "ExperimentTemplateTargetSelectionMode", # required
204
+ # },
205
+ # },
206
+ # actions: { # required
207
+ # "ExperimentTemplateActionName" => {
208
+ # action_id: "ActionId", # required
209
+ # description: "ExperimentTemplateActionDescription",
210
+ # parameters: {
211
+ # "ExperimentTemplateActionParameterName" => "ExperimentTemplateActionParameter",
212
+ # },
213
+ # targets: {
214
+ # "ExperimentTemplateActionTargetName" => "ExperimentTemplateTargetName",
215
+ # },
216
+ # start_after: ["ExperimentTemplateActionStartAfter"],
217
+ # },
218
+ # },
219
+ # role_arn: "RoleArn", # required
220
+ # tags: {
221
+ # "TagKey" => "TagValue",
222
+ # },
223
+ # }
224
+ #
225
+ # @!attribute [rw] client_token
226
+ # Unique, case-sensitive identifier that you provide to ensure the
227
+ # idempotency of the request.
228
+ #
229
+ # **A suitable default value is auto-generated.** You should normally
230
+ # not need to pass this option.
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] description
234
+ # A description for the experiment template. Can contain up to 64
235
+ # letters (A-Z and a-z).
236
+ # @return [String]
237
+ #
238
+ # @!attribute [rw] stop_conditions
239
+ # The stop conditions.
240
+ # @return [Array<Types::CreateExperimentTemplateStopConditionInput>]
241
+ #
242
+ # @!attribute [rw] targets
243
+ # The targets for the experiment.
244
+ # @return [Hash<String,Types::CreateExperimentTemplateTargetInput>]
245
+ #
246
+ # @!attribute [rw] actions
247
+ # The actions for the experiment.
248
+ # @return [Hash<String,Types::CreateExperimentTemplateActionInput>]
249
+ #
250
+ # @!attribute [rw] role_arn
251
+ # The Amazon Resource Name (ARN) of an IAM role that grants the AWS
252
+ # FIS service permission to perform service actions on your behalf.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] tags
256
+ # The tags to apply to the experiment template.
257
+ # @return [Hash<String,String>]
258
+ #
259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplateRequest AWS API Documentation
260
+ #
261
+ class CreateExperimentTemplateRequest < Struct.new(
262
+ :client_token,
263
+ :description,
264
+ :stop_conditions,
265
+ :targets,
266
+ :actions,
267
+ :role_arn,
268
+ :tags)
269
+ SENSITIVE = []
270
+ include Aws::Structure
271
+ end
272
+
273
+ # @!attribute [rw] experiment_template
274
+ # Information about the experiment template.
275
+ # @return [Types::ExperimentTemplate]
276
+ #
277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplateResponse AWS API Documentation
278
+ #
279
+ class CreateExperimentTemplateResponse < Struct.new(
280
+ :experiment_template)
281
+ SENSITIVE = []
282
+ include Aws::Structure
283
+ end
284
+
285
+ # Specifies a stop condition for an experiment template.
286
+ #
287
+ # @note When making an API call, you may pass CreateExperimentTemplateStopConditionInput
288
+ # data as a hash:
289
+ #
290
+ # {
291
+ # source: "StopConditionSource", # required
292
+ # value: "StopConditionValue",
293
+ # }
294
+ #
295
+ # @!attribute [rw] source
296
+ # The source for the stop condition. Specify `aws:cloudwatch:alarm` if
297
+ # the stop condition is defined by a CloudWatch alarm. Specify `none`
298
+ # if there is no stop condition.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] value
302
+ # The Amazon Resource Name (ARN) of the CloudWatch alarm. This is
303
+ # required if the source is a CloudWatch alarm.
304
+ # @return [String]
305
+ #
306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplateStopConditionInput AWS API Documentation
307
+ #
308
+ class CreateExperimentTemplateStopConditionInput < Struct.new(
309
+ :source,
310
+ :value)
311
+ SENSITIVE = []
312
+ include Aws::Structure
313
+ end
314
+
315
+ # Specifies a target for an experiment. You must specify at least one
316
+ # Amazon Resource Name (ARN) or at least one resource tag. You cannot
317
+ # specify both ARNs and tags.
318
+ #
319
+ # @note When making an API call, you may pass CreateExperimentTemplateTargetInput
320
+ # data as a hash:
321
+ #
322
+ # {
323
+ # resource_type: "ResourceType", # required
324
+ # resource_arns: ["ResourceArn"],
325
+ # resource_tags: {
326
+ # "TagKey" => "TagValue",
327
+ # },
328
+ # filters: [
329
+ # {
330
+ # path: "ExperimentTemplateTargetFilterPath", # required
331
+ # values: ["ExperimentTemplateTargetFilterValue"], # required
332
+ # },
333
+ # ],
334
+ # selection_mode: "ExperimentTemplateTargetSelectionMode", # required
335
+ # }
336
+ #
337
+ # @!attribute [rw] resource_type
338
+ # The AWS resource type. The resource type must be supported for the
339
+ # specified action.
340
+ # @return [String]
341
+ #
342
+ # @!attribute [rw] resource_arns
343
+ # The Amazon Resource Names (ARNs) of the resources.
344
+ # @return [Array<String>]
345
+ #
346
+ # @!attribute [rw] resource_tags
347
+ # The tags for the target resources.
348
+ # @return [Hash<String,String>]
349
+ #
350
+ # @!attribute [rw] filters
351
+ # The filters to apply to identify target resources using specific
352
+ # attributes.
353
+ # @return [Array<Types::ExperimentTemplateTargetInputFilter>]
354
+ #
355
+ # @!attribute [rw] selection_mode
356
+ # Scopes the identified resources to a specific count of the resources
357
+ # at random, or a percentage of the resources. All identified
358
+ # resources are included in the target.
359
+ #
360
+ # * ALL - Run the action on all identified targets. This is the
361
+ # default.
362
+ #
363
+ # * COUNT(n) - Run the action on the specified number of targets,
364
+ # chosen from the identified targets at random. For example,
365
+ # COUNT(1) selects one of the targets.
366
+ #
367
+ # * PERCENT(n) - Run the action on the specified percentage of
368
+ # targets, chosen from the identified targets at random. For
369
+ # example, PERCENT(25) selects 25% of the targets.
370
+ # @return [String]
371
+ #
372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplateTargetInput AWS API Documentation
373
+ #
374
+ class CreateExperimentTemplateTargetInput < Struct.new(
375
+ :resource_type,
376
+ :resource_arns,
377
+ :resource_tags,
378
+ :filters,
379
+ :selection_mode)
380
+ SENSITIVE = []
381
+ include Aws::Structure
382
+ end
383
+
384
+ # @note When making an API call, you may pass DeleteExperimentTemplateRequest
385
+ # data as a hash:
386
+ #
387
+ # {
388
+ # id: "ExperimentTemplateId", # required
389
+ # }
390
+ #
391
+ # @!attribute [rw] id
392
+ # The ID of the experiment template.
393
+ # @return [String]
394
+ #
395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplateRequest AWS API Documentation
396
+ #
397
+ class DeleteExperimentTemplateRequest < Struct.new(
398
+ :id)
399
+ SENSITIVE = []
400
+ include Aws::Structure
401
+ end
402
+
403
+ # @!attribute [rw] experiment_template
404
+ # Information about the experiment template.
405
+ # @return [Types::ExperimentTemplate]
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplateResponse AWS API Documentation
408
+ #
409
+ class DeleteExperimentTemplateResponse < Struct.new(
410
+ :experiment_template)
411
+ SENSITIVE = []
412
+ include Aws::Structure
413
+ end
414
+
415
+ # Describes an experiment.
416
+ #
417
+ # @!attribute [rw] id
418
+ # The ID of the experiment.
419
+ # @return [String]
420
+ #
421
+ # @!attribute [rw] experiment_template_id
422
+ # The ID of the experiment template.
423
+ # @return [String]
424
+ #
425
+ # @!attribute [rw] role_arn
426
+ # The Amazon Resource Name (ARN) of an IAM role that grants the AWS
427
+ # FIS service permission to perform service actions on your behalf.
428
+ # @return [String]
429
+ #
430
+ # @!attribute [rw] state
431
+ # The state of the experiment.
432
+ # @return [Types::ExperimentState]
433
+ #
434
+ # @!attribute [rw] targets
435
+ # The targets for the experiment.
436
+ # @return [Hash<String,Types::ExperimentTarget>]
437
+ #
438
+ # @!attribute [rw] actions
439
+ # The actions for the experiment.
440
+ # @return [Hash<String,Types::ExperimentAction>]
441
+ #
442
+ # @!attribute [rw] stop_conditions
443
+ # The stop conditions for the experiment.
444
+ # @return [Array<Types::ExperimentStopCondition>]
445
+ #
446
+ # @!attribute [rw] creation_time
447
+ # The time the experiment was created.
448
+ # @return [Time]
449
+ #
450
+ # @!attribute [rw] start_time
451
+ # The time that the experiment was started.
452
+ # @return [Time]
453
+ #
454
+ # @!attribute [rw] end_time
455
+ # The time that the experiment ended.
456
+ # @return [Time]
457
+ #
458
+ # @!attribute [rw] tags
459
+ # The tags for the experiment.
460
+ # @return [Hash<String,String>]
461
+ #
462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/Experiment AWS API Documentation
463
+ #
464
+ class Experiment < Struct.new(
465
+ :id,
466
+ :experiment_template_id,
467
+ :role_arn,
468
+ :state,
469
+ :targets,
470
+ :actions,
471
+ :stop_conditions,
472
+ :creation_time,
473
+ :start_time,
474
+ :end_time,
475
+ :tags)
476
+ SENSITIVE = []
477
+ include Aws::Structure
478
+ end
479
+
480
+ # Describes the action for an experiment.
481
+ #
482
+ # @!attribute [rw] action_id
483
+ # The ID of the action.
484
+ # @return [String]
485
+ #
486
+ # @!attribute [rw] description
487
+ # The description for the action.
488
+ # @return [String]
489
+ #
490
+ # @!attribute [rw] parameters
491
+ # The parameters for the action.
492
+ # @return [Hash<String,String>]
493
+ #
494
+ # @!attribute [rw] targets
495
+ # The targets for the action.
496
+ # @return [Hash<String,String>]
497
+ #
498
+ # @!attribute [rw] start_after
499
+ # The name of the action that must be completed before this action
500
+ # starts.
501
+ # @return [Array<String>]
502
+ #
503
+ # @!attribute [rw] state
504
+ # The state of the action.
505
+ # @return [Types::ExperimentActionState]
506
+ #
507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentAction AWS API Documentation
508
+ #
509
+ class ExperimentAction < Struct.new(
510
+ :action_id,
511
+ :description,
512
+ :parameters,
513
+ :targets,
514
+ :start_after,
515
+ :state)
516
+ SENSITIVE = []
517
+ include Aws::Structure
518
+ end
519
+
520
+ # Describes the state of an action.
521
+ #
522
+ # @!attribute [rw] status
523
+ # The state of the action.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] reason
527
+ # The reason for the state.
528
+ # @return [String]
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentActionState AWS API Documentation
531
+ #
532
+ class ExperimentActionState < Struct.new(
533
+ :status,
534
+ :reason)
535
+ SENSITIVE = []
536
+ include Aws::Structure
537
+ end
538
+
539
+ # Describes the state of an experiment.
540
+ #
541
+ # @!attribute [rw] status
542
+ # The state of the experiment.
543
+ # @return [String]
544
+ #
545
+ # @!attribute [rw] reason
546
+ # The reason for the state.
547
+ # @return [String]
548
+ #
549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentState AWS API Documentation
550
+ #
551
+ class ExperimentState < Struct.new(
552
+ :status,
553
+ :reason)
554
+ SENSITIVE = []
555
+ include Aws::Structure
556
+ end
557
+
558
+ # Describes the stop condition for an experiment.
559
+ #
560
+ # @!attribute [rw] source
561
+ # The source for the stop condition.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] value
565
+ # The Amazon Resource Name (ARN) of the CloudWatch alarm, if
566
+ # applicable.
567
+ # @return [String]
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentStopCondition AWS API Documentation
570
+ #
571
+ class ExperimentStopCondition < Struct.new(
572
+ :source,
573
+ :value)
574
+ SENSITIVE = []
575
+ include Aws::Structure
576
+ end
577
+
578
+ # Provides a summary of an experiment.
579
+ #
580
+ # @!attribute [rw] id
581
+ # The ID of the experiment.
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] experiment_template_id
585
+ # The ID of the experiment template.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] state
589
+ # The state of the experiment.
590
+ # @return [Types::ExperimentState]
591
+ #
592
+ # @!attribute [rw] creation_time
593
+ # The time that the experiment was created.
594
+ # @return [Time]
595
+ #
596
+ # @!attribute [rw] tags
597
+ # The tags for the experiment.
598
+ # @return [Hash<String,String>]
599
+ #
600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentSummary AWS API Documentation
601
+ #
602
+ class ExperimentSummary < Struct.new(
603
+ :id,
604
+ :experiment_template_id,
605
+ :state,
606
+ :creation_time,
607
+ :tags)
608
+ SENSITIVE = []
609
+ include Aws::Structure
610
+ end
611
+
612
+ # Describes a target for an experiment.
613
+ #
614
+ # @!attribute [rw] resource_type
615
+ # The resource type.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] resource_arns
619
+ # The Amazon Resource Names (ARNs) of the resources.
620
+ # @return [Array<String>]
621
+ #
622
+ # @!attribute [rw] resource_tags
623
+ # The tags for the target resources.
624
+ # @return [Hash<String,String>]
625
+ #
626
+ # @!attribute [rw] filters
627
+ # The filters to apply to identify target resources using specific
628
+ # attributes.
629
+ # @return [Array<Types::ExperimentTargetFilter>]
630
+ #
631
+ # @!attribute [rw] selection_mode
632
+ # Scopes the identified resources to a specific count or percentage.
633
+ # @return [String]
634
+ #
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTarget AWS API Documentation
636
+ #
637
+ class ExperimentTarget < Struct.new(
638
+ :resource_type,
639
+ :resource_arns,
640
+ :resource_tags,
641
+ :filters,
642
+ :selection_mode)
643
+ SENSITIVE = []
644
+ include Aws::Structure
645
+ end
646
+
647
+ # Describes a filter used for the target resources in an experiment.
648
+ #
649
+ # @!attribute [rw] path
650
+ # The attribute path for the filter.
651
+ # @return [String]
652
+ #
653
+ # @!attribute [rw] values
654
+ # The attribute values for the filter.
655
+ # @return [Array<String>]
656
+ #
657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTargetFilter AWS API Documentation
658
+ #
659
+ class ExperimentTargetFilter < Struct.new(
660
+ :path,
661
+ :values)
662
+ SENSITIVE = []
663
+ include Aws::Structure
664
+ end
665
+
666
+ # Describes an experiment template.
667
+ #
668
+ # @!attribute [rw] id
669
+ # The ID of the experiment template.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] description
673
+ # The description for the experiment template.
674
+ # @return [String]
675
+ #
676
+ # @!attribute [rw] targets
677
+ # The targets for the experiment.
678
+ # @return [Hash<String,Types::ExperimentTemplateTarget>]
679
+ #
680
+ # @!attribute [rw] actions
681
+ # The actions for the experiment.
682
+ # @return [Hash<String,Types::ExperimentTemplateAction>]
683
+ #
684
+ # @!attribute [rw] stop_conditions
685
+ # The stop conditions for the experiment.
686
+ # @return [Array<Types::ExperimentTemplateStopCondition>]
687
+ #
688
+ # @!attribute [rw] creation_time
689
+ # The time the experiment template was created.
690
+ # @return [Time]
691
+ #
692
+ # @!attribute [rw] last_update_time
693
+ # The time the experiment template was last updated.
694
+ # @return [Time]
695
+ #
696
+ # @!attribute [rw] role_arn
697
+ # The Amazon Resource Name (ARN) of an IAM role.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] tags
701
+ # The tags for the experiment template.
702
+ # @return [Hash<String,String>]
703
+ #
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplate AWS API Documentation
705
+ #
706
+ class ExperimentTemplate < Struct.new(
707
+ :id,
708
+ :description,
709
+ :targets,
710
+ :actions,
711
+ :stop_conditions,
712
+ :creation_time,
713
+ :last_update_time,
714
+ :role_arn,
715
+ :tags)
716
+ SENSITIVE = []
717
+ include Aws::Structure
718
+ end
719
+
720
+ # Describes an action for an experiment template.
721
+ #
722
+ # @!attribute [rw] action_id
723
+ # The ID of the action.
724
+ # @return [String]
725
+ #
726
+ # @!attribute [rw] description
727
+ # A description for the action.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] parameters
731
+ # The parameters for the action.
732
+ # @return [Hash<String,String>]
733
+ #
734
+ # @!attribute [rw] targets
735
+ # The targets for the action.
736
+ # @return [Hash<String,String>]
737
+ #
738
+ # @!attribute [rw] start_after
739
+ # The name of the action that must be completed before the current
740
+ # action starts.
741
+ # @return [Array<String>]
742
+ #
743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateAction AWS API Documentation
744
+ #
745
+ class ExperimentTemplateAction < Struct.new(
746
+ :action_id,
747
+ :description,
748
+ :parameters,
749
+ :targets,
750
+ :start_after)
751
+ SENSITIVE = []
752
+ include Aws::Structure
753
+ end
754
+
755
+ # Describes a stop condition for an experiment template.
756
+ #
757
+ # @!attribute [rw] source
758
+ # The source for the stop condition.
759
+ # @return [String]
760
+ #
761
+ # @!attribute [rw] value
762
+ # The Amazon Resource Name (ARN) of the CloudWatch alarm, if
763
+ # applicable.
764
+ # @return [String]
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateStopCondition AWS API Documentation
767
+ #
768
+ class ExperimentTemplateStopCondition < Struct.new(
769
+ :source,
770
+ :value)
771
+ SENSITIVE = []
772
+ include Aws::Structure
773
+ end
774
+
775
+ # Provides a summary of an experiment template.
776
+ #
777
+ # @!attribute [rw] id
778
+ # The ID of the experiment template.
779
+ # @return [String]
780
+ #
781
+ # @!attribute [rw] description
782
+ # The description of the experiment template.
783
+ # @return [String]
784
+ #
785
+ # @!attribute [rw] creation_time
786
+ # The time that the experiment template was created.
787
+ # @return [Time]
788
+ #
789
+ # @!attribute [rw] last_update_time
790
+ # The time that the experiment template was last updated.
791
+ # @return [Time]
792
+ #
793
+ # @!attribute [rw] tags
794
+ # The tags for the experiment template.
795
+ # @return [Hash<String,String>]
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateSummary AWS API Documentation
798
+ #
799
+ class ExperimentTemplateSummary < Struct.new(
800
+ :id,
801
+ :description,
802
+ :creation_time,
803
+ :last_update_time,
804
+ :tags)
805
+ SENSITIVE = []
806
+ include Aws::Structure
807
+ end
808
+
809
+ # Describes a target for an experiment template.
810
+ #
811
+ # @!attribute [rw] resource_type
812
+ # The resource type.
813
+ # @return [String]
814
+ #
815
+ # @!attribute [rw] resource_arns
816
+ # The Amazon Resource Names (ARNs) of the targets.
817
+ # @return [Array<String>]
818
+ #
819
+ # @!attribute [rw] resource_tags
820
+ # The tags for the target resources.
821
+ # @return [Hash<String,String>]
822
+ #
823
+ # @!attribute [rw] filters
824
+ # The filters to apply to identify target resources using specific
825
+ # attributes.
826
+ # @return [Array<Types::ExperimentTemplateTargetFilter>]
827
+ #
828
+ # @!attribute [rw] selection_mode
829
+ # Scopes the identified resources to a specific count or percentage.
830
+ # @return [String]
831
+ #
832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateTarget AWS API Documentation
833
+ #
834
+ class ExperimentTemplateTarget < Struct.new(
835
+ :resource_type,
836
+ :resource_arns,
837
+ :resource_tags,
838
+ :filters,
839
+ :selection_mode)
840
+ SENSITIVE = []
841
+ include Aws::Structure
842
+ end
843
+
844
+ # Describes a filter used for the target resources in an experiment
845
+ # template.
846
+ #
847
+ # @!attribute [rw] path
848
+ # The attribute path for the filter.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] values
852
+ # The attribute values for the filter.
853
+ # @return [Array<String>]
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateTargetFilter AWS API Documentation
856
+ #
857
+ class ExperimentTemplateTargetFilter < Struct.new(
858
+ :path,
859
+ :values)
860
+ SENSITIVE = []
861
+ include Aws::Structure
862
+ end
863
+
864
+ # Describes a filter used for the target resource input in an experiment
865
+ # template.
866
+ #
867
+ # @note When making an API call, you may pass ExperimentTemplateTargetInputFilter
868
+ # data as a hash:
869
+ #
870
+ # {
871
+ # path: "ExperimentTemplateTargetFilterPath", # required
872
+ # values: ["ExperimentTemplateTargetFilterValue"], # required
873
+ # }
874
+ #
875
+ # @!attribute [rw] path
876
+ # The attribute path for the filter.
877
+ # @return [String]
878
+ #
879
+ # @!attribute [rw] values
880
+ # The attribute values for the filter.
881
+ # @return [Array<String>]
882
+ #
883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ExperimentTemplateTargetInputFilter AWS API Documentation
884
+ #
885
+ class ExperimentTemplateTargetInputFilter < Struct.new(
886
+ :path,
887
+ :values)
888
+ SENSITIVE = []
889
+ include Aws::Structure
890
+ end
891
+
892
+ # @note When making an API call, you may pass GetActionRequest
893
+ # data as a hash:
894
+ #
895
+ # {
896
+ # id: "ActionId", # required
897
+ # }
898
+ #
899
+ # @!attribute [rw] id
900
+ # The ID of the action.
901
+ # @return [String]
902
+ #
903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetActionRequest AWS API Documentation
904
+ #
905
+ class GetActionRequest < Struct.new(
906
+ :id)
907
+ SENSITIVE = []
908
+ include Aws::Structure
909
+ end
910
+
911
+ # @!attribute [rw] action
912
+ # Information about the action.
913
+ # @return [Types::Action]
914
+ #
915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetActionResponse AWS API Documentation
916
+ #
917
+ class GetActionResponse < Struct.new(
918
+ :action)
919
+ SENSITIVE = []
920
+ include Aws::Structure
921
+ end
922
+
923
+ # @note When making an API call, you may pass GetExperimentRequest
924
+ # data as a hash:
925
+ #
926
+ # {
927
+ # id: "ExperimentId", # required
928
+ # }
929
+ #
930
+ # @!attribute [rw] id
931
+ # The ID of the experiment.
932
+ # @return [String]
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentRequest AWS API Documentation
935
+ #
936
+ class GetExperimentRequest < Struct.new(
937
+ :id)
938
+ SENSITIVE = []
939
+ include Aws::Structure
940
+ end
941
+
942
+ # @!attribute [rw] experiment
943
+ # Information about the experiment.
944
+ # @return [Types::Experiment]
945
+ #
946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentResponse AWS API Documentation
947
+ #
948
+ class GetExperimentResponse < Struct.new(
949
+ :experiment)
950
+ SENSITIVE = []
951
+ include Aws::Structure
952
+ end
953
+
954
+ # @note When making an API call, you may pass GetExperimentTemplateRequest
955
+ # data as a hash:
956
+ #
957
+ # {
958
+ # id: "ExperimentTemplateId", # required
959
+ # }
960
+ #
961
+ # @!attribute [rw] id
962
+ # The ID of the experiment template.
963
+ # @return [String]
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplateRequest AWS API Documentation
966
+ #
967
+ class GetExperimentTemplateRequest < Struct.new(
968
+ :id)
969
+ SENSITIVE = []
970
+ include Aws::Structure
971
+ end
972
+
973
+ # @!attribute [rw] experiment_template
974
+ # Information about the experiment template.
975
+ # @return [Types::ExperimentTemplate]
976
+ #
977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplateResponse AWS API Documentation
978
+ #
979
+ class GetExperimentTemplateResponse < Struct.new(
980
+ :experiment_template)
981
+ SENSITIVE = []
982
+ include Aws::Structure
983
+ end
984
+
985
+ # @note When making an API call, you may pass ListActionsRequest
986
+ # data as a hash:
987
+ #
988
+ # {
989
+ # max_results: 1,
990
+ # next_token: "NextToken",
991
+ # }
992
+ #
993
+ # @!attribute [rw] max_results
994
+ # The maximum number of results to return with a single call. To
995
+ # retrieve the remaining results, make another call with the returned
996
+ # `nextToken` value.
997
+ # @return [Integer]
998
+ #
999
+ # @!attribute [rw] next_token
1000
+ # The token for the next page of results.
1001
+ # @return [String]
1002
+ #
1003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActionsRequest AWS API Documentation
1004
+ #
1005
+ class ListActionsRequest < Struct.new(
1006
+ :max_results,
1007
+ :next_token)
1008
+ SENSITIVE = []
1009
+ include Aws::Structure
1010
+ end
1011
+
1012
+ # @!attribute [rw] actions
1013
+ # The actions.
1014
+ # @return [Array<Types::ActionSummary>]
1015
+ #
1016
+ # @!attribute [rw] next_token
1017
+ # The token to use to retrieve the next page of results. This value is
1018
+ # `null` when there are no more results to return.
1019
+ # @return [String]
1020
+ #
1021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActionsResponse AWS API Documentation
1022
+ #
1023
+ class ListActionsResponse < Struct.new(
1024
+ :actions,
1025
+ :next_token)
1026
+ SENSITIVE = []
1027
+ include Aws::Structure
1028
+ end
1029
+
1030
+ # @note When making an API call, you may pass ListExperimentTemplatesRequest
1031
+ # data as a hash:
1032
+ #
1033
+ # {
1034
+ # max_results: 1,
1035
+ # next_token: "NextToken",
1036
+ # }
1037
+ #
1038
+ # @!attribute [rw] max_results
1039
+ # The maximum number of results to return with a single call. To
1040
+ # retrieve the remaining results, make another call with the returned
1041
+ # `nextToken` value.
1042
+ # @return [Integer]
1043
+ #
1044
+ # @!attribute [rw] next_token
1045
+ # The token for the next page of results.
1046
+ # @return [String]
1047
+ #
1048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplatesRequest AWS API Documentation
1049
+ #
1050
+ class ListExperimentTemplatesRequest < Struct.new(
1051
+ :max_results,
1052
+ :next_token)
1053
+ SENSITIVE = []
1054
+ include Aws::Structure
1055
+ end
1056
+
1057
+ # @!attribute [rw] experiment_templates
1058
+ # The experiment templates.
1059
+ # @return [Array<Types::ExperimentTemplateSummary>]
1060
+ #
1061
+ # @!attribute [rw] next_token
1062
+ # The token to use to retrieve the next page of results. This value is
1063
+ # `null` when there are no more results to return.
1064
+ # @return [String]
1065
+ #
1066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplatesResponse AWS API Documentation
1067
+ #
1068
+ class ListExperimentTemplatesResponse < Struct.new(
1069
+ :experiment_templates,
1070
+ :next_token)
1071
+ SENSITIVE = []
1072
+ include Aws::Structure
1073
+ end
1074
+
1075
+ # @note When making an API call, you may pass ListExperimentsRequest
1076
+ # data as a hash:
1077
+ #
1078
+ # {
1079
+ # max_results: 1,
1080
+ # next_token: "NextToken",
1081
+ # }
1082
+ #
1083
+ # @!attribute [rw] max_results
1084
+ # The maximum number of results to return with a single call. To
1085
+ # retrieve the remaining results, make another call with the returned
1086
+ # `nextToken` value.
1087
+ # @return [Integer]
1088
+ #
1089
+ # @!attribute [rw] next_token
1090
+ # The token for the next page of results.
1091
+ # @return [String]
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentsRequest AWS API Documentation
1094
+ #
1095
+ class ListExperimentsRequest < Struct.new(
1096
+ :max_results,
1097
+ :next_token)
1098
+ SENSITIVE = []
1099
+ include Aws::Structure
1100
+ end
1101
+
1102
+ # @!attribute [rw] experiments
1103
+ # The experiments.
1104
+ # @return [Array<Types::ExperimentSummary>]
1105
+ #
1106
+ # @!attribute [rw] next_token
1107
+ # The token to use to retrieve the next page of results. This value is
1108
+ # `null` when there are no more results to return.
1109
+ # @return [String]
1110
+ #
1111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentsResponse AWS API Documentation
1112
+ #
1113
+ class ListExperimentsResponse < Struct.new(
1114
+ :experiments,
1115
+ :next_token)
1116
+ SENSITIVE = []
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1121
+ # data as a hash:
1122
+ #
1123
+ # {
1124
+ # resource_arn: "ResourceArn", # required
1125
+ # }
1126
+ #
1127
+ # @!attribute [rw] resource_arn
1128
+ # The Amazon Resource Name (ARN) of the resource.
1129
+ # @return [String]
1130
+ #
1131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListTagsForResourceRequest AWS API Documentation
1132
+ #
1133
+ class ListTagsForResourceRequest < Struct.new(
1134
+ :resource_arn)
1135
+ SENSITIVE = []
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # @!attribute [rw] tags
1140
+ # The tags for the resource.
1141
+ # @return [Hash<String,String>]
1142
+ #
1143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListTagsForResourceResponse AWS API Documentation
1144
+ #
1145
+ class ListTagsForResourceResponse < Struct.new(
1146
+ :tags)
1147
+ SENSITIVE = []
1148
+ include Aws::Structure
1149
+ end
1150
+
1151
+ # The specified resource cannot be found.
1152
+ #
1153
+ # @!attribute [rw] message
1154
+ # @return [String]
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ResourceNotFoundException AWS API Documentation
1157
+ #
1158
+ class ResourceNotFoundException < Struct.new(
1159
+ :message)
1160
+ SENSITIVE = []
1161
+ include Aws::Structure
1162
+ end
1163
+
1164
+ # You have exceeded your service quota.
1165
+ #
1166
+ # @!attribute [rw] message
1167
+ # @return [String]
1168
+ #
1169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ServiceQuotaExceededException AWS API Documentation
1170
+ #
1171
+ class ServiceQuotaExceededException < Struct.new(
1172
+ :message)
1173
+ SENSITIVE = []
1174
+ include Aws::Structure
1175
+ end
1176
+
1177
+ # @note When making an API call, you may pass StartExperimentRequest
1178
+ # data as a hash:
1179
+ #
1180
+ # {
1181
+ # client_token: "ClientToken", # required
1182
+ # experiment_template_id: "ExperimentTemplateId", # required
1183
+ # tags: {
1184
+ # "TagKey" => "TagValue",
1185
+ # },
1186
+ # }
1187
+ #
1188
+ # @!attribute [rw] client_token
1189
+ # Unique, case-sensitive identifier that you provide to ensure the
1190
+ # idempotency of the request.
1191
+ #
1192
+ # **A suitable default value is auto-generated.** You should normally
1193
+ # not need to pass this option.
1194
+ # @return [String]
1195
+ #
1196
+ # @!attribute [rw] experiment_template_id
1197
+ # The ID of the experiment template.
1198
+ # @return [String]
1199
+ #
1200
+ # @!attribute [rw] tags
1201
+ # The tags to apply to the experiment.
1202
+ # @return [Hash<String,String>]
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperimentRequest AWS API Documentation
1205
+ #
1206
+ class StartExperimentRequest < Struct.new(
1207
+ :client_token,
1208
+ :experiment_template_id,
1209
+ :tags)
1210
+ SENSITIVE = []
1211
+ include Aws::Structure
1212
+ end
1213
+
1214
+ # @!attribute [rw] experiment
1215
+ # Information about the experiment.
1216
+ # @return [Types::Experiment]
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperimentResponse AWS API Documentation
1219
+ #
1220
+ class StartExperimentResponse < Struct.new(
1221
+ :experiment)
1222
+ SENSITIVE = []
1223
+ include Aws::Structure
1224
+ end
1225
+
1226
+ # @note When making an API call, you may pass StopExperimentRequest
1227
+ # data as a hash:
1228
+ #
1229
+ # {
1230
+ # id: "ExperimentId", # required
1231
+ # }
1232
+ #
1233
+ # @!attribute [rw] id
1234
+ # The ID of the experiment.
1235
+ # @return [String]
1236
+ #
1237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperimentRequest AWS API Documentation
1238
+ #
1239
+ class StopExperimentRequest < Struct.new(
1240
+ :id)
1241
+ SENSITIVE = []
1242
+ include Aws::Structure
1243
+ end
1244
+
1245
+ # @!attribute [rw] experiment
1246
+ # Information about the experiment.
1247
+ # @return [Types::Experiment]
1248
+ #
1249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperimentResponse AWS API Documentation
1250
+ #
1251
+ class StopExperimentResponse < Struct.new(
1252
+ :experiment)
1253
+ SENSITIVE = []
1254
+ include Aws::Structure
1255
+ end
1256
+
1257
+ # @note When making an API call, you may pass TagResourceRequest
1258
+ # data as a hash:
1259
+ #
1260
+ # {
1261
+ # resource_arn: "ResourceArn", # required
1262
+ # tags: { # required
1263
+ # "TagKey" => "TagValue",
1264
+ # },
1265
+ # }
1266
+ #
1267
+ # @!attribute [rw] resource_arn
1268
+ # The Amazon Resource Name (ARN) of the resource.
1269
+ # @return [String]
1270
+ #
1271
+ # @!attribute [rw] tags
1272
+ # The tags for the resource.
1273
+ # @return [Hash<String,String>]
1274
+ #
1275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/TagResourceRequest AWS API Documentation
1276
+ #
1277
+ class TagResourceRequest < Struct.new(
1278
+ :resource_arn,
1279
+ :tags)
1280
+ SENSITIVE = []
1281
+ include Aws::Structure
1282
+ end
1283
+
1284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/TagResourceResponse AWS API Documentation
1285
+ #
1286
+ class TagResourceResponse < Aws::EmptyStructure; end
1287
+
1288
+ # @note When making an API call, you may pass UntagResourceRequest
1289
+ # data as a hash:
1290
+ #
1291
+ # {
1292
+ # resource_arn: "ResourceArn", # required
1293
+ # tag_keys: ["TagKey"],
1294
+ # }
1295
+ #
1296
+ # @!attribute [rw] resource_arn
1297
+ # The Amazon Resource Name (ARN) of the resource.
1298
+ # @return [String]
1299
+ #
1300
+ # @!attribute [rw] tag_keys
1301
+ # The tag keys to remove.
1302
+ # @return [Array<String>]
1303
+ #
1304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UntagResourceRequest AWS API Documentation
1305
+ #
1306
+ class UntagResourceRequest < Struct.new(
1307
+ :resource_arn,
1308
+ :tag_keys)
1309
+ SENSITIVE = []
1310
+ include Aws::Structure
1311
+ end
1312
+
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UntagResourceResponse AWS API Documentation
1314
+ #
1315
+ class UntagResourceResponse < Aws::EmptyStructure; end
1316
+
1317
+ # Specifies an action for an experiment template.
1318
+ #
1319
+ # @note When making an API call, you may pass UpdateExperimentTemplateActionInputItem
1320
+ # data as a hash:
1321
+ #
1322
+ # {
1323
+ # action_id: "ActionId",
1324
+ # description: "ExperimentTemplateActionDescription",
1325
+ # parameters: {
1326
+ # "ExperimentTemplateActionParameterName" => "ExperimentTemplateActionParameter",
1327
+ # },
1328
+ # targets: {
1329
+ # "ExperimentTemplateActionTargetName" => "ExperimentTemplateTargetName",
1330
+ # },
1331
+ # start_after: ["ExperimentTemplateActionStartAfter"],
1332
+ # }
1333
+ #
1334
+ # @!attribute [rw] action_id
1335
+ # The ID of the action.
1336
+ # @return [String]
1337
+ #
1338
+ # @!attribute [rw] description
1339
+ # A description for the action.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] parameters
1343
+ # The parameters for the action, if applicable.
1344
+ # @return [Hash<String,String>]
1345
+ #
1346
+ # @!attribute [rw] targets
1347
+ # The targets for the action.
1348
+ # @return [Hash<String,String>]
1349
+ #
1350
+ # @!attribute [rw] start_after
1351
+ # The name of the action that must be completed before the current
1352
+ # action starts. Omit this parameter to run the action at the start of
1353
+ # the experiment.
1354
+ # @return [Array<String>]
1355
+ #
1356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplateActionInputItem AWS API Documentation
1357
+ #
1358
+ class UpdateExperimentTemplateActionInputItem < Struct.new(
1359
+ :action_id,
1360
+ :description,
1361
+ :parameters,
1362
+ :targets,
1363
+ :start_after)
1364
+ SENSITIVE = []
1365
+ include Aws::Structure
1366
+ end
1367
+
1368
+ # @note When making an API call, you may pass UpdateExperimentTemplateRequest
1369
+ # data as a hash:
1370
+ #
1371
+ # {
1372
+ # id: "ExperimentTemplateId", # required
1373
+ # description: "ExperimentTemplateDescription",
1374
+ # stop_conditions: [
1375
+ # {
1376
+ # source: "StopConditionSource", # required
1377
+ # value: "StopConditionValue",
1378
+ # },
1379
+ # ],
1380
+ # targets: {
1381
+ # "ExperimentTemplateTargetName" => {
1382
+ # resource_type: "ResourceType", # required
1383
+ # resource_arns: ["ResourceArn"],
1384
+ # resource_tags: {
1385
+ # "TagKey" => "TagValue",
1386
+ # },
1387
+ # filters: [
1388
+ # {
1389
+ # path: "ExperimentTemplateTargetFilterPath", # required
1390
+ # values: ["ExperimentTemplateTargetFilterValue"], # required
1391
+ # },
1392
+ # ],
1393
+ # selection_mode: "ExperimentTemplateTargetSelectionMode", # required
1394
+ # },
1395
+ # },
1396
+ # actions: {
1397
+ # "ExperimentTemplateActionName" => {
1398
+ # action_id: "ActionId",
1399
+ # description: "ExperimentTemplateActionDescription",
1400
+ # parameters: {
1401
+ # "ExperimentTemplateActionParameterName" => "ExperimentTemplateActionParameter",
1402
+ # },
1403
+ # targets: {
1404
+ # "ExperimentTemplateActionTargetName" => "ExperimentTemplateTargetName",
1405
+ # },
1406
+ # start_after: ["ExperimentTemplateActionStartAfter"],
1407
+ # },
1408
+ # },
1409
+ # role_arn: "RoleArn",
1410
+ # }
1411
+ #
1412
+ # @!attribute [rw] id
1413
+ # The ID of the experiment template.
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] description
1417
+ # A description for the template.
1418
+ # @return [String]
1419
+ #
1420
+ # @!attribute [rw] stop_conditions
1421
+ # The stop conditions for the experiment.
1422
+ # @return [Array<Types::UpdateExperimentTemplateStopConditionInput>]
1423
+ #
1424
+ # @!attribute [rw] targets
1425
+ # The targets for the experiment.
1426
+ # @return [Hash<String,Types::UpdateExperimentTemplateTargetInput>]
1427
+ #
1428
+ # @!attribute [rw] actions
1429
+ # The actions for the experiment.
1430
+ # @return [Hash<String,Types::UpdateExperimentTemplateActionInputItem>]
1431
+ #
1432
+ # @!attribute [rw] role_arn
1433
+ # The Amazon Resource Name (ARN) of an IAM role that grants the AWS
1434
+ # FIS service permission to perform service actions on your behalf.
1435
+ # @return [String]
1436
+ #
1437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplateRequest AWS API Documentation
1438
+ #
1439
+ class UpdateExperimentTemplateRequest < Struct.new(
1440
+ :id,
1441
+ :description,
1442
+ :stop_conditions,
1443
+ :targets,
1444
+ :actions,
1445
+ :role_arn)
1446
+ SENSITIVE = []
1447
+ include Aws::Structure
1448
+ end
1449
+
1450
+ # @!attribute [rw] experiment_template
1451
+ # Information about the experiment template.
1452
+ # @return [Types::ExperimentTemplate]
1453
+ #
1454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplateResponse AWS API Documentation
1455
+ #
1456
+ class UpdateExperimentTemplateResponse < Struct.new(
1457
+ :experiment_template)
1458
+ SENSITIVE = []
1459
+ include Aws::Structure
1460
+ end
1461
+
1462
+ # Specifies a stop condition for an experiment. You can define a stop
1463
+ # condition as a CloudWatch alarm.
1464
+ #
1465
+ # @note When making an API call, you may pass UpdateExperimentTemplateStopConditionInput
1466
+ # data as a hash:
1467
+ #
1468
+ # {
1469
+ # source: "StopConditionSource", # required
1470
+ # value: "StopConditionValue",
1471
+ # }
1472
+ #
1473
+ # @!attribute [rw] source
1474
+ # The source for the stop condition. Specify `aws:cloudwatch:alarm` if
1475
+ # the stop condition is defined by a CloudWatch alarm. Specify `none`
1476
+ # if there is no stop condition.
1477
+ # @return [String]
1478
+ #
1479
+ # @!attribute [rw] value
1480
+ # The Amazon Resource Name (ARN) of the CloudWatch alarm.
1481
+ # @return [String]
1482
+ #
1483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplateStopConditionInput AWS API Documentation
1484
+ #
1485
+ class UpdateExperimentTemplateStopConditionInput < Struct.new(
1486
+ :source,
1487
+ :value)
1488
+ SENSITIVE = []
1489
+ include Aws::Structure
1490
+ end
1491
+
1492
+ # Specifies a target for an experiment. You must specify at least one
1493
+ # Amazon Resource Name (ARN) or at least one resource tag. You cannot
1494
+ # specify both.
1495
+ #
1496
+ # @note When making an API call, you may pass UpdateExperimentTemplateTargetInput
1497
+ # data as a hash:
1498
+ #
1499
+ # {
1500
+ # resource_type: "ResourceType", # required
1501
+ # resource_arns: ["ResourceArn"],
1502
+ # resource_tags: {
1503
+ # "TagKey" => "TagValue",
1504
+ # },
1505
+ # filters: [
1506
+ # {
1507
+ # path: "ExperimentTemplateTargetFilterPath", # required
1508
+ # values: ["ExperimentTemplateTargetFilterValue"], # required
1509
+ # },
1510
+ # ],
1511
+ # selection_mode: "ExperimentTemplateTargetSelectionMode", # required
1512
+ # }
1513
+ #
1514
+ # @!attribute [rw] resource_type
1515
+ # The AWS resource type. The resource type must be supported for the
1516
+ # specified action.
1517
+ # @return [String]
1518
+ #
1519
+ # @!attribute [rw] resource_arns
1520
+ # The Amazon Resource Names (ARNs) of the targets.
1521
+ # @return [Array<String>]
1522
+ #
1523
+ # @!attribute [rw] resource_tags
1524
+ # The tags for the target resources.
1525
+ # @return [Hash<String,String>]
1526
+ #
1527
+ # @!attribute [rw] filters
1528
+ # The filters to apply to identify target resources using specific
1529
+ # attributes.
1530
+ # @return [Array<Types::ExperimentTemplateTargetInputFilter>]
1531
+ #
1532
+ # @!attribute [rw] selection_mode
1533
+ # Scopes the identified resources to a specific count or percentage.
1534
+ # @return [String]
1535
+ #
1536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplateTargetInput AWS API Documentation
1537
+ #
1538
+ class UpdateExperimentTemplateTargetInput < Struct.new(
1539
+ :resource_type,
1540
+ :resource_arns,
1541
+ :resource_tags,
1542
+ :filters,
1543
+ :selection_mode)
1544
+ SENSITIVE = []
1545
+ include Aws::Structure
1546
+ end
1547
+
1548
+ # The specified input is not valid, or fails to satisfy the constraints
1549
+ # for the request.
1550
+ #
1551
+ # @!attribute [rw] message
1552
+ # @return [String]
1553
+ #
1554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ValidationException AWS API Documentation
1555
+ #
1556
+ class ValidationException < Struct.new(
1557
+ :message)
1558
+ SENSITIVE = []
1559
+ include Aws::Structure
1560
+ end
1561
+
1562
+ end
1563
+ end