aws-sdk-networksecuritymanager 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4773 @@
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::NetworkSecurityManager
11
+ module Types
12
+
13
+ # You do not have sufficient permissions to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Determines which accounts are in scope. Exactly one of `includeAll`,
27
+ # `include`, or `exclude` is set.
28
+ #
29
+ # @note AccountFilter is a union - when making an API calls you must set exactly one of the members.
30
+ #
31
+ # @note AccountFilter is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of AccountFilter corresponding to the set member.
32
+ #
33
+ # @!attribute [rw] include_all
34
+ # Includes all accounts. No account filtering is applied.
35
+ # @return [Types::Unit]
36
+ #
37
+ # @!attribute [rw] include
38
+ # Includes only the specified accounts and organizational units.
39
+ # @return [Types::AccountSet]
40
+ #
41
+ # @!attribute [rw] exclude
42
+ # Excludes the specified accounts and organizational units. All others
43
+ # are in scope.
44
+ # @return [Types::AccountSet]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AccountFilter AWS API Documentation
47
+ #
48
+ class AccountFilter < Struct.new(
49
+ :include_all,
50
+ :include,
51
+ :exclude,
52
+ :unknown)
53
+ SENSITIVE = []
54
+ include Aws::Structure
55
+ include Aws::Structure::Union
56
+
57
+ class IncludeAll < AccountFilter; end
58
+ class Include < AccountFilter; end
59
+ class Exclude < AccountFilter; end
60
+ class Unknown < AccountFilter; end
61
+ end
62
+
63
+ # A reference to an AWS account, with optional display metadata.
64
+ #
65
+ # @!attribute [rw] account_id
66
+ # The AWS account ID.
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] name
70
+ # The display name of the account.
71
+ # @return [String]
72
+ #
73
+ # @!attribute [rw] email
74
+ # The email address associated with the account.
75
+ # @return [String]
76
+ #
77
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AccountReference AWS API Documentation
78
+ #
79
+ class AccountReference < Struct.new(
80
+ :account_id,
81
+ :name,
82
+ :email)
83
+ SENSITIVE = [:name, :email]
84
+ include Aws::Structure
85
+ end
86
+
87
+ # A set of AWS accounts and organizational units.
88
+ #
89
+ # @!attribute [rw] account_ids
90
+ # The list of AWS account IDs.
91
+ # @return [Array<String>]
92
+ #
93
+ # @!attribute [rw] organizational_units
94
+ # The AWS Organizations organizational units (OUs) in the selection.
95
+ # @return [Array<String>]
96
+ #
97
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AccountSet AWS API Documentation
98
+ #
99
+ class AccountSet < Struct.new(
100
+ :account_ids,
101
+ :organizational_units)
102
+ SENSITIVE = []
103
+ include Aws::Structure
104
+ end
105
+
106
+ # The details of an AWS Network Security Manager administrator account.
107
+ #
108
+ # @!attribute [rw] admin_account
109
+ # The AWS account ID of the administrator account.
110
+ # @return [String]
111
+ #
112
+ # @!attribute [rw] priority
113
+ # The priority assigned to the administrator account.
114
+ # @return [Integer]
115
+ #
116
+ # @!attribute [rw] admin_scope
117
+ # The administrative scope, which defines the accounts, organizational
118
+ # units, and firewall types that the administrator can manage.
119
+ # @return [Types::AdminScope]
120
+ #
121
+ # @!attribute [rw] status
122
+ # The status of the administrator account, either `ONBOARDED` or
123
+ # `OFFBOARDED`.
124
+ # @return [String]
125
+ #
126
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminAccountDetails AWS API Documentation
127
+ #
128
+ class AdminAccountDetails < Struct.new(
129
+ :admin_account,
130
+ :priority,
131
+ :admin_scope,
132
+ :status)
133
+ SENSITIVE = []
134
+ include Aws::Structure
135
+ end
136
+
137
+ # Summary information about an AWS Network Security Manager
138
+ # administrator account.
139
+ #
140
+ # @!attribute [rw] account_id
141
+ # The AWS account ID.
142
+ # @return [String]
143
+ #
144
+ # @!attribute [rw] priority
145
+ # The priority assigned to the administrator account.
146
+ # @return [Integer]
147
+ #
148
+ # @!attribute [rw] name
149
+ # The name of the administrator account.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] email
153
+ # The email address associated with the account.
154
+ # @return [String]
155
+ #
156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminAccountSummary AWS API Documentation
157
+ #
158
+ class AdminAccountSummary < Struct.new(
159
+ :account_id,
160
+ :priority,
161
+ :name,
162
+ :email)
163
+ SENSITIVE = [:name, :email]
164
+ include Aws::Structure
165
+ end
166
+
167
+ # Defines the firewall types that an administrator can create and
168
+ # manage.
169
+ #
170
+ # @!attribute [rw] all_firewall_types_enabled
171
+ # Specifies whether the administrator can manage all firewall types,
172
+ # except for third-party firewall types.
173
+ # @return [Boolean]
174
+ #
175
+ # @!attribute [rw] firewall_types
176
+ # The list of firewall types that the administrator can manage.
177
+ # @return [Array<String>]
178
+ #
179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminFirewallTypeScope AWS API Documentation
180
+ #
181
+ class AdminFirewallTypeScope < Struct.new(
182
+ :all_firewall_types_enabled,
183
+ :firewall_types)
184
+ SENSITIVE = []
185
+ include Aws::Structure
186
+ end
187
+
188
+ # Defines the accounts, organizational units, and firewall types that an
189
+ # administrator can manage.
190
+ #
191
+ # @!attribute [rw] scope_filter
192
+ # The filter that determines which accounts and organizational units
193
+ # are in the administrator's scope.
194
+ # @return [Types::AdminScopeFilter]
195
+ #
196
+ # @!attribute [rw] firewall_type_scope
197
+ # The firewall types that the administrator can create and manage.
198
+ # @return [Types::AdminFirewallTypeScope]
199
+ #
200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScope AWS API Documentation
201
+ #
202
+ class AdminScope < Struct.new(
203
+ :scope_filter,
204
+ :firewall_type_scope)
205
+ SENSITIVE = []
206
+ include Aws::Structure
207
+ end
208
+
209
+ # Determines which accounts and organizational units are in an
210
+ # administrator's scope. This is the reference form, which includes
211
+ # display metadata.
212
+ #
213
+ # @note AdminScopeFilter is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of AdminScopeFilter corresponding to the set member.
214
+ #
215
+ # @!attribute [rw] include_all
216
+ # All accounts and organizational units are in scope.
217
+ # @return [Types::Unit]
218
+ #
219
+ # @!attribute [rw] include_only
220
+ # Only the specified accounts and organizational units are in the
221
+ # administrator's scope.
222
+ # @return [Types::AdminScopeSelection]
223
+ #
224
+ # @!attribute [rw] exclude_only
225
+ # The accounts and organizational units to exclude from the
226
+ # administrator's scope. All others are in scope.
227
+ # @return [Types::AdminScopeSelection]
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScopeFilter AWS API Documentation
230
+ #
231
+ class AdminScopeFilter < Struct.new(
232
+ :include_all,
233
+ :include_only,
234
+ :exclude_only,
235
+ :unknown)
236
+ SENSITIVE = []
237
+ include Aws::Structure
238
+ include Aws::Structure::Union
239
+
240
+ class IncludeAll < AdminScopeFilter; end
241
+ class IncludeOnly < AdminScopeFilter; end
242
+ class ExcludeOnly < AdminScopeFilter; end
243
+ class Unknown < AdminScopeFilter; end
244
+ end
245
+
246
+ # Determines which accounts and organizational units are in an
247
+ # administrator's scope. This is the input form, which uses account and
248
+ # organizational unit IDs.
249
+ #
250
+ # @note AdminScopeFilterInput is a union - when making an API calls you must set exactly one of the members.
251
+ #
252
+ # @!attribute [rw] include_all
253
+ # All accounts and organizational units are in scope.
254
+ # @return [Types::Unit]
255
+ #
256
+ # @!attribute [rw] include_only
257
+ # Only the specified accounts and organizational units are in the
258
+ # administrator's scope.
259
+ # @return [Types::AdminScopeSelectionInput]
260
+ #
261
+ # @!attribute [rw] exclude_only
262
+ # The accounts and organizational units to exclude from the
263
+ # administrator's scope. All others are in scope.
264
+ # @return [Types::AdminScopeSelectionInput]
265
+ #
266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScopeFilterInput AWS API Documentation
267
+ #
268
+ class AdminScopeFilterInput < Struct.new(
269
+ :include_all,
270
+ :include_only,
271
+ :exclude_only,
272
+ :unknown)
273
+ SENSITIVE = []
274
+ include Aws::Structure
275
+ include Aws::Structure::Union
276
+
277
+ class IncludeAll < AdminScopeFilterInput; end
278
+ class IncludeOnly < AdminScopeFilterInput; end
279
+ class ExcludeOnly < AdminScopeFilterInput; end
280
+ class Unknown < AdminScopeFilterInput; end
281
+ end
282
+
283
+ # The administrative scope configuration provided on input, using
284
+ # account and organizational unit IDs.
285
+ #
286
+ # @!attribute [rw] scope_filter
287
+ # The filter that determines which accounts and organizational units
288
+ # are in the administrator's scope.
289
+ # @return [Types::AdminScopeFilterInput]
290
+ #
291
+ # @!attribute [rw] firewall_type_scope
292
+ # The firewall types that the administrator can create and manage.
293
+ # @return [Types::AdminFirewallTypeScope]
294
+ #
295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScopeInput AWS API Documentation
296
+ #
297
+ class AdminScopeInput < Struct.new(
298
+ :scope_filter,
299
+ :firewall_type_scope)
300
+ SENSITIVE = []
301
+ include Aws::Structure
302
+ end
303
+
304
+ # A selection of accounts and organizational units. This is the
305
+ # reference form, which includes display metadata.
306
+ #
307
+ # @!attribute [rw] accounts
308
+ # The AWS accounts in the selection.
309
+ # @return [Array<Types::AccountReference>]
310
+ #
311
+ # @!attribute [rw] organizational_units
312
+ # The AWS Organizations organizational units (OUs) in the selection.
313
+ # @return [Array<Types::OrganizationalUnitReference>]
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScopeSelection AWS API Documentation
316
+ #
317
+ class AdminScopeSelection < Struct.new(
318
+ :accounts,
319
+ :organizational_units)
320
+ SENSITIVE = []
321
+ include Aws::Structure
322
+ end
323
+
324
+ # A selection of accounts and organizational units. This is the input
325
+ # form, which uses account and organizational unit IDs.
326
+ #
327
+ # @!attribute [rw] accounts
328
+ # The AWS accounts in the selection.
329
+ # @return [Array<String>]
330
+ #
331
+ # @!attribute [rw] organizational_units
332
+ # The AWS Organizations organizational units (OUs) in the selection.
333
+ # @return [Array<String>]
334
+ #
335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AdminScopeSelectionInput AWS API Documentation
336
+ #
337
+ class AdminScopeSelectionInput < Struct.new(
338
+ :accounts,
339
+ :organizational_units)
340
+ SENSITIVE = []
341
+ include Aws::Structure
342
+ end
343
+
344
+ # Filter criteria specific to Application Load Balancers.
345
+ #
346
+ # @!attribute [rw] scheme
347
+ # The scheme of the Application Load Balancer, either
348
+ # `internet-facing` or `internal`.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] ip_address_type
352
+ # The IP address type of the Application Load Balancer.
353
+ # @return [String]
354
+ #
355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AlbConfiguration AWS API Documentation
356
+ #
357
+ class AlbConfiguration < Struct.new(
358
+ :scheme,
359
+ :ip_address_type)
360
+ SENSITIVE = []
361
+ include Aws::Structure
362
+ end
363
+
364
+ # An association between a deployment and a policy, as returned in
365
+ # outputs. The corresponding request structure is `PolicyReference`.
366
+ #
367
+ # @!attribute [rw] policy_arn
368
+ # The ARN of the associated policy, including its version qualifier
369
+ # when a specific published version is pinned (for example,
370
+ # `...:policy:abc123:3`).
371
+ # @return [String]
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AssociatedPolicy AWS API Documentation
374
+ #
375
+ class AssociatedPolicy < Struct.new(
376
+ :policy_arn)
377
+ SENSITIVE = []
378
+ include Aws::Structure
379
+ end
380
+
381
+ # An association between a template and a rule, as returned in outputs.
382
+ # The corresponding request structure is `RuleReference`.
383
+ #
384
+ # @!attribute [rw] rule_arn
385
+ # The ARN of the associated rule.
386
+ # @return [String]
387
+ #
388
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AssociatedRule AWS API Documentation
389
+ #
390
+ class AssociatedRule < Struct.new(
391
+ :rule_arn)
392
+ SENSITIVE = []
393
+ include Aws::Structure
394
+ end
395
+
396
+ # An association between a deployment and a scope, as returned in
397
+ # outputs. The corresponding request structure is `ScopeReference`.
398
+ #
399
+ # @!attribute [rw] scope_arn
400
+ # The ARN of the associated scope.
401
+ # @return [String]
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AssociatedScope AWS API Documentation
404
+ #
405
+ class AssociatedScope < Struct.new(
406
+ :scope_arn)
407
+ SENSITIVE = []
408
+ include Aws::Structure
409
+ end
410
+
411
+ # An association between a policy and either a template or a rule, as
412
+ # returned in outputs. Exactly one of `templateArn` or `ruleArn` is set.
413
+ # The corresponding request structure is `TemplateOrRuleReference`.
414
+ #
415
+ # @note AssociatedTemplateOrRule is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of AssociatedTemplateOrRule corresponding to the set member.
416
+ #
417
+ # @!attribute [rw] template_arn
418
+ # The ARN of the associated template.
419
+ # @return [String]
420
+ #
421
+ # @!attribute [rw] rule_arn
422
+ # The ARN of the associated rule.
423
+ # @return [String]
424
+ #
425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/AssociatedTemplateOrRule AWS API Documentation
426
+ #
427
+ class AssociatedTemplateOrRule < Struct.new(
428
+ :template_arn,
429
+ :rule_arn,
430
+ :unknown)
431
+ SENSITIVE = []
432
+ include Aws::Structure
433
+ include Aws::Structure::Union
434
+
435
+ class TemplateArn < AssociatedTemplateOrRule; end
436
+ class RuleArn < AssociatedTemplateOrRule; end
437
+ class Unknown < AssociatedTemplateOrRule; end
438
+ end
439
+
440
+ # Describes a single configuration value that does not match the
441
+ # intended configuration.
442
+ #
443
+ # @!attribute [rw] configuration_name
444
+ # The name of the configuration setting that is in conflict.
445
+ # @return [String]
446
+ #
447
+ # @!attribute [rw] expected_value
448
+ # The configuration value that AWS Network Security Manager expected.
449
+ # @return [String]
450
+ #
451
+ # @!attribute [rw] actual_value
452
+ # The configuration value that was found on the resource.
453
+ # @return [String]
454
+ #
455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ConfigurationIssue AWS API Documentation
456
+ #
457
+ class ConfigurationIssue < Struct.new(
458
+ :configuration_name,
459
+ :expected_value,
460
+ :actual_value)
461
+ SENSITIVE = []
462
+ include Aws::Structure
463
+ end
464
+
465
+ # The request conflicts with the current state of the resource. For
466
+ # example, the resource was modified concurrently, or it is in a state
467
+ # that does not allow the requested operation.
468
+ #
469
+ # @!attribute [rw] message
470
+ # @return [String]
471
+ #
472
+ # @!attribute [rw] resource_id
473
+ # The ID of the resource that is in conflict with the request.
474
+ # @return [String]
475
+ #
476
+ # @!attribute [rw] resource_type
477
+ # The type of the resource that is in conflict with the request.
478
+ # @return [String]
479
+ #
480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ConflictException AWS API Documentation
481
+ #
482
+ class ConflictException < Struct.new(
483
+ :message,
484
+ :resource_id,
485
+ :resource_type)
486
+ SENSITIVE = []
487
+ include Aws::Structure
488
+ end
489
+
490
+ # @!attribute [rw] client_token
491
+ # A unique, case-sensitive token that you provide to ensure that the
492
+ # operation completes no more than one time. If you retry a request
493
+ # with the same client token and the same parameters, the service
494
+ # returns the result of the original successful request.
495
+ #
496
+ # **A suitable default value is auto-generated.** You should normally
497
+ # not need to pass this option.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] deployment_name
501
+ # The name of the deployment.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] deployment_description
505
+ # A description of the deployment.
506
+ # @return [String]
507
+ #
508
+ # @!attribute [rw] deployment_configuration
509
+ # The configuration settings for the deployment.
510
+ # @return [Types::DeploymentConfiguration]
511
+ #
512
+ # @!attribute [rw] associated_policy_list
513
+ # The policies associated with the deployment.
514
+ # @return [Array<Types::PolicyReference>]
515
+ #
516
+ # @!attribute [rw] associated_scope_list
517
+ # The scope associated with the deployment. A deployment has exactly
518
+ # one scope.
519
+ # @return [Array<Types::ScopeReference>]
520
+ #
521
+ # @!attribute [rw] is_published
522
+ # Specifies whether to publish the resource. When `true`, the resource
523
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
524
+ # a draft (`DRAFT`). Default: `true`.
525
+ # @return [Boolean]
526
+ #
527
+ # @!attribute [rw] tags
528
+ # The tags to add to the resource when it is created.
529
+ # @return [Hash<String,String>]
530
+ #
531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateDeploymentInput AWS API Documentation
532
+ #
533
+ class CreateDeploymentInput < Struct.new(
534
+ :client_token,
535
+ :deployment_name,
536
+ :deployment_description,
537
+ :deployment_configuration,
538
+ :associated_policy_list,
539
+ :associated_scope_list,
540
+ :is_published,
541
+ :tags)
542
+ SENSITIVE = []
543
+ include Aws::Structure
544
+ end
545
+
546
+ # @!attribute [rw] deployment_id
547
+ # The service-generated id of the deployment.
548
+ # @return [String]
549
+ #
550
+ # @!attribute [rw] deployment_arn
551
+ # The Amazon Resource Name (ARN) of the deployment.
552
+ # @return [String]
553
+ #
554
+ # @!attribute [rw] deployment_name
555
+ # The name of the deployment.
556
+ # @return [String]
557
+ #
558
+ # @!attribute [rw] deployment_description
559
+ # A description of the deployment.
560
+ # @return [String]
561
+ #
562
+ # @!attribute [rw] status
563
+ # The current status of the resource: `DRAFT` (unpublished, editable)
564
+ # or `ACTIVE` (published, in use).
565
+ # @return [String]
566
+ #
567
+ # @!attribute [rw] deployment_configuration
568
+ # The configuration settings for the deployment.
569
+ # @return [Types::DeploymentConfiguration]
570
+ #
571
+ # @!attribute [rw] associated_policy_list
572
+ # The policies associated with the deployment.
573
+ # @return [Array<Types::AssociatedPolicy>]
574
+ #
575
+ # @!attribute [rw] associated_scope_list
576
+ # The scope associated with the deployment. A deployment has exactly
577
+ # one scope.
578
+ # @return [Array<Types::AssociatedScope>]
579
+ #
580
+ # @!attribute [rw] version
581
+ # The version of the resource.
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] update_token
585
+ # A token used for optimistic concurrency control. Each read and write
586
+ # returns an `updateToken`. Provide the most recent value on your next
587
+ # update to detect and prevent conflicting concurrent modifications.
588
+ # @return [String]
589
+ #
590
+ # @!attribute [rw] is_snapshot
591
+ # Specifies whether the resource is a snapshot of a published version.
592
+ # @return [Boolean]
593
+ #
594
+ # @!attribute [rw] has_published_version
595
+ # Specifies whether a published version of the resource exists.
596
+ # @return [Boolean]
597
+ #
598
+ # @!attribute [rw] deployment_coverage
599
+ # The coverage information for the deployment. For each firewall type,
600
+ # it shows which policies have that firewall type and which in-scope
601
+ # resource types the firewall type protects.
602
+ # @return [Array<Types::DeploymentCoverageEntry>]
603
+ #
604
+ # @!attribute [rw] warnings
605
+ # Warnings about potential issues, such as a policy that has no
606
+ # applicable resources in the deployment's scope.
607
+ # @return [Array<Types::DeploymentWarningEntry>]
608
+ #
609
+ # @!attribute [rw] updated_at
610
+ # The time when the resource was last updated.
611
+ # @return [Time]
612
+ #
613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateDeploymentOutput AWS API Documentation
614
+ #
615
+ class CreateDeploymentOutput < Struct.new(
616
+ :deployment_id,
617
+ :deployment_arn,
618
+ :deployment_name,
619
+ :deployment_description,
620
+ :status,
621
+ :deployment_configuration,
622
+ :associated_policy_list,
623
+ :associated_scope_list,
624
+ :version,
625
+ :update_token,
626
+ :is_snapshot,
627
+ :has_published_version,
628
+ :deployment_coverage,
629
+ :warnings,
630
+ :updated_at)
631
+ SENSITIVE = []
632
+ include Aws::Structure
633
+ end
634
+
635
+ # @!attribute [rw] deployment_identifier
636
+ # The identifier of the deployment. This is the deployment's Amazon
637
+ # Resource Name (ARN).
638
+ # @return [String]
639
+ #
640
+ # @!attribute [rw] client_token
641
+ # A unique, case-sensitive token that you provide to ensure that the
642
+ # operation completes no more than one time. If you retry a request
643
+ # with the same client token and the same parameters, the service
644
+ # returns the result of the original successful request.
645
+ #
646
+ # **A suitable default value is auto-generated.** You should normally
647
+ # not need to pass this option.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] tags
651
+ # The tags to add to the snapshot when it is created.
652
+ # @return [Hash<String,String>]
653
+ #
654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateDeploymentSnapshotInput AWS API Documentation
655
+ #
656
+ class CreateDeploymentSnapshotInput < Struct.new(
657
+ :deployment_identifier,
658
+ :client_token,
659
+ :tags)
660
+ SENSITIVE = []
661
+ include Aws::Structure
662
+ end
663
+
664
+ # @!attribute [rw] deployment_id
665
+ # The service-generated id of the deployment.
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] deployment_arn
669
+ # The Amazon Resource Name (ARN) of the deployment.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] deployment_name
673
+ # The name of the deployment.
674
+ # @return [String]
675
+ #
676
+ # @!attribute [rw] deployment_description
677
+ # A description of the deployment.
678
+ # @return [String]
679
+ #
680
+ # @!attribute [rw] status
681
+ # The current status of the resource: `DRAFT` (unpublished, editable)
682
+ # or `ACTIVE` (published, in use).
683
+ # @return [String]
684
+ #
685
+ # @!attribute [rw] deployment_configuration
686
+ # The configuration settings for the deployment.
687
+ # @return [Types::DeploymentConfiguration]
688
+ #
689
+ # @!attribute [rw] associated_policy_list
690
+ # The policies associated with the deployment.
691
+ # @return [Array<Types::AssociatedPolicy>]
692
+ #
693
+ # @!attribute [rw] associated_scope_list
694
+ # The scope associated with the deployment. A deployment has exactly
695
+ # one scope.
696
+ # @return [Array<Types::AssociatedScope>]
697
+ #
698
+ # @!attribute [rw] version
699
+ # The version of the resource.
700
+ # @return [String]
701
+ #
702
+ # @!attribute [rw] update_token
703
+ # A token used for optimistic concurrency control. Each read and write
704
+ # returns an `updateToken`. Provide the most recent value on your next
705
+ # update to detect and prevent conflicting concurrent modifications.
706
+ # @return [String]
707
+ #
708
+ # @!attribute [rw] is_snapshot
709
+ # Specifies whether the resource is a snapshot of a published version.
710
+ # @return [Boolean]
711
+ #
712
+ # @!attribute [rw] has_published_version
713
+ # Specifies whether a published version of the resource exists.
714
+ # @return [Boolean]
715
+ #
716
+ # @!attribute [rw] updated_at
717
+ # The time when the snapshot was created.
718
+ # @return [Time]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateDeploymentSnapshotOutput AWS API Documentation
721
+ #
722
+ class CreateDeploymentSnapshotOutput < Struct.new(
723
+ :deployment_id,
724
+ :deployment_arn,
725
+ :deployment_name,
726
+ :deployment_description,
727
+ :status,
728
+ :deployment_configuration,
729
+ :associated_policy_list,
730
+ :associated_scope_list,
731
+ :version,
732
+ :update_token,
733
+ :is_snapshot,
734
+ :has_published_version,
735
+ :updated_at)
736
+ SENSITIVE = []
737
+ include Aws::Structure
738
+ end
739
+
740
+ # @!attribute [rw] client_token
741
+ # A unique, case-sensitive token that you provide to ensure that the
742
+ # operation completes no more than one time. If you retry a request
743
+ # with the same client token and the same parameters, the service
744
+ # returns the result of the original successful request.
745
+ #
746
+ # **A suitable default value is auto-generated.** You should normally
747
+ # not need to pass this option.
748
+ # @return [String]
749
+ #
750
+ # @!attribute [rw] policy_name
751
+ # The name of the policy.
752
+ # @return [String]
753
+ #
754
+ # @!attribute [rw] policy_description
755
+ # A description of the policy.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] priority
759
+ # The priority of the resource. A lower number indicates a higher
760
+ # priority.
761
+ # @return [Integer]
762
+ #
763
+ # @!attribute [rw] associated_template_and_rule_list
764
+ # The templates and rules to associate with the policy. For AWS WAF
765
+ # policies, specify 1 to 100 templates or rules, of which at most 2
766
+ # can be templates. For AWS Shield Advanced policies, this list must
767
+ # be empty.
768
+ # @return [Array<Types::TemplateOrRuleReference>]
769
+ #
770
+ # @!attribute [rw] firewall_type
771
+ # The firewall type associated with the resource.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] policy_configuration
775
+ # The configuration settings that control the policy's behavior,
776
+ # including remediation and firewall-type-specific settings.
777
+ # @return [Types::PolicyConfiguration]
778
+ #
779
+ # @!attribute [rw] is_published
780
+ # Specifies whether to publish the resource. When `true`, the resource
781
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
782
+ # a draft (`DRAFT`). Default: `true`.
783
+ # @return [Boolean]
784
+ #
785
+ # @!attribute [rw] tags
786
+ # The tags to add to the resource when it is created.
787
+ # @return [Hash<String,String>]
788
+ #
789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreatePolicyInput AWS API Documentation
790
+ #
791
+ class CreatePolicyInput < Struct.new(
792
+ :client_token,
793
+ :policy_name,
794
+ :policy_description,
795
+ :priority,
796
+ :associated_template_and_rule_list,
797
+ :firewall_type,
798
+ :policy_configuration,
799
+ :is_published,
800
+ :tags)
801
+ SENSITIVE = []
802
+ include Aws::Structure
803
+ end
804
+
805
+ # @!attribute [rw] policy_id
806
+ # The service-generated id of the policy.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] policy_arn
810
+ # The Amazon Resource Name (ARN) of the policy.
811
+ # @return [String]
812
+ #
813
+ # @!attribute [rw] policy_name
814
+ # The name of the policy.
815
+ # @return [String]
816
+ #
817
+ # @!attribute [rw] policy_description
818
+ # A description of the policy.
819
+ # @return [String]
820
+ #
821
+ # @!attribute [rw] status
822
+ # The current status of the resource: `DRAFT` (unpublished, editable)
823
+ # or `ACTIVE` (published, in use).
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] priority
827
+ # The priority of the resource. A lower number indicates a higher
828
+ # priority.
829
+ # @return [Integer]
830
+ #
831
+ # @!attribute [rw] associated_template_and_rule_list
832
+ # The templates and rules associated with the policy. For AWS WAF
833
+ # policies, this list contains 1 to 100 templates or rules, of which
834
+ # at most 2 can be templates. For AWS Shield Advanced policies, this
835
+ # list is empty.
836
+ # @return [Array<Types::AssociatedTemplateOrRule>]
837
+ #
838
+ # @!attribute [rw] version
839
+ # The version of the resource.
840
+ # @return [String]
841
+ #
842
+ # @!attribute [rw] update_token
843
+ # A token used for optimistic concurrency control. Each read and write
844
+ # returns an `updateToken`. Provide the most recent value on your next
845
+ # update to detect and prevent conflicting concurrent modifications.
846
+ # @return [String]
847
+ #
848
+ # @!attribute [rw] is_snapshot
849
+ # Specifies whether the resource is a snapshot of a published version.
850
+ # @return [Boolean]
851
+ #
852
+ # @!attribute [rw] has_published_version
853
+ # Specifies whether a published version of the resource exists.
854
+ # @return [Boolean]
855
+ #
856
+ # @!attribute [rw] firewall_type
857
+ # The firewall type associated with the resource.
858
+ # @return [String]
859
+ #
860
+ # @!attribute [rw] policy_configuration
861
+ # The configuration settings that control the policy's behavior,
862
+ # including remediation and firewall-type-specific settings.
863
+ # @return [Types::PolicyConfiguration]
864
+ #
865
+ # @!attribute [rw] updated_at
866
+ # The time when the resource was last updated.
867
+ # @return [Time]
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreatePolicyOutput AWS API Documentation
870
+ #
871
+ class CreatePolicyOutput < Struct.new(
872
+ :policy_id,
873
+ :policy_arn,
874
+ :policy_name,
875
+ :policy_description,
876
+ :status,
877
+ :priority,
878
+ :associated_template_and_rule_list,
879
+ :version,
880
+ :update_token,
881
+ :is_snapshot,
882
+ :has_published_version,
883
+ :firewall_type,
884
+ :policy_configuration,
885
+ :updated_at)
886
+ SENSITIVE = []
887
+ include Aws::Structure
888
+ end
889
+
890
+ # @!attribute [rw] policy_identifier
891
+ # The identifier of the policy. This is the policy's Amazon Resource
892
+ # Name (ARN).
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] client_token
896
+ # A unique, case-sensitive token that you provide to ensure that the
897
+ # operation completes no more than one time. If you retry a request
898
+ # with the same client token and the same parameters, the service
899
+ # returns the result of the original successful request.
900
+ #
901
+ # **A suitable default value is auto-generated.** You should normally
902
+ # not need to pass this option.
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] tags
906
+ # The tags to add to the snapshot when it is created.
907
+ # @return [Hash<String,String>]
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreatePolicySnapshotInput AWS API Documentation
910
+ #
911
+ class CreatePolicySnapshotInput < Struct.new(
912
+ :policy_identifier,
913
+ :client_token,
914
+ :tags)
915
+ SENSITIVE = []
916
+ include Aws::Structure
917
+ end
918
+
919
+ # @!attribute [rw] policy_id
920
+ # The service-generated id of the policy.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] policy_arn
924
+ # The Amazon Resource Name (ARN) of the policy.
925
+ # @return [String]
926
+ #
927
+ # @!attribute [rw] policy_name
928
+ # The name of the policy.
929
+ # @return [String]
930
+ #
931
+ # @!attribute [rw] policy_description
932
+ # A description of the policy.
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] status
936
+ # The current status of the resource: `DRAFT` (unpublished, editable)
937
+ # or `ACTIVE` (published, in use).
938
+ # @return [String]
939
+ #
940
+ # @!attribute [rw] priority
941
+ # The priority of the resource. A lower number indicates a higher
942
+ # priority.
943
+ # @return [Integer]
944
+ #
945
+ # @!attribute [rw] associated_template_and_rule_list
946
+ # The templates and rules associated with the policy. For AWS WAF
947
+ # policies, this list contains 1 to 100 templates or rules, of which
948
+ # at most 2 can be templates. For AWS Shield Advanced policies, this
949
+ # list is empty.
950
+ # @return [Array<Types::AssociatedTemplateOrRule>]
951
+ #
952
+ # @!attribute [rw] version
953
+ # The version of the resource.
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] update_token
957
+ # A token used for optimistic concurrency control. Each read and write
958
+ # returns an `updateToken`. Provide the most recent value on your next
959
+ # update to detect and prevent conflicting concurrent modifications.
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] is_snapshot
963
+ # Specifies whether the resource is a snapshot of a published version.
964
+ # @return [Boolean]
965
+ #
966
+ # @!attribute [rw] has_published_version
967
+ # Specifies whether a published version of the resource exists.
968
+ # @return [Boolean]
969
+ #
970
+ # @!attribute [rw] firewall_type
971
+ # The firewall type associated with the resource.
972
+ # @return [String]
973
+ #
974
+ # @!attribute [rw] policy_configuration
975
+ # The configuration settings that control the policy's behavior,
976
+ # including remediation and firewall-type-specific settings.
977
+ # @return [Types::PolicyConfiguration]
978
+ #
979
+ # @!attribute [rw] updated_at
980
+ # The time when the snapshot was created.
981
+ # @return [Time]
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreatePolicySnapshotOutput AWS API Documentation
984
+ #
985
+ class CreatePolicySnapshotOutput < Struct.new(
986
+ :policy_id,
987
+ :policy_arn,
988
+ :policy_name,
989
+ :policy_description,
990
+ :status,
991
+ :priority,
992
+ :associated_template_and_rule_list,
993
+ :version,
994
+ :update_token,
995
+ :is_snapshot,
996
+ :has_published_version,
997
+ :firewall_type,
998
+ :policy_configuration,
999
+ :updated_at)
1000
+ SENSITIVE = []
1001
+ include Aws::Structure
1002
+ end
1003
+
1004
+ # @!attribute [rw] client_token
1005
+ # A unique, case-sensitive token that you provide to ensure that the
1006
+ # operation completes no more than one time. If you retry a request
1007
+ # with the same client token and the same parameters, the service
1008
+ # returns the result of the original successful request.
1009
+ #
1010
+ # **A suitable default value is auto-generated.** You should normally
1011
+ # not need to pass this option.
1012
+ # @return [String]
1013
+ #
1014
+ # @!attribute [rw] rule_name
1015
+ # The name of the rule.
1016
+ # @return [String]
1017
+ #
1018
+ # @!attribute [rw] firewall_type
1019
+ # The firewall type associated with the resource.
1020
+ # @return [String]
1021
+ #
1022
+ # @!attribute [rw] rule_type
1023
+ # The type of the rule. `CONFIGURATION` rules contain firewall
1024
+ # settings, and `INSPECTION` rules contain rule groups.
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] rule_description
1028
+ # A description of the rule.
1029
+ # @return [String]
1030
+ #
1031
+ # @!attribute [rw] configuration
1032
+ # The firewall configuration for the rule, as a JSON document. The
1033
+ # structure depends on the rule's firewall type and rule type. For an
1034
+ # AWS WAF `INSPECTION` rule, provide an AWS WAF rule group. For an AWS
1035
+ # WAF `CONFIGURATION` rule, provide a single web ACL setting, such as
1036
+ # `DefaultAction` or `VisibilityConfig`; use `wafConfigDataType` to
1037
+ # declare which setting the document contains. For the schema of each
1038
+ # setting and complete examples, see [Writing rule configurations][1]
1039
+ # in the *AWS Network Security Manager Developer Guide*.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: https://docs.aws.amazon.com/network-security-manager/latest/devguide/what-is.html
1044
+ # @return [Hash,Array,String,Numeric,Boolean]
1045
+ #
1046
+ # @!attribute [rw] is_published
1047
+ # Specifies whether to publish the resource. When `true`, the resource
1048
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
1049
+ # a draft (`DRAFT`). Default: `true`.
1050
+ # @return [Boolean]
1051
+ #
1052
+ # @!attribute [rw] tags
1053
+ # The tags to add to the resource when it is created.
1054
+ # @return [Hash<String,String>]
1055
+ #
1056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateRuleInput AWS API Documentation
1057
+ #
1058
+ class CreateRuleInput < Struct.new(
1059
+ :client_token,
1060
+ :rule_name,
1061
+ :firewall_type,
1062
+ :rule_type,
1063
+ :rule_description,
1064
+ :configuration,
1065
+ :is_published,
1066
+ :tags)
1067
+ SENSITIVE = []
1068
+ include Aws::Structure
1069
+ end
1070
+
1071
+ # @!attribute [rw] rule_id
1072
+ # The service-generated id of the rule.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] rule_arn
1076
+ # The Amazon Resource Name (ARN) of the rule.
1077
+ # @return [String]
1078
+ #
1079
+ # @!attribute [rw] rule_name
1080
+ # The name of the rule.
1081
+ # @return [String]
1082
+ #
1083
+ # @!attribute [rw] firewall_type
1084
+ # The firewall type associated with the resource.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] rule_type
1088
+ # The type of the rule. `CONFIGURATION` rules contain firewall
1089
+ # settings, and `INSPECTION` rules contain rule groups.
1090
+ # @return [String]
1091
+ #
1092
+ # @!attribute [rw] rule_description
1093
+ # A description of the rule.
1094
+ # @return [String]
1095
+ #
1096
+ # @!attribute [rw] configuration
1097
+ # The firewall configuration for the rule, as a JSON document. The
1098
+ # structure depends on the rule's firewall type and rule type.
1099
+ # @return [Hash,Array,String,Numeric,Boolean]
1100
+ #
1101
+ # @!attribute [rw] status
1102
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1103
+ # or `ACTIVE` (published, in use).
1104
+ # @return [String]
1105
+ #
1106
+ # @!attribute [rw] version
1107
+ # The version of the resource.
1108
+ # @return [String]
1109
+ #
1110
+ # @!attribute [rw] update_token
1111
+ # A token used for optimistic concurrency control. Each read and write
1112
+ # returns an `updateToken`. Provide the most recent value on your next
1113
+ # update to detect and prevent conflicting concurrent modifications.
1114
+ # @return [String]
1115
+ #
1116
+ # @!attribute [rw] is_snapshot
1117
+ # Specifies whether the resource is a snapshot of a published version.
1118
+ # @return [Boolean]
1119
+ #
1120
+ # @!attribute [rw] has_published_version
1121
+ # Specifies whether a published version of the resource exists.
1122
+ # @return [Boolean]
1123
+ #
1124
+ # @!attribute [rw] updated_at
1125
+ # The time when the resource was last updated.
1126
+ # @return [Time]
1127
+ #
1128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateRuleOutput AWS API Documentation
1129
+ #
1130
+ class CreateRuleOutput < Struct.new(
1131
+ :rule_id,
1132
+ :rule_arn,
1133
+ :rule_name,
1134
+ :firewall_type,
1135
+ :rule_type,
1136
+ :rule_description,
1137
+ :configuration,
1138
+ :status,
1139
+ :version,
1140
+ :update_token,
1141
+ :is_snapshot,
1142
+ :has_published_version,
1143
+ :updated_at)
1144
+ SENSITIVE = []
1145
+ include Aws::Structure
1146
+ end
1147
+
1148
+ # @!attribute [rw] rule_identifier
1149
+ # The identifier of the rule. This is the rule's Amazon Resource Name
1150
+ # (ARN).
1151
+ # @return [String]
1152
+ #
1153
+ # @!attribute [rw] client_token
1154
+ # A unique, case-sensitive token that you provide to ensure that the
1155
+ # operation completes no more than one time. If you retry a request
1156
+ # with the same client token and the same parameters, the service
1157
+ # returns the result of the original successful request.
1158
+ #
1159
+ # **A suitable default value is auto-generated.** You should normally
1160
+ # not need to pass this option.
1161
+ # @return [String]
1162
+ #
1163
+ # @!attribute [rw] tags
1164
+ # The tags to add to the snapshot when it is created.
1165
+ # @return [Hash<String,String>]
1166
+ #
1167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateRuleSnapshotInput AWS API Documentation
1168
+ #
1169
+ class CreateRuleSnapshotInput < Struct.new(
1170
+ :rule_identifier,
1171
+ :client_token,
1172
+ :tags)
1173
+ SENSITIVE = []
1174
+ include Aws::Structure
1175
+ end
1176
+
1177
+ # @!attribute [rw] rule_id
1178
+ # The service-generated id of the rule.
1179
+ # @return [String]
1180
+ #
1181
+ # @!attribute [rw] rule_arn
1182
+ # The Amazon Resource Name (ARN) of the rule.
1183
+ # @return [String]
1184
+ #
1185
+ # @!attribute [rw] rule_name
1186
+ # The name of the rule.
1187
+ # @return [String]
1188
+ #
1189
+ # @!attribute [rw] firewall_type
1190
+ # The firewall type associated with the resource.
1191
+ # @return [String]
1192
+ #
1193
+ # @!attribute [rw] rule_type
1194
+ # The type of the rule. `CONFIGURATION` rules contain firewall
1195
+ # settings, and `INSPECTION` rules contain rule groups.
1196
+ # @return [String]
1197
+ #
1198
+ # @!attribute [rw] rule_description
1199
+ # A description of the rule.
1200
+ # @return [String]
1201
+ #
1202
+ # @!attribute [rw] configuration
1203
+ # The firewall configuration for the rule, as a JSON document. The
1204
+ # structure depends on the rule's firewall type and rule type.
1205
+ # @return [Hash,Array,String,Numeric,Boolean]
1206
+ #
1207
+ # @!attribute [rw] status
1208
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1209
+ # or `ACTIVE` (published, in use).
1210
+ # @return [String]
1211
+ #
1212
+ # @!attribute [rw] version
1213
+ # The version of the resource.
1214
+ # @return [String]
1215
+ #
1216
+ # @!attribute [rw] update_token
1217
+ # A token used for optimistic concurrency control. Each read and write
1218
+ # returns an `updateToken`. Provide the most recent value on your next
1219
+ # update to detect and prevent conflicting concurrent modifications.
1220
+ # @return [String]
1221
+ #
1222
+ # @!attribute [rw] is_snapshot
1223
+ # Specifies whether the resource is a snapshot of a published version.
1224
+ # @return [Boolean]
1225
+ #
1226
+ # @!attribute [rw] has_published_version
1227
+ # Specifies whether a published version of the resource exists.
1228
+ # @return [Boolean]
1229
+ #
1230
+ # @!attribute [rw] updated_at
1231
+ # The time when the snapshot was created.
1232
+ # @return [Time]
1233
+ #
1234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateRuleSnapshotOutput AWS API Documentation
1235
+ #
1236
+ class CreateRuleSnapshotOutput < Struct.new(
1237
+ :rule_id,
1238
+ :rule_arn,
1239
+ :rule_name,
1240
+ :firewall_type,
1241
+ :rule_type,
1242
+ :rule_description,
1243
+ :configuration,
1244
+ :status,
1245
+ :version,
1246
+ :update_token,
1247
+ :is_snapshot,
1248
+ :has_published_version,
1249
+ :updated_at)
1250
+ SENSITIVE = []
1251
+ include Aws::Structure
1252
+ end
1253
+
1254
+ # @!attribute [rw] client_token
1255
+ # A unique, case-sensitive token that you provide to ensure that the
1256
+ # operation completes no more than one time. If you retry a request
1257
+ # with the same client token and the same parameters, the service
1258
+ # returns the result of the original successful request.
1259
+ #
1260
+ # **A suitable default value is auto-generated.** You should normally
1261
+ # not need to pass this option.
1262
+ # @return [String]
1263
+ #
1264
+ # @!attribute [rw] scope_name
1265
+ # The name of the scope.
1266
+ # @return [String]
1267
+ #
1268
+ # @!attribute [rw] scope_description
1269
+ # A description of the scope.
1270
+ # @return [String]
1271
+ #
1272
+ # @!attribute [rw] scope_configuration
1273
+ # The configuration that defines which accounts and resources are in
1274
+ # scope.
1275
+ # @return [Types::ScopeConfiguration]
1276
+ #
1277
+ # @!attribute [rw] is_published
1278
+ # Specifies whether to publish the resource. When `true`, the resource
1279
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
1280
+ # a draft (`DRAFT`). Default: `true`.
1281
+ # @return [Boolean]
1282
+ #
1283
+ # @!attribute [rw] tags
1284
+ # The tags to add to the resource when it is created.
1285
+ # @return [Hash<String,String>]
1286
+ #
1287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateScopeInput AWS API Documentation
1288
+ #
1289
+ class CreateScopeInput < Struct.new(
1290
+ :client_token,
1291
+ :scope_name,
1292
+ :scope_description,
1293
+ :scope_configuration,
1294
+ :is_published,
1295
+ :tags)
1296
+ SENSITIVE = []
1297
+ include Aws::Structure
1298
+ end
1299
+
1300
+ # @!attribute [rw] scope_id
1301
+ # The service-generated id of the scope.
1302
+ # @return [String]
1303
+ #
1304
+ # @!attribute [rw] scope_arn
1305
+ # The Amazon Resource Name (ARN) of the scope.
1306
+ # @return [String]
1307
+ #
1308
+ # @!attribute [rw] scope_name
1309
+ # The name of the scope.
1310
+ # @return [String]
1311
+ #
1312
+ # @!attribute [rw] scope_description
1313
+ # A description of the scope.
1314
+ # @return [String]
1315
+ #
1316
+ # @!attribute [rw] scope_configuration
1317
+ # The configuration that defines which accounts and resources are in
1318
+ # scope.
1319
+ # @return [Types::ScopeConfiguration]
1320
+ #
1321
+ # @!attribute [rw] status
1322
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1323
+ # or `ACTIVE` (published, in use).
1324
+ # @return [String]
1325
+ #
1326
+ # @!attribute [rw] version
1327
+ # The version of the resource.
1328
+ # @return [String]
1329
+ #
1330
+ # @!attribute [rw] update_token
1331
+ # A token used for optimistic concurrency control. Each read and write
1332
+ # returns an `updateToken`. Provide the most recent value on your next
1333
+ # update to detect and prevent conflicting concurrent modifications.
1334
+ # @return [String]
1335
+ #
1336
+ # @!attribute [rw] is_snapshot
1337
+ # Specifies whether the resource is a snapshot of a published version.
1338
+ # @return [Boolean]
1339
+ #
1340
+ # @!attribute [rw] has_published_version
1341
+ # Specifies whether a published version of the resource exists.
1342
+ # @return [Boolean]
1343
+ #
1344
+ # @!attribute [rw] updated_at
1345
+ # The time when the resource was last updated.
1346
+ # @return [Time]
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateScopeOutput AWS API Documentation
1349
+ #
1350
+ class CreateScopeOutput < Struct.new(
1351
+ :scope_id,
1352
+ :scope_arn,
1353
+ :scope_name,
1354
+ :scope_description,
1355
+ :scope_configuration,
1356
+ :status,
1357
+ :version,
1358
+ :update_token,
1359
+ :is_snapshot,
1360
+ :has_published_version,
1361
+ :updated_at)
1362
+ SENSITIVE = []
1363
+ include Aws::Structure
1364
+ end
1365
+
1366
+ # @!attribute [rw] scope_identifier
1367
+ # The identifier of the scope. This is the scope's Amazon Resource
1368
+ # Name (ARN).
1369
+ # @return [String]
1370
+ #
1371
+ # @!attribute [rw] client_token
1372
+ # A unique, case-sensitive token that you provide to ensure that the
1373
+ # operation completes no more than one time. If you retry a request
1374
+ # with the same client token and the same parameters, the service
1375
+ # returns the result of the original successful request.
1376
+ #
1377
+ # **A suitable default value is auto-generated.** You should normally
1378
+ # not need to pass this option.
1379
+ # @return [String]
1380
+ #
1381
+ # @!attribute [rw] tags
1382
+ # The tags to add to the snapshot when it is created.
1383
+ # @return [Hash<String,String>]
1384
+ #
1385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateScopeSnapshotInput AWS API Documentation
1386
+ #
1387
+ class CreateScopeSnapshotInput < Struct.new(
1388
+ :scope_identifier,
1389
+ :client_token,
1390
+ :tags)
1391
+ SENSITIVE = []
1392
+ include Aws::Structure
1393
+ end
1394
+
1395
+ # @!attribute [rw] scope_id
1396
+ # The service-generated id of the scope.
1397
+ # @return [String]
1398
+ #
1399
+ # @!attribute [rw] scope_arn
1400
+ # The Amazon Resource Name (ARN) of the scope.
1401
+ # @return [String]
1402
+ #
1403
+ # @!attribute [rw] scope_name
1404
+ # The name of the scope.
1405
+ # @return [String]
1406
+ #
1407
+ # @!attribute [rw] scope_description
1408
+ # A description of the scope.
1409
+ # @return [String]
1410
+ #
1411
+ # @!attribute [rw] scope_configuration
1412
+ # The configuration that defines which accounts and resources are in
1413
+ # scope.
1414
+ # @return [Types::ScopeConfiguration]
1415
+ #
1416
+ # @!attribute [rw] status
1417
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1418
+ # or `ACTIVE` (published, in use).
1419
+ # @return [String]
1420
+ #
1421
+ # @!attribute [rw] version
1422
+ # The version of the resource.
1423
+ # @return [String]
1424
+ #
1425
+ # @!attribute [rw] update_token
1426
+ # A token used for optimistic concurrency control. Each read and write
1427
+ # returns an `updateToken`. Provide the most recent value on your next
1428
+ # update to detect and prevent conflicting concurrent modifications.
1429
+ # @return [String]
1430
+ #
1431
+ # @!attribute [rw] is_snapshot
1432
+ # Specifies whether the resource is a snapshot of a published version.
1433
+ # @return [Boolean]
1434
+ #
1435
+ # @!attribute [rw] has_published_version
1436
+ # Specifies whether a published version of the resource exists.
1437
+ # @return [Boolean]
1438
+ #
1439
+ # @!attribute [rw] updated_at
1440
+ # The time when the snapshot was created.
1441
+ # @return [Time]
1442
+ #
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateScopeSnapshotOutput AWS API Documentation
1444
+ #
1445
+ class CreateScopeSnapshotOutput < Struct.new(
1446
+ :scope_id,
1447
+ :scope_arn,
1448
+ :scope_name,
1449
+ :scope_description,
1450
+ :scope_configuration,
1451
+ :status,
1452
+ :version,
1453
+ :update_token,
1454
+ :is_snapshot,
1455
+ :has_published_version,
1456
+ :updated_at)
1457
+ SENSITIVE = []
1458
+ include Aws::Structure
1459
+ end
1460
+
1461
+ # @!attribute [rw] client_token
1462
+ # A unique, case-sensitive token that you provide to ensure that the
1463
+ # operation completes no more than one time. If you retry a request
1464
+ # with the same client token and the same parameters, the service
1465
+ # returns the result of the original successful request.
1466
+ #
1467
+ # **A suitable default value is auto-generated.** You should normally
1468
+ # not need to pass this option.
1469
+ # @return [String]
1470
+ #
1471
+ # @!attribute [rw] template_name
1472
+ # The name of the template.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] template_description
1476
+ # A description of the template.
1477
+ # @return [String]
1478
+ #
1479
+ # @!attribute [rw] associated_rule_list
1480
+ # The rules associated with the template.
1481
+ # @return [Array<Types::RuleReference>]
1482
+ #
1483
+ # @!attribute [rw] firewall_type
1484
+ # The firewall type associated with the resource.
1485
+ # @return [String]
1486
+ #
1487
+ # @!attribute [rw] is_published
1488
+ # Specifies whether to publish the resource. When `true`, the resource
1489
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
1490
+ # a draft (`DRAFT`). Default: `true`.
1491
+ # @return [Boolean]
1492
+ #
1493
+ # @!attribute [rw] tags
1494
+ # The tags to add to the resource when it is created.
1495
+ # @return [Hash<String,String>]
1496
+ #
1497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateTemplateInput AWS API Documentation
1498
+ #
1499
+ class CreateTemplateInput < Struct.new(
1500
+ :client_token,
1501
+ :template_name,
1502
+ :template_description,
1503
+ :associated_rule_list,
1504
+ :firewall_type,
1505
+ :is_published,
1506
+ :tags)
1507
+ SENSITIVE = []
1508
+ include Aws::Structure
1509
+ end
1510
+
1511
+ # @!attribute [rw] template_id
1512
+ # The service-generated id of the template.
1513
+ # @return [String]
1514
+ #
1515
+ # @!attribute [rw] template_arn
1516
+ # The Amazon Resource Name (ARN) of the template.
1517
+ # @return [String]
1518
+ #
1519
+ # @!attribute [rw] template_name
1520
+ # The name of the template.
1521
+ # @return [String]
1522
+ #
1523
+ # @!attribute [rw] template_description
1524
+ # A description of the template.
1525
+ # @return [String]
1526
+ #
1527
+ # @!attribute [rw] status
1528
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1529
+ # or `ACTIVE` (published, in use).
1530
+ # @return [String]
1531
+ #
1532
+ # @!attribute [rw] version
1533
+ # The version of the resource.
1534
+ # @return [String]
1535
+ #
1536
+ # @!attribute [rw] associated_rule_list
1537
+ # The rules associated with the template.
1538
+ # @return [Array<Types::AssociatedRule>]
1539
+ #
1540
+ # @!attribute [rw] update_token
1541
+ # A token used for optimistic concurrency control. Each read and write
1542
+ # returns an `updateToken`. Provide the most recent value on your next
1543
+ # update to detect and prevent conflicting concurrent modifications.
1544
+ # @return [String]
1545
+ #
1546
+ # @!attribute [rw] is_snapshot
1547
+ # Specifies whether the resource is a snapshot of a published version.
1548
+ # @return [Boolean]
1549
+ #
1550
+ # @!attribute [rw] has_published_version
1551
+ # Specifies whether a published version of the resource exists.
1552
+ # @return [Boolean]
1553
+ #
1554
+ # @!attribute [rw] firewall_type
1555
+ # The firewall type associated with the resource.
1556
+ # @return [String]
1557
+ #
1558
+ # @!attribute [rw] updated_at
1559
+ # The time when the resource was last updated.
1560
+ # @return [Time]
1561
+ #
1562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateTemplateOutput AWS API Documentation
1563
+ #
1564
+ class CreateTemplateOutput < Struct.new(
1565
+ :template_id,
1566
+ :template_arn,
1567
+ :template_name,
1568
+ :template_description,
1569
+ :status,
1570
+ :version,
1571
+ :associated_rule_list,
1572
+ :update_token,
1573
+ :is_snapshot,
1574
+ :has_published_version,
1575
+ :firewall_type,
1576
+ :updated_at)
1577
+ SENSITIVE = []
1578
+ include Aws::Structure
1579
+ end
1580
+
1581
+ # @!attribute [rw] template_identifier
1582
+ # The identifier of the template. This is the template's Amazon
1583
+ # Resource Name (ARN).
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] client_token
1587
+ # A unique, case-sensitive token that you provide to ensure that the
1588
+ # operation completes no more than one time. If you retry a request
1589
+ # with the same client token and the same parameters, the service
1590
+ # returns the result of the original successful request.
1591
+ #
1592
+ # **A suitable default value is auto-generated.** You should normally
1593
+ # not need to pass this option.
1594
+ # @return [String]
1595
+ #
1596
+ # @!attribute [rw] tags
1597
+ # The tags to add to the snapshot when it is created.
1598
+ # @return [Hash<String,String>]
1599
+ #
1600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateTemplateSnapshotInput AWS API Documentation
1601
+ #
1602
+ class CreateTemplateSnapshotInput < Struct.new(
1603
+ :template_identifier,
1604
+ :client_token,
1605
+ :tags)
1606
+ SENSITIVE = []
1607
+ include Aws::Structure
1608
+ end
1609
+
1610
+ # @!attribute [rw] template_id
1611
+ # The service-generated id of the template.
1612
+ # @return [String]
1613
+ #
1614
+ # @!attribute [rw] template_arn
1615
+ # The Amazon Resource Name (ARN) of the template.
1616
+ # @return [String]
1617
+ #
1618
+ # @!attribute [rw] template_name
1619
+ # The name of the template.
1620
+ # @return [String]
1621
+ #
1622
+ # @!attribute [rw] template_description
1623
+ # A description of the template.
1624
+ # @return [String]
1625
+ #
1626
+ # @!attribute [rw] status
1627
+ # The current status of the resource: `DRAFT` (unpublished, editable)
1628
+ # or `ACTIVE` (published, in use).
1629
+ # @return [String]
1630
+ #
1631
+ # @!attribute [rw] version
1632
+ # The version of the resource.
1633
+ # @return [String]
1634
+ #
1635
+ # @!attribute [rw] associated_rule_list
1636
+ # The rules associated with the template.
1637
+ # @return [Array<Types::AssociatedRule>]
1638
+ #
1639
+ # @!attribute [rw] update_token
1640
+ # A token used for optimistic concurrency control. Each read and write
1641
+ # returns an `updateToken`. Provide the most recent value on your next
1642
+ # update to detect and prevent conflicting concurrent modifications.
1643
+ # @return [String]
1644
+ #
1645
+ # @!attribute [rw] is_snapshot
1646
+ # Specifies whether the resource is a snapshot of a published version.
1647
+ # @return [Boolean]
1648
+ #
1649
+ # @!attribute [rw] has_published_version
1650
+ # Specifies whether a published version of the resource exists.
1651
+ # @return [Boolean]
1652
+ #
1653
+ # @!attribute [rw] firewall_type
1654
+ # The firewall type associated with the resource.
1655
+ # @return [String]
1656
+ #
1657
+ # @!attribute [rw] updated_at
1658
+ # The time when the snapshot was created.
1659
+ # @return [Time]
1660
+ #
1661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/CreateTemplateSnapshotOutput AWS API Documentation
1662
+ #
1663
+ class CreateTemplateSnapshotOutput < Struct.new(
1664
+ :template_id,
1665
+ :template_arn,
1666
+ :template_name,
1667
+ :template_description,
1668
+ :status,
1669
+ :version,
1670
+ :associated_rule_list,
1671
+ :update_token,
1672
+ :is_snapshot,
1673
+ :has_published_version,
1674
+ :firewall_type,
1675
+ :updated_at)
1676
+ SENSITIVE = []
1677
+ include Aws::Structure
1678
+ end
1679
+
1680
+ # @!attribute [rw] account_id
1681
+ # The AWS account ID of the administrator account to remove.
1682
+ # @return [String]
1683
+ #
1684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeleteAdminAccountRequest AWS API Documentation
1685
+ #
1686
+ class DeleteAdminAccountRequest < Struct.new(
1687
+ :account_id)
1688
+ SENSITIVE = []
1689
+ include Aws::Structure
1690
+ end
1691
+
1692
+ # @!attribute [rw] deployment_identifier
1693
+ # The identifier of the deployment. This is the deployment's Amazon
1694
+ # Resource Name (ARN).
1695
+ # @return [String]
1696
+ #
1697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeleteDeploymentInput AWS API Documentation
1698
+ #
1699
+ class DeleteDeploymentInput < Struct.new(
1700
+ :deployment_identifier)
1701
+ SENSITIVE = []
1702
+ include Aws::Structure
1703
+ end
1704
+
1705
+ # @!attribute [rw] policy_identifier
1706
+ # The identifier of the policy. This is the policy's Amazon Resource
1707
+ # Name (ARN).
1708
+ # @return [String]
1709
+ #
1710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeletePolicyInput AWS API Documentation
1711
+ #
1712
+ class DeletePolicyInput < Struct.new(
1713
+ :policy_identifier)
1714
+ SENSITIVE = []
1715
+ include Aws::Structure
1716
+ end
1717
+
1718
+ # @!attribute [rw] rule_identifier
1719
+ # The identifier of the rule. This is the rule's Amazon Resource Name
1720
+ # (ARN).
1721
+ # @return [String]
1722
+ #
1723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeleteRuleInput AWS API Documentation
1724
+ #
1725
+ class DeleteRuleInput < Struct.new(
1726
+ :rule_identifier)
1727
+ SENSITIVE = []
1728
+ include Aws::Structure
1729
+ end
1730
+
1731
+ # @!attribute [rw] scope_identifier
1732
+ # The identifier of the scope. This is the scope's Amazon Resource
1733
+ # Name (ARN).
1734
+ # @return [String]
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeleteScopeInput AWS API Documentation
1737
+ #
1738
+ class DeleteScopeInput < Struct.new(
1739
+ :scope_identifier)
1740
+ SENSITIVE = []
1741
+ include Aws::Structure
1742
+ end
1743
+
1744
+ # @!attribute [rw] template_identifier
1745
+ # The identifier of the template. This is the template's Amazon
1746
+ # Resource Name (ARN).
1747
+ # @return [String]
1748
+ #
1749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeleteTemplateInput AWS API Documentation
1750
+ #
1751
+ class DeleteTemplateInput < Struct.new(
1752
+ :template_identifier)
1753
+ SENSITIVE = []
1754
+ include Aws::Structure
1755
+ end
1756
+
1757
+ # Configuration settings that control a deployment's behavior.
1758
+ #
1759
+ # @!attribute [rw] enable_cross_account_visibility
1760
+ # Specifies whether aggregate synchronization status details for the
1761
+ # resources covered by this deployment are visible across accounts.
1762
+ # Default: `false`.
1763
+ # @return [Boolean]
1764
+ #
1765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeploymentConfiguration AWS API Documentation
1766
+ #
1767
+ class DeploymentConfiguration < Struct.new(
1768
+ :enable_cross_account_visibility)
1769
+ SENSITIVE = []
1770
+ include Aws::Structure
1771
+ end
1772
+
1773
+ # Coverage information for one firewall type within a deployment. It
1774
+ # lists the deployment's policies that have this firewall type. It also
1775
+ # lists the resource types in the deployment's scope that the firewall
1776
+ # type protects.
1777
+ #
1778
+ # @!attribute [rw] firewall_type
1779
+ # The firewall type that the policies in this entry share.
1780
+ # @return [String]
1781
+ #
1782
+ # @!attribute [rw] policy_arns
1783
+ # The Amazon Resource Names (ARNs) of the deployment's policies that
1784
+ # have this firewall type.
1785
+ # @return [Array<String>]
1786
+ #
1787
+ # @!attribute [rw] in_scope_resource_types
1788
+ # The resource types in the deployment's scope that this firewall
1789
+ # type protects. This list is empty if the scope does not select any
1790
+ # resource types that the firewall type protects.
1791
+ # @return [Array<String>]
1792
+ #
1793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeploymentCoverageEntry AWS API Documentation
1794
+ #
1795
+ class DeploymentCoverageEntry < Struct.new(
1796
+ :firewall_type,
1797
+ :policy_arns,
1798
+ :in_scope_resource_types)
1799
+ SENSITIVE = []
1800
+ include Aws::Structure
1801
+ end
1802
+
1803
+ # Summary information about a deployment.
1804
+ #
1805
+ # @!attribute [rw] deployment_id
1806
+ # The service-generated id of the deployment.
1807
+ # @return [String]
1808
+ #
1809
+ # @!attribute [rw] deployment_arn
1810
+ # The Amazon Resource Name (ARN) of the deployment.
1811
+ # @return [String]
1812
+ #
1813
+ # @!attribute [rw] deployment_name
1814
+ # The name of the deployment.
1815
+ # @return [String]
1816
+ #
1817
+ # @!attribute [rw] status
1818
+ # The current status of the resource: `DRAFT` (unpublished, editable),
1819
+ # `ACTIVE` (published, in use), or `DISABLED` (deactivated; changes
1820
+ # cannot be published until the resource is re-enabled).
1821
+ # @return [String]
1822
+ #
1823
+ # @!attribute [rw] version
1824
+ # The version of the resource.
1825
+ # @return [String]
1826
+ #
1827
+ # @!attribute [rw] has_published_version
1828
+ # Specifies whether a published version of the resource exists.
1829
+ # @return [Boolean]
1830
+ #
1831
+ # @!attribute [rw] updated_at
1832
+ # The time when the resource was last updated. For a snapshot, this is
1833
+ # the time when the snapshot was created.
1834
+ # @return [Time]
1835
+ #
1836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeploymentSummary AWS API Documentation
1837
+ #
1838
+ class DeploymentSummary < Struct.new(
1839
+ :deployment_id,
1840
+ :deployment_arn,
1841
+ :deployment_name,
1842
+ :status,
1843
+ :version,
1844
+ :has_published_version,
1845
+ :updated_at)
1846
+ SENSITIVE = []
1847
+ include Aws::Structure
1848
+ end
1849
+
1850
+ # A warning about a potential issue with a deployment.
1851
+ #
1852
+ # @!attribute [rw] code
1853
+ # A code that identifies the type of warning.
1854
+ # @return [String]
1855
+ #
1856
+ # @!attribute [rw] policy_arn
1857
+ # The ARN of the policy that the warning relates to.
1858
+ # @return [String]
1859
+ #
1860
+ # @!attribute [rw] message
1861
+ # A human-readable description of the warning.
1862
+ # @return [String]
1863
+ #
1864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/DeploymentWarningEntry AWS API Documentation
1865
+ #
1866
+ class DeploymentWarningEntry < Struct.new(
1867
+ :code,
1868
+ :policy_arn,
1869
+ :message)
1870
+ SENSITIVE = []
1871
+ include Aws::Structure
1872
+ end
1873
+
1874
+ # Describes why a firewall is out of sync. Exactly one of
1875
+ # `missingFirewall` or `invalidFirewall` is set.
1876
+ #
1877
+ # @note FirewallSyncReason is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of FirewallSyncReason corresponding to the set member.
1878
+ #
1879
+ # @!attribute [rw] missing_firewall
1880
+ # Indicates that an expected firewall is missing. The value describes
1881
+ # the missing firewall.
1882
+ # @return [String]
1883
+ #
1884
+ # @!attribute [rw] invalid_firewall
1885
+ # Details about a firewall whose configuration does not match the
1886
+ # intended configuration.
1887
+ # @return [Types::InvalidFirewallReasons]
1888
+ #
1889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/FirewallSyncReason AWS API Documentation
1890
+ #
1891
+ class FirewallSyncReason < Struct.new(
1892
+ :missing_firewall,
1893
+ :invalid_firewall,
1894
+ :unknown)
1895
+ SENSITIVE = []
1896
+ include Aws::Structure
1897
+ include Aws::Structure::Union
1898
+
1899
+ class MissingFirewall < FirewallSyncReason; end
1900
+ class InvalidFirewall < FirewallSyncReason; end
1901
+ class Unknown < FirewallSyncReason; end
1902
+ end
1903
+
1904
+ # @!attribute [rw] prompt
1905
+ # A natural-language description of the configuration that you want to
1906
+ # generate.
1907
+ # @return [String]
1908
+ #
1909
+ # @!attribute [rw] rule_firewall_type
1910
+ # The firewall type of the rule.
1911
+ # @return [String]
1912
+ #
1913
+ # @!attribute [rw] rule_type
1914
+ # The type of the rule. `CONFIGURATION` rules contain firewall
1915
+ # settings, and `INSPECTION` rules contain rule groups.
1916
+ # @return [String]
1917
+ #
1918
+ # @!attribute [rw] waf_config_data_type
1919
+ # For AWS WAF configuration rules, the specific AWS WAF configuration
1920
+ # variant to generate. This is optional; if you omit it, the service
1921
+ # selects the variant.
1922
+ # @return [String]
1923
+ #
1924
+ # @!attribute [rw] current_configuration
1925
+ # An existing configuration to edit, as a JSON string. When you
1926
+ # provide this value, the operation edits the configuration. When you
1927
+ # omit it, the operation generates a new configuration.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] client_token
1931
+ # A unique, case-sensitive token that you provide to ensure that the
1932
+ # operation completes no more than one time. If you retry a request
1933
+ # with the same client token and the same parameters, the service
1934
+ # returns the result of the original successful request.
1935
+ #
1936
+ # **A suitable default value is auto-generated.** You should normally
1937
+ # not need to pass this option.
1938
+ # @return [String]
1939
+ #
1940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GenerateRuleConfigurationRequest AWS API Documentation
1941
+ #
1942
+ class GenerateRuleConfigurationRequest < Struct.new(
1943
+ :prompt,
1944
+ :rule_firewall_type,
1945
+ :rule_type,
1946
+ :waf_config_data_type,
1947
+ :current_configuration,
1948
+ :client_token)
1949
+ SENSITIVE = [:prompt]
1950
+ include Aws::Structure
1951
+ end
1952
+
1953
+ # @!attribute [rw] configuration
1954
+ # The generated configuration, as a JSON string. You can use this
1955
+ # value in the `configuration` field of a rule.
1956
+ # @return [String]
1957
+ #
1958
+ # @!attribute [rw] description
1959
+ # Reserved for a future human-readable description of the generated
1960
+ # configuration. This field is currently not populated.
1961
+ # @return [String]
1962
+ #
1963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GenerateRuleConfigurationResponse AWS API Documentation
1964
+ #
1965
+ class GenerateRuleConfigurationResponse < Struct.new(
1966
+ :configuration,
1967
+ :description)
1968
+ SENSITIVE = []
1969
+ include Aws::Structure
1970
+ end
1971
+
1972
+ # @!attribute [rw] account_id
1973
+ # The AWS account ID of the administrator account to retrieve.
1974
+ # @return [String]
1975
+ #
1976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetAdminAccountRequest AWS API Documentation
1977
+ #
1978
+ class GetAdminAccountRequest < Struct.new(
1979
+ :account_id)
1980
+ SENSITIVE = []
1981
+ include Aws::Structure
1982
+ end
1983
+
1984
+ # @!attribute [rw] admin_account_details
1985
+ # The details of the administrator account.
1986
+ # @return [Types::AdminAccountDetails]
1987
+ #
1988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetAdminAccountResponse AWS API Documentation
1989
+ #
1990
+ class GetAdminAccountResponse < Struct.new(
1991
+ :admin_account_details)
1992
+ SENSITIVE = []
1993
+ include Aws::Structure
1994
+ end
1995
+
1996
+ # @!attribute [rw] deployment_identifier
1997
+ # The identifier of the deployment. This is the deployment's Amazon
1998
+ # Resource Name (ARN).
1999
+ # @return [String]
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetDeploymentInput AWS API Documentation
2002
+ #
2003
+ class GetDeploymentInput < Struct.new(
2004
+ :deployment_identifier)
2005
+ SENSITIVE = []
2006
+ include Aws::Structure
2007
+ end
2008
+
2009
+ # @!attribute [rw] deployment_id
2010
+ # The service-generated id of the deployment.
2011
+ # @return [String]
2012
+ #
2013
+ # @!attribute [rw] deployment_arn
2014
+ # The Amazon Resource Name (ARN) of the deployment.
2015
+ # @return [String]
2016
+ #
2017
+ # @!attribute [rw] deployment_name
2018
+ # The name of the deployment.
2019
+ # @return [String]
2020
+ #
2021
+ # @!attribute [rw] deployment_description
2022
+ # A description of the deployment.
2023
+ # @return [String]
2024
+ #
2025
+ # @!attribute [rw] status
2026
+ # The current status of the resource: `DRAFT` (unpublished, editable),
2027
+ # `ACTIVE` (published, in use), or `DISABLED` (deactivated; changes
2028
+ # cannot be published until the resource is re-enabled).
2029
+ # @return [String]
2030
+ #
2031
+ # @!attribute [rw] deployment_configuration
2032
+ # The configuration settings for the deployment.
2033
+ # @return [Types::DeploymentConfiguration]
2034
+ #
2035
+ # @!attribute [rw] associated_policy_list
2036
+ # The policies associated with the deployment.
2037
+ # @return [Array<Types::AssociatedPolicy>]
2038
+ #
2039
+ # @!attribute [rw] associated_scope_list
2040
+ # The scope associated with the deployment. A deployment has exactly
2041
+ # one scope.
2042
+ # @return [Array<Types::AssociatedScope>]
2043
+ #
2044
+ # @!attribute [rw] version
2045
+ # The version of the resource.
2046
+ # @return [String]
2047
+ #
2048
+ # @!attribute [rw] update_token
2049
+ # A token used for optimistic concurrency control. Each read and write
2050
+ # returns an `updateToken`. Provide the most recent value on your next
2051
+ # update to detect and prevent conflicting concurrent modifications.
2052
+ # @return [String]
2053
+ #
2054
+ # @!attribute [rw] is_snapshot
2055
+ # Specifies whether the resource is a snapshot of a published version.
2056
+ # @return [Boolean]
2057
+ #
2058
+ # @!attribute [rw] has_published_version
2059
+ # Specifies whether a published version of the resource exists.
2060
+ # @return [Boolean]
2061
+ #
2062
+ # @!attribute [rw] updated_at
2063
+ # The time when the resource was last updated.
2064
+ # @return [Time]
2065
+ #
2066
+ # @!attribute [rw] deployment_coverage
2067
+ # The coverage information for the deployment. For each firewall type,
2068
+ # it shows which policies have that firewall type and which in-scope
2069
+ # resource types the firewall type protects.
2070
+ # @return [Array<Types::DeploymentCoverageEntry>]
2071
+ #
2072
+ # @!attribute [rw] warnings
2073
+ # Warnings about potential issues, such as a policy that has no
2074
+ # applicable resources in the deployment's scope.
2075
+ # @return [Array<Types::DeploymentWarningEntry>]
2076
+ #
2077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetDeploymentOutput AWS API Documentation
2078
+ #
2079
+ class GetDeploymentOutput < Struct.new(
2080
+ :deployment_id,
2081
+ :deployment_arn,
2082
+ :deployment_name,
2083
+ :deployment_description,
2084
+ :status,
2085
+ :deployment_configuration,
2086
+ :associated_policy_list,
2087
+ :associated_scope_list,
2088
+ :version,
2089
+ :update_token,
2090
+ :is_snapshot,
2091
+ :has_published_version,
2092
+ :updated_at,
2093
+ :deployment_coverage,
2094
+ :warnings)
2095
+ SENSITIVE = []
2096
+ include Aws::Structure
2097
+ end
2098
+
2099
+ # @!attribute [rw] policy_identifier
2100
+ # The identifier of the policy. This is the policy's Amazon Resource
2101
+ # Name (ARN).
2102
+ # @return [String]
2103
+ #
2104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetPolicyInput AWS API Documentation
2105
+ #
2106
+ class GetPolicyInput < Struct.new(
2107
+ :policy_identifier)
2108
+ SENSITIVE = []
2109
+ include Aws::Structure
2110
+ end
2111
+
2112
+ # @!attribute [rw] policy_id
2113
+ # The service-generated id of the policy.
2114
+ # @return [String]
2115
+ #
2116
+ # @!attribute [rw] policy_arn
2117
+ # The Amazon Resource Name (ARN) of the policy.
2118
+ # @return [String]
2119
+ #
2120
+ # @!attribute [rw] policy_name
2121
+ # The name of the policy.
2122
+ # @return [String]
2123
+ #
2124
+ # @!attribute [rw] policy_description
2125
+ # A description of the policy.
2126
+ # @return [String]
2127
+ #
2128
+ # @!attribute [rw] status
2129
+ # The current status of the resource: `DRAFT` (unpublished, editable)
2130
+ # or `ACTIVE` (published, in use).
2131
+ # @return [String]
2132
+ #
2133
+ # @!attribute [rw] priority
2134
+ # The priority of the resource. A lower number indicates a higher
2135
+ # priority.
2136
+ # @return [Integer]
2137
+ #
2138
+ # @!attribute [rw] associated_template_and_rule_list
2139
+ # The templates and rules associated with the policy. For AWS WAF
2140
+ # policies, this list contains 1 to 100 templates or rules, of which
2141
+ # at most 2 can be templates. For AWS Shield Advanced policies, this
2142
+ # list is empty.
2143
+ # @return [Array<Types::AssociatedTemplateOrRule>]
2144
+ #
2145
+ # @!attribute [rw] version
2146
+ # The version of the resource.
2147
+ # @return [String]
2148
+ #
2149
+ # @!attribute [rw] update_token
2150
+ # A token used for optimistic concurrency control. Each read and write
2151
+ # returns an `updateToken`. Provide the most recent value on your next
2152
+ # update to detect and prevent conflicting concurrent modifications.
2153
+ # @return [String]
2154
+ #
2155
+ # @!attribute [rw] is_snapshot
2156
+ # Specifies whether the resource is a snapshot of a published version.
2157
+ # @return [Boolean]
2158
+ #
2159
+ # @!attribute [rw] has_published_version
2160
+ # Specifies whether a published version of the resource exists.
2161
+ # @return [Boolean]
2162
+ #
2163
+ # @!attribute [rw] firewall_type
2164
+ # The firewall type associated with the resource.
2165
+ # @return [String]
2166
+ #
2167
+ # @!attribute [rw] policy_configuration
2168
+ # The configuration settings that control the policy's behavior,
2169
+ # including remediation and firewall-type-specific settings.
2170
+ # @return [Types::PolicyConfiguration]
2171
+ #
2172
+ # @!attribute [rw] updated_at
2173
+ # The time when the resource was last updated.
2174
+ # @return [Time]
2175
+ #
2176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetPolicyOutput AWS API Documentation
2177
+ #
2178
+ class GetPolicyOutput < Struct.new(
2179
+ :policy_id,
2180
+ :policy_arn,
2181
+ :policy_name,
2182
+ :policy_description,
2183
+ :status,
2184
+ :priority,
2185
+ :associated_template_and_rule_list,
2186
+ :version,
2187
+ :update_token,
2188
+ :is_snapshot,
2189
+ :has_published_version,
2190
+ :firewall_type,
2191
+ :policy_configuration,
2192
+ :updated_at)
2193
+ SENSITIVE = []
2194
+ include Aws::Structure
2195
+ end
2196
+
2197
+ # @!attribute [rw] rule_identifier
2198
+ # The identifier of the rule. This is the rule's Amazon Resource Name
2199
+ # (ARN).
2200
+ # @return [String]
2201
+ #
2202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetRuleInput AWS API Documentation
2203
+ #
2204
+ class GetRuleInput < Struct.new(
2205
+ :rule_identifier)
2206
+ SENSITIVE = []
2207
+ include Aws::Structure
2208
+ end
2209
+
2210
+ # @!attribute [rw] rule_id
2211
+ # The service-generated id of the rule.
2212
+ # @return [String]
2213
+ #
2214
+ # @!attribute [rw] rule_arn
2215
+ # The Amazon Resource Name (ARN) of the rule.
2216
+ # @return [String]
2217
+ #
2218
+ # @!attribute [rw] rule_name
2219
+ # The name of the rule.
2220
+ # @return [String]
2221
+ #
2222
+ # @!attribute [rw] firewall_type
2223
+ # The firewall type associated with the resource.
2224
+ # @return [String]
2225
+ #
2226
+ # @!attribute [rw] rule_type
2227
+ # The type of the rule. `CONFIGURATION` rules contain firewall
2228
+ # settings, and `INSPECTION` rules contain rule groups.
2229
+ # @return [String]
2230
+ #
2231
+ # @!attribute [rw] rule_description
2232
+ # A description of the rule.
2233
+ # @return [String]
2234
+ #
2235
+ # @!attribute [rw] configuration
2236
+ # The firewall configuration for the rule, as a JSON document. The
2237
+ # structure depends on the rule's firewall type and rule type.
2238
+ # @return [Hash,Array,String,Numeric,Boolean]
2239
+ #
2240
+ # @!attribute [rw] status
2241
+ # The current status of the resource: `DRAFT` (unpublished, editable)
2242
+ # or `ACTIVE` (published, in use).
2243
+ # @return [String]
2244
+ #
2245
+ # @!attribute [rw] version
2246
+ # The version of the resource.
2247
+ # @return [String]
2248
+ #
2249
+ # @!attribute [rw] update_token
2250
+ # A token used for optimistic concurrency control. Each read and write
2251
+ # returns an `updateToken`. Provide the most recent value on your next
2252
+ # update to detect and prevent conflicting concurrent modifications.
2253
+ # @return [String]
2254
+ #
2255
+ # @!attribute [rw] is_snapshot
2256
+ # Specifies whether the resource is a snapshot of a published version.
2257
+ # @return [Boolean]
2258
+ #
2259
+ # @!attribute [rw] has_published_version
2260
+ # Specifies whether a published version of the resource exists.
2261
+ # @return [Boolean]
2262
+ #
2263
+ # @!attribute [rw] updated_at
2264
+ # The time when the resource was last updated.
2265
+ # @return [Time]
2266
+ #
2267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetRuleOutput AWS API Documentation
2268
+ #
2269
+ class GetRuleOutput < Struct.new(
2270
+ :rule_id,
2271
+ :rule_arn,
2272
+ :rule_name,
2273
+ :firewall_type,
2274
+ :rule_type,
2275
+ :rule_description,
2276
+ :configuration,
2277
+ :status,
2278
+ :version,
2279
+ :update_token,
2280
+ :is_snapshot,
2281
+ :has_published_version,
2282
+ :updated_at)
2283
+ SENSITIVE = []
2284
+ include Aws::Structure
2285
+ end
2286
+
2287
+ # @!attribute [rw] scope_identifier
2288
+ # The identifier of the scope. This is the scope's Amazon Resource
2289
+ # Name (ARN).
2290
+ # @return [String]
2291
+ #
2292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetScopeInput AWS API Documentation
2293
+ #
2294
+ class GetScopeInput < Struct.new(
2295
+ :scope_identifier)
2296
+ SENSITIVE = []
2297
+ include Aws::Structure
2298
+ end
2299
+
2300
+ # @!attribute [rw] scope_id
2301
+ # The service-generated id of the scope.
2302
+ # @return [String]
2303
+ #
2304
+ # @!attribute [rw] scope_arn
2305
+ # The Amazon Resource Name (ARN) of the scope.
2306
+ # @return [String]
2307
+ #
2308
+ # @!attribute [rw] scope_name
2309
+ # The name of the scope.
2310
+ # @return [String]
2311
+ #
2312
+ # @!attribute [rw] scope_description
2313
+ # A description of the scope.
2314
+ # @return [String]
2315
+ #
2316
+ # @!attribute [rw] scope_configuration
2317
+ # The configuration that defines which accounts and resources are in
2318
+ # scope.
2319
+ # @return [Types::ScopeConfiguration]
2320
+ #
2321
+ # @!attribute [rw] status
2322
+ # The current status of the resource: `DRAFT` (unpublished, editable),
2323
+ # `ACTIVE` (published, in use), or `DISABLED` (deactivated; changes
2324
+ # cannot be published until the resource is re-enabled).
2325
+ # @return [String]
2326
+ #
2327
+ # @!attribute [rw] version
2328
+ # The version of the resource.
2329
+ # @return [String]
2330
+ #
2331
+ # @!attribute [rw] update_token
2332
+ # A token used for optimistic concurrency control. Each read and write
2333
+ # returns an `updateToken`. Provide the most recent value on your next
2334
+ # update to detect and prevent conflicting concurrent modifications.
2335
+ # @return [String]
2336
+ #
2337
+ # @!attribute [rw] is_snapshot
2338
+ # Specifies whether the resource is a snapshot of a published version.
2339
+ # @return [Boolean]
2340
+ #
2341
+ # @!attribute [rw] has_published_version
2342
+ # Specifies whether a published version of the resource exists.
2343
+ # @return [Boolean]
2344
+ #
2345
+ # @!attribute [rw] updated_at
2346
+ # The time when the resource was last updated.
2347
+ # @return [Time]
2348
+ #
2349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetScopeOutput AWS API Documentation
2350
+ #
2351
+ class GetScopeOutput < Struct.new(
2352
+ :scope_id,
2353
+ :scope_arn,
2354
+ :scope_name,
2355
+ :scope_description,
2356
+ :scope_configuration,
2357
+ :status,
2358
+ :version,
2359
+ :update_token,
2360
+ :is_snapshot,
2361
+ :has_published_version,
2362
+ :updated_at)
2363
+ SENSITIVE = []
2364
+ include Aws::Structure
2365
+ end
2366
+
2367
+ # @!attribute [rw] template_identifier
2368
+ # The identifier of the template. This is the template's Amazon
2369
+ # Resource Name (ARN).
2370
+ # @return [String]
2371
+ #
2372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetTemplateInput AWS API Documentation
2373
+ #
2374
+ class GetTemplateInput < Struct.new(
2375
+ :template_identifier)
2376
+ SENSITIVE = []
2377
+ include Aws::Structure
2378
+ end
2379
+
2380
+ # @!attribute [rw] template_id
2381
+ # The service-generated id of the template.
2382
+ # @return [String]
2383
+ #
2384
+ # @!attribute [rw] template_arn
2385
+ # The Amazon Resource Name (ARN) of the template.
2386
+ # @return [String]
2387
+ #
2388
+ # @!attribute [rw] template_name
2389
+ # The name of the template.
2390
+ # @return [String]
2391
+ #
2392
+ # @!attribute [rw] template_description
2393
+ # A description of the template.
2394
+ # @return [String]
2395
+ #
2396
+ # @!attribute [rw] status
2397
+ # The current status of the resource: `DRAFT` (unpublished, editable)
2398
+ # or `ACTIVE` (published, in use).
2399
+ # @return [String]
2400
+ #
2401
+ # @!attribute [rw] version
2402
+ # The version of the resource.
2403
+ # @return [String]
2404
+ #
2405
+ # @!attribute [rw] associated_rule_list
2406
+ # The rules associated with the template.
2407
+ # @return [Array<Types::AssociatedRule>]
2408
+ #
2409
+ # @!attribute [rw] update_token
2410
+ # A token used for optimistic concurrency control. Each read and write
2411
+ # returns an `updateToken`. Provide the most recent value on your next
2412
+ # update to detect and prevent conflicting concurrent modifications.
2413
+ # @return [String]
2414
+ #
2415
+ # @!attribute [rw] is_snapshot
2416
+ # Specifies whether the resource is a snapshot of a published version.
2417
+ # @return [Boolean]
2418
+ #
2419
+ # @!attribute [rw] has_published_version
2420
+ # Specifies whether a published version of the resource exists.
2421
+ # @return [Boolean]
2422
+ #
2423
+ # @!attribute [rw] firewall_type
2424
+ # The firewall type associated with the resource.
2425
+ # @return [String]
2426
+ #
2427
+ # @!attribute [rw] updated_at
2428
+ # The time when the resource was last updated.
2429
+ # @return [Time]
2430
+ #
2431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/GetTemplateOutput AWS API Documentation
2432
+ #
2433
+ class GetTemplateOutput < Struct.new(
2434
+ :template_id,
2435
+ :template_arn,
2436
+ :template_name,
2437
+ :template_description,
2438
+ :status,
2439
+ :version,
2440
+ :associated_rule_list,
2441
+ :update_token,
2442
+ :is_snapshot,
2443
+ :has_published_version,
2444
+ :firewall_type,
2445
+ :updated_at)
2446
+ SENSITIVE = []
2447
+ include Aws::Structure
2448
+ end
2449
+
2450
+ # The request processing failed because of an internal error in the
2451
+ # service. This is a retryable error.
2452
+ #
2453
+ # @!attribute [rw] message
2454
+ # @return [String]
2455
+ #
2456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/InternalServerException AWS API Documentation
2457
+ #
2458
+ class InternalServerException < Struct.new(
2459
+ :message)
2460
+ SENSITIVE = []
2461
+ include Aws::Structure
2462
+ end
2463
+
2464
+ # Details about the ways in which a firewall's configuration differs
2465
+ # from the intended configuration.
2466
+ #
2467
+ # @!attribute [rw] incorrect_single_value_configurations
2468
+ # Single-value configuration settings whose values do not match the
2469
+ # expected values.
2470
+ # @return [Array<Types::ConfigurationIssue>]
2471
+ #
2472
+ # @!attribute [rw] missing_appendable_configuration_values
2473
+ # Appendable configuration values that are expected but missing.
2474
+ # @return [Array<Types::ConfigurationIssue>]
2475
+ #
2476
+ # @!attribute [rw] unexpected_appendable_configuration_values
2477
+ # Appendable configuration values that are present but not expected.
2478
+ # @return [Array<Types::ConfigurationIssue>]
2479
+ #
2480
+ # @!attribute [rw] incorrect_appendable_configuration_order
2481
+ # Appendable configuration values that are present but in the wrong
2482
+ # order.
2483
+ # @return [Array<Types::ConfigurationIssue>]
2484
+ #
2485
+ # @!attribute [rw] missing_mergeable_configuration_values
2486
+ # Mergeable configuration values that are expected but missing.
2487
+ # @return [Array<Types::ConfigurationIssue>]
2488
+ #
2489
+ # @!attribute [rw] unexpected_mergeable_configuration_values
2490
+ # Mergeable configuration values that are present but not expected.
2491
+ # @return [Array<Types::ConfigurationIssue>]
2492
+ #
2493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/InvalidFirewallReasons AWS API Documentation
2494
+ #
2495
+ class InvalidFirewallReasons < Struct.new(
2496
+ :incorrect_single_value_configurations,
2497
+ :missing_appendable_configuration_values,
2498
+ :unexpected_appendable_configuration_values,
2499
+ :incorrect_appendable_configuration_order,
2500
+ :missing_mergeable_configuration_values,
2501
+ :unexpected_mergeable_configuration_values)
2502
+ SENSITIVE = []
2503
+ include Aws::Structure
2504
+ end
2505
+
2506
+ # @!attribute [rw] max_results
2507
+ # The maximum number of results to return in a single call. Valid
2508
+ # range: 1-100. To retrieve the remaining results, use the returned
2509
+ # `nextToken` value in a subsequent call.
2510
+ # @return [Integer]
2511
+ #
2512
+ # @!attribute [rw] next_token
2513
+ # The token for the next page of results. To retrieve the next page,
2514
+ # call the operation again and provide this value. When there are no
2515
+ # more results, this value is null.
2516
+ # @return [String]
2517
+ #
2518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListAdminAccountsRequest AWS API Documentation
2519
+ #
2520
+ class ListAdminAccountsRequest < Struct.new(
2521
+ :max_results,
2522
+ :next_token)
2523
+ SENSITIVE = []
2524
+ include Aws::Structure
2525
+ end
2526
+
2527
+ # @!attribute [rw] next_token
2528
+ # The token for the next page of results. To retrieve the next page,
2529
+ # call the operation again and provide this value. When there are no
2530
+ # more results, this value is null.
2531
+ # @return [String]
2532
+ #
2533
+ # @!attribute [rw] admin_accounts
2534
+ # The list of administrator accounts.
2535
+ # @return [Array<Types::AdminAccountSummary>]
2536
+ #
2537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListAdminAccountsResponse AWS API Documentation
2538
+ #
2539
+ class ListAdminAccountsResponse < Struct.new(
2540
+ :next_token,
2541
+ :admin_accounts)
2542
+ SENSITIVE = []
2543
+ include Aws::Structure
2544
+ end
2545
+
2546
+ # @!attribute [rw] synchronization_status
2547
+ # Filters the results by synchronization status, such as `IN_SYNC` or
2548
+ # `OUT_OF_SYNC`.
2549
+ # @return [String]
2550
+ #
2551
+ # @!attribute [rw] max_results
2552
+ # The maximum number of results to return in a single call. Valid
2553
+ # range: 1-100. To retrieve the remaining results, use the returned
2554
+ # `nextToken` value in a subsequent call.
2555
+ # @return [Integer]
2556
+ #
2557
+ # @!attribute [rw] next_token
2558
+ # The token for the next page of results. To retrieve the next page,
2559
+ # call the operation again and provide this value. When there are no
2560
+ # more results, this value is null.
2561
+ # @return [String]
2562
+ #
2563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListAggregateResourceSynchronizationStatusesInput AWS API Documentation
2564
+ #
2565
+ class ListAggregateResourceSynchronizationStatusesInput < Struct.new(
2566
+ :synchronization_status,
2567
+ :max_results,
2568
+ :next_token)
2569
+ SENSITIVE = []
2570
+ include Aws::Structure
2571
+ end
2572
+
2573
+ # @!attribute [rw] next_token
2574
+ # The token for the next page of results. To retrieve the next page,
2575
+ # call the operation again and provide this value. When there are no
2576
+ # more results, this value is null.
2577
+ # @return [String]
2578
+ #
2579
+ # @!attribute [rw] resource_synchronization_statuses
2580
+ # The list of resource synchronization statuses.
2581
+ # @return [Array<Types::ResourceSynchronizationStatusSummary>]
2582
+ #
2583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListAggregateResourceSynchronizationStatusesOutput AWS API Documentation
2584
+ #
2585
+ class ListAggregateResourceSynchronizationStatusesOutput < Struct.new(
2586
+ :next_token,
2587
+ :resource_synchronization_statuses)
2588
+ SENSITIVE = []
2589
+ include Aws::Structure
2590
+ end
2591
+
2592
+ # @!attribute [rw] deployment_identifier
2593
+ # The identifier of the deployment. This is the deployment's Amazon
2594
+ # Resource Name (ARN).
2595
+ # @return [String]
2596
+ #
2597
+ # @!attribute [rw] max_results
2598
+ # The maximum number of results to return in a single call. Valid
2599
+ # range: 1-100. To retrieve the remaining results, use the returned
2600
+ # `nextToken` value in a subsequent call.
2601
+ # @return [Integer]
2602
+ #
2603
+ # @!attribute [rw] next_token
2604
+ # The token for the next page of results. To retrieve the next page,
2605
+ # call the operation again and provide this value. When there are no
2606
+ # more results, this value is null.
2607
+ # @return [String]
2608
+ #
2609
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListDeploymentSnapshotsInput AWS API Documentation
2610
+ #
2611
+ class ListDeploymentSnapshotsInput < Struct.new(
2612
+ :deployment_identifier,
2613
+ :max_results,
2614
+ :next_token)
2615
+ SENSITIVE = []
2616
+ include Aws::Structure
2617
+ end
2618
+
2619
+ # @!attribute [rw] next_token
2620
+ # The token for the next page of results. To retrieve the next page,
2621
+ # call the operation again and provide this value. When there are no
2622
+ # more results, this value is null.
2623
+ # @return [String]
2624
+ #
2625
+ # @!attribute [rw] snapshots
2626
+ # The snapshots of the deployment.
2627
+ # @return [Array<Types::DeploymentSummary>]
2628
+ #
2629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListDeploymentSnapshotsOutput AWS API Documentation
2630
+ #
2631
+ class ListDeploymentSnapshotsOutput < Struct.new(
2632
+ :next_token,
2633
+ :snapshots)
2634
+ SENSITIVE = []
2635
+ include Aws::Structure
2636
+ end
2637
+
2638
+ # @!attribute [rw] max_results
2639
+ # The maximum number of results to return in a single call. Valid
2640
+ # range: 1-100. To retrieve the remaining results, use the returned
2641
+ # `nextToken` value in a subsequent call.
2642
+ # @return [Integer]
2643
+ #
2644
+ # @!attribute [rw] next_token
2645
+ # The token for the next page of results. To retrieve the next page,
2646
+ # call the operation again and provide this value. When there are no
2647
+ # more results, this value is null.
2648
+ # @return [String]
2649
+ #
2650
+ # @!attribute [rw] status
2651
+ # Filters the results by status: `ACTIVE`, `DRAFT`, or `DISABLED`.
2652
+ # @return [String]
2653
+ #
2654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListDeploymentsInput AWS API Documentation
2655
+ #
2656
+ class ListDeploymentsInput < Struct.new(
2657
+ :max_results,
2658
+ :next_token,
2659
+ :status)
2660
+ SENSITIVE = []
2661
+ include Aws::Structure
2662
+ end
2663
+
2664
+ # @!attribute [rw] next_token
2665
+ # The token for the next page of results. To retrieve the next page,
2666
+ # call the operation again and provide this value. When there are no
2667
+ # more results, this value is null.
2668
+ # @return [String]
2669
+ #
2670
+ # @!attribute [rw] deployments
2671
+ # The list of deployments.
2672
+ # @return [Array<Types::DeploymentSummary>]
2673
+ #
2674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListDeploymentsOutput AWS API Documentation
2675
+ #
2676
+ class ListDeploymentsOutput < Struct.new(
2677
+ :next_token,
2678
+ :deployments)
2679
+ SENSITIVE = []
2680
+ include Aws::Structure
2681
+ end
2682
+
2683
+ # @!attribute [rw] max_results
2684
+ # The maximum number of results to return in a single call. Valid
2685
+ # range: 1-100. To retrieve the remaining results, use the returned
2686
+ # `nextToken` value in a subsequent call.
2687
+ # @return [Integer]
2688
+ #
2689
+ # @!attribute [rw] next_token
2690
+ # The token for the next page of results. To retrieve the next page,
2691
+ # call the operation again and provide this value. When there are no
2692
+ # more results, this value is null.
2693
+ # @return [String]
2694
+ #
2695
+ # @!attribute [rw] status
2696
+ # Filters the results by status, either `ACTIVE` or `DRAFT`.
2697
+ # @return [String]
2698
+ #
2699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListPoliciesInput AWS API Documentation
2700
+ #
2701
+ class ListPoliciesInput < Struct.new(
2702
+ :max_results,
2703
+ :next_token,
2704
+ :status)
2705
+ SENSITIVE = []
2706
+ include Aws::Structure
2707
+ end
2708
+
2709
+ # @!attribute [rw] next_token
2710
+ # The token for the next page of results. To retrieve the next page,
2711
+ # call the operation again and provide this value. When there are no
2712
+ # more results, this value is null.
2713
+ # @return [String]
2714
+ #
2715
+ # @!attribute [rw] policies
2716
+ # The list of policies.
2717
+ # @return [Array<Types::PolicySummary>]
2718
+ #
2719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListPoliciesOutput AWS API Documentation
2720
+ #
2721
+ class ListPoliciesOutput < Struct.new(
2722
+ :next_token,
2723
+ :policies)
2724
+ SENSITIVE = []
2725
+ include Aws::Structure
2726
+ end
2727
+
2728
+ # @!attribute [rw] policy_identifier
2729
+ # The identifier of the policy. This is the policy's Amazon Resource
2730
+ # Name (ARN).
2731
+ # @return [String]
2732
+ #
2733
+ # @!attribute [rw] max_results
2734
+ # The maximum number of results to return in a single call. Valid
2735
+ # range: 1-100. To retrieve the remaining results, use the returned
2736
+ # `nextToken` value in a subsequent call.
2737
+ # @return [Integer]
2738
+ #
2739
+ # @!attribute [rw] next_token
2740
+ # The token for the next page of results. To retrieve the next page,
2741
+ # call the operation again and provide this value. When there are no
2742
+ # more results, this value is null.
2743
+ # @return [String]
2744
+ #
2745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListPolicySnapshotsInput AWS API Documentation
2746
+ #
2747
+ class ListPolicySnapshotsInput < Struct.new(
2748
+ :policy_identifier,
2749
+ :max_results,
2750
+ :next_token)
2751
+ SENSITIVE = []
2752
+ include Aws::Structure
2753
+ end
2754
+
2755
+ # @!attribute [rw] next_token
2756
+ # The token for the next page of results. To retrieve the next page,
2757
+ # call the operation again and provide this value. When there are no
2758
+ # more results, this value is null.
2759
+ # @return [String]
2760
+ #
2761
+ # @!attribute [rw] snapshots
2762
+ # The snapshots of the policy.
2763
+ # @return [Array<Types::PolicySummary>]
2764
+ #
2765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListPolicySnapshotsOutput AWS API Documentation
2766
+ #
2767
+ class ListPolicySnapshotsOutput < Struct.new(
2768
+ :next_token,
2769
+ :snapshots)
2770
+ SENSITIVE = []
2771
+ include Aws::Structure
2772
+ end
2773
+
2774
+ # @!attribute [rw] resource_identifier
2775
+ # The identifier of the resource to list associations for. This is the
2776
+ # resource's Amazon Resource Name (ARN).
2777
+ # @return [String]
2778
+ #
2779
+ # @!attribute [rw] max_results
2780
+ # The maximum number of results to return in a single call. Valid
2781
+ # range: 1-100. To retrieve the remaining results, use the returned
2782
+ # `nextToken` value in a subsequent call.
2783
+ # @return [Integer]
2784
+ #
2785
+ # @!attribute [rw] next_token
2786
+ # The token for the next page of results. To retrieve the next page,
2787
+ # call the operation again and provide this value. When there are no
2788
+ # more results, this value is null.
2789
+ # @return [String]
2790
+ #
2791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListResourceAssociationsInput AWS API Documentation
2792
+ #
2793
+ class ListResourceAssociationsInput < Struct.new(
2794
+ :resource_identifier,
2795
+ :max_results,
2796
+ :next_token)
2797
+ SENSITIVE = []
2798
+ include Aws::Structure
2799
+ end
2800
+
2801
+ # @!attribute [rw] next_token
2802
+ # The token for the next page of results. To retrieve the next page,
2803
+ # call the operation again and provide this value. When there are no
2804
+ # more results, this value is null.
2805
+ # @return [String]
2806
+ #
2807
+ # @!attribute [rw] resource_associations
2808
+ # The list of resource associations.
2809
+ # @return [Array<Types::ResourceAssociation>]
2810
+ #
2811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListResourceAssociationsOutput AWS API Documentation
2812
+ #
2813
+ class ListResourceAssociationsOutput < Struct.new(
2814
+ :next_token,
2815
+ :resource_associations)
2816
+ SENSITIVE = []
2817
+ include Aws::Structure
2818
+ end
2819
+
2820
+ # @!attribute [rw] deployment_identifier
2821
+ # The identifier of the deployment to list synchronization statuses
2822
+ # for. This is the deployment's Amazon Resource Name (ARN).
2823
+ # @return [String]
2824
+ #
2825
+ # @!attribute [rw] synchronization_status
2826
+ # Filters the results by synchronization status, such as `IN_SYNC` or
2827
+ # `OUT_OF_SYNC`.
2828
+ # @return [String]
2829
+ #
2830
+ # @!attribute [rw] max_results
2831
+ # The maximum number of results to return in a single call. Valid
2832
+ # range: 1-100. To retrieve the remaining results, use the returned
2833
+ # `nextToken` value in a subsequent call.
2834
+ # @return [Integer]
2835
+ #
2836
+ # @!attribute [rw] next_token
2837
+ # The token for the next page of results. To retrieve the next page,
2838
+ # call the operation again and provide this value. When there are no
2839
+ # more results, this value is null.
2840
+ # @return [String]
2841
+ #
2842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListResourceSynchronizationStatusesInput AWS API Documentation
2843
+ #
2844
+ class ListResourceSynchronizationStatusesInput < Struct.new(
2845
+ :deployment_identifier,
2846
+ :synchronization_status,
2847
+ :max_results,
2848
+ :next_token)
2849
+ SENSITIVE = []
2850
+ include Aws::Structure
2851
+ end
2852
+
2853
+ # @!attribute [rw] next_token
2854
+ # The token for the next page of results. To retrieve the next page,
2855
+ # call the operation again and provide this value. When there are no
2856
+ # more results, this value is null.
2857
+ # @return [String]
2858
+ #
2859
+ # @!attribute [rw] resource_synchronization_statuses
2860
+ # The list of resource synchronization statuses.
2861
+ # @return [Array<Types::ResourceSynchronizationStatusSummary>]
2862
+ #
2863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListResourceSynchronizationStatusesOutput AWS API Documentation
2864
+ #
2865
+ class ListResourceSynchronizationStatusesOutput < Struct.new(
2866
+ :next_token,
2867
+ :resource_synchronization_statuses)
2868
+ SENSITIVE = []
2869
+ include Aws::Structure
2870
+ end
2871
+
2872
+ # @!attribute [rw] rule_identifier
2873
+ # The identifier of the rule. This is the rule's Amazon Resource Name
2874
+ # (ARN).
2875
+ # @return [String]
2876
+ #
2877
+ # @!attribute [rw] max_results
2878
+ # The maximum number of results to return in a single call. Valid
2879
+ # range: 1-100. To retrieve the remaining results, use the returned
2880
+ # `nextToken` value in a subsequent call.
2881
+ # @return [Integer]
2882
+ #
2883
+ # @!attribute [rw] next_token
2884
+ # The token for the next page of results. To retrieve the next page,
2885
+ # call the operation again and provide this value. When there are no
2886
+ # more results, this value is null.
2887
+ # @return [String]
2888
+ #
2889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListRuleSnapshotsInput AWS API Documentation
2890
+ #
2891
+ class ListRuleSnapshotsInput < Struct.new(
2892
+ :rule_identifier,
2893
+ :max_results,
2894
+ :next_token)
2895
+ SENSITIVE = []
2896
+ include Aws::Structure
2897
+ end
2898
+
2899
+ # @!attribute [rw] next_token
2900
+ # The token for the next page of results. To retrieve the next page,
2901
+ # call the operation again and provide this value. When there are no
2902
+ # more results, this value is null.
2903
+ # @return [String]
2904
+ #
2905
+ # @!attribute [rw] snapshots
2906
+ # The snapshots of the rule.
2907
+ # @return [Array<Types::RuleSummary>]
2908
+ #
2909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListRuleSnapshotsOutput AWS API Documentation
2910
+ #
2911
+ class ListRuleSnapshotsOutput < Struct.new(
2912
+ :next_token,
2913
+ :snapshots)
2914
+ SENSITIVE = []
2915
+ include Aws::Structure
2916
+ end
2917
+
2918
+ # @!attribute [rw] max_results
2919
+ # The maximum number of results to return in a single call. Valid
2920
+ # range: 1-100. To retrieve the remaining results, use the returned
2921
+ # `nextToken` value in a subsequent call.
2922
+ # @return [Integer]
2923
+ #
2924
+ # @!attribute [rw] next_token
2925
+ # The token for the next page of results. To retrieve the next page,
2926
+ # call the operation again and provide this value. When there are no
2927
+ # more results, this value is null.
2928
+ # @return [String]
2929
+ #
2930
+ # @!attribute [rw] status
2931
+ # Filters the results by status, either `ACTIVE` or `DRAFT`.
2932
+ # @return [String]
2933
+ #
2934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListRulesInput AWS API Documentation
2935
+ #
2936
+ class ListRulesInput < Struct.new(
2937
+ :max_results,
2938
+ :next_token,
2939
+ :status)
2940
+ SENSITIVE = []
2941
+ include Aws::Structure
2942
+ end
2943
+
2944
+ # @!attribute [rw] next_token
2945
+ # The token for the next page of results. To retrieve the next page,
2946
+ # call the operation again and provide this value. When there are no
2947
+ # more results, this value is null.
2948
+ # @return [String]
2949
+ #
2950
+ # @!attribute [rw] rules
2951
+ # The list of rules.
2952
+ # @return [Array<Types::RuleSummary>]
2953
+ #
2954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListRulesOutput AWS API Documentation
2955
+ #
2956
+ class ListRulesOutput < Struct.new(
2957
+ :next_token,
2958
+ :rules)
2959
+ SENSITIVE = []
2960
+ include Aws::Structure
2961
+ end
2962
+
2963
+ # @!attribute [rw] scope_identifier
2964
+ # The identifier of the scope. This is the scope's Amazon Resource
2965
+ # Name (ARN).
2966
+ # @return [String]
2967
+ #
2968
+ # @!attribute [rw] max_results
2969
+ # The maximum number of results to return in a single call. Valid
2970
+ # range: 1-100. To retrieve the remaining results, use the returned
2971
+ # `nextToken` value in a subsequent call.
2972
+ # @return [Integer]
2973
+ #
2974
+ # @!attribute [rw] next_token
2975
+ # The token for the next page of results. To retrieve the next page,
2976
+ # call the operation again and provide this value. When there are no
2977
+ # more results, this value is null.
2978
+ # @return [String]
2979
+ #
2980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListScopeSnapshotsInput AWS API Documentation
2981
+ #
2982
+ class ListScopeSnapshotsInput < Struct.new(
2983
+ :scope_identifier,
2984
+ :max_results,
2985
+ :next_token)
2986
+ SENSITIVE = []
2987
+ include Aws::Structure
2988
+ end
2989
+
2990
+ # @!attribute [rw] next_token
2991
+ # The token for the next page of results. To retrieve the next page,
2992
+ # call the operation again and provide this value. When there are no
2993
+ # more results, this value is null.
2994
+ # @return [String]
2995
+ #
2996
+ # @!attribute [rw] snapshots
2997
+ # The snapshots of the scope.
2998
+ # @return [Array<Types::ScopeSummary>]
2999
+ #
3000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListScopeSnapshotsOutput AWS API Documentation
3001
+ #
3002
+ class ListScopeSnapshotsOutput < Struct.new(
3003
+ :next_token,
3004
+ :snapshots)
3005
+ SENSITIVE = []
3006
+ include Aws::Structure
3007
+ end
3008
+
3009
+ # @!attribute [rw] max_results
3010
+ # The maximum number of results to return in a single call. Valid
3011
+ # range: 1-100. To retrieve the remaining results, use the returned
3012
+ # `nextToken` value in a subsequent call.
3013
+ # @return [Integer]
3014
+ #
3015
+ # @!attribute [rw] next_token
3016
+ # The token for the next page of results. To retrieve the next page,
3017
+ # call the operation again and provide this value. When there are no
3018
+ # more results, this value is null.
3019
+ # @return [String]
3020
+ #
3021
+ # @!attribute [rw] status
3022
+ # Filters the results by status: `ACTIVE`, `DRAFT`, or `DISABLED`.
3023
+ # @return [String]
3024
+ #
3025
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListScopesInput AWS API Documentation
3026
+ #
3027
+ class ListScopesInput < Struct.new(
3028
+ :max_results,
3029
+ :next_token,
3030
+ :status)
3031
+ SENSITIVE = []
3032
+ include Aws::Structure
3033
+ end
3034
+
3035
+ # @!attribute [rw] next_token
3036
+ # The token for the next page of results. To retrieve the next page,
3037
+ # call the operation again and provide this value. When there are no
3038
+ # more results, this value is null.
3039
+ # @return [String]
3040
+ #
3041
+ # @!attribute [rw] scopes
3042
+ # The list of scopes.
3043
+ # @return [Array<Types::ScopeSummary>]
3044
+ #
3045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListScopesOutput AWS API Documentation
3046
+ #
3047
+ class ListScopesOutput < Struct.new(
3048
+ :next_token,
3049
+ :scopes)
3050
+ SENSITIVE = []
3051
+ include Aws::Structure
3052
+ end
3053
+
3054
+ # @!attribute [rw] resource_arn
3055
+ # The ARN of the resource to list tags for. The ARN must not include a
3056
+ # `:DRAFT` qualifier.
3057
+ # @return [String]
3058
+ #
3059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTagsForResourceInput AWS API Documentation
3060
+ #
3061
+ class ListTagsForResourceInput < Struct.new(
3062
+ :resource_arn)
3063
+ SENSITIVE = []
3064
+ include Aws::Structure
3065
+ end
3066
+
3067
+ # @!attribute [rw] tags
3068
+ # The tags associated with the resource. Each tag is a key-value pair.
3069
+ # @return [Hash<String,String>]
3070
+ #
3071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTagsForResourceOutput AWS API Documentation
3072
+ #
3073
+ class ListTagsForResourceOutput < Struct.new(
3074
+ :tags)
3075
+ SENSITIVE = []
3076
+ include Aws::Structure
3077
+ end
3078
+
3079
+ # @!attribute [rw] template_identifier
3080
+ # The identifier of the template. This is the template's Amazon
3081
+ # Resource Name (ARN).
3082
+ # @return [String]
3083
+ #
3084
+ # @!attribute [rw] max_results
3085
+ # The maximum number of results to return in a single call. Valid
3086
+ # range: 1-100. To retrieve the remaining results, use the returned
3087
+ # `nextToken` value in a subsequent call.
3088
+ # @return [Integer]
3089
+ #
3090
+ # @!attribute [rw] next_token
3091
+ # The token for the next page of results. To retrieve the next page,
3092
+ # call the operation again and provide this value. When there are no
3093
+ # more results, this value is null.
3094
+ # @return [String]
3095
+ #
3096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTemplateSnapshotsInput AWS API Documentation
3097
+ #
3098
+ class ListTemplateSnapshotsInput < Struct.new(
3099
+ :template_identifier,
3100
+ :max_results,
3101
+ :next_token)
3102
+ SENSITIVE = []
3103
+ include Aws::Structure
3104
+ end
3105
+
3106
+ # @!attribute [rw] next_token
3107
+ # The token for the next page of results. To retrieve the next page,
3108
+ # call the operation again and provide this value. When there are no
3109
+ # more results, this value is null.
3110
+ # @return [String]
3111
+ #
3112
+ # @!attribute [rw] snapshots
3113
+ # The snapshots of the template.
3114
+ # @return [Array<Types::TemplateSummary>]
3115
+ #
3116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTemplateSnapshotsOutput AWS API Documentation
3117
+ #
3118
+ class ListTemplateSnapshotsOutput < Struct.new(
3119
+ :next_token,
3120
+ :snapshots)
3121
+ SENSITIVE = []
3122
+ include Aws::Structure
3123
+ end
3124
+
3125
+ # @!attribute [rw] max_results
3126
+ # The maximum number of results to return in a single call. Valid
3127
+ # range: 1-100. To retrieve the remaining results, use the returned
3128
+ # `nextToken` value in a subsequent call.
3129
+ # @return [Integer]
3130
+ #
3131
+ # @!attribute [rw] next_token
3132
+ # The token for the next page of results. To retrieve the next page,
3133
+ # call the operation again and provide this value. When there are no
3134
+ # more results, this value is null.
3135
+ # @return [String]
3136
+ #
3137
+ # @!attribute [rw] status
3138
+ # Filters the results by status, either `ACTIVE` or `DRAFT`.
3139
+ # @return [String]
3140
+ #
3141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTemplatesInput AWS API Documentation
3142
+ #
3143
+ class ListTemplatesInput < Struct.new(
3144
+ :max_results,
3145
+ :next_token,
3146
+ :status)
3147
+ SENSITIVE = []
3148
+ include Aws::Structure
3149
+ end
3150
+
3151
+ # @!attribute [rw] next_token
3152
+ # The token for the next page of results. To retrieve the next page,
3153
+ # call the operation again and provide this value. When there are no
3154
+ # more results, this value is null.
3155
+ # @return [String]
3156
+ #
3157
+ # @!attribute [rw] templates
3158
+ # The list of templates.
3159
+ # @return [Array<Types::TemplateSummary>]
3160
+ #
3161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ListTemplatesOutput AWS API Documentation
3162
+ #
3163
+ class ListTemplatesOutput < Struct.new(
3164
+ :next_token,
3165
+ :templates)
3166
+ SENSITIVE = []
3167
+ include Aws::Structure
3168
+ end
3169
+
3170
+ # Indicates that details are not visible because of cross-account
3171
+ # restrictions.
3172
+ #
3173
+ # @!attribute [rw] reason
3174
+ # The reason the details are not visible.
3175
+ # @return [String]
3176
+ #
3177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/NotVisibleMarker AWS API Documentation
3178
+ #
3179
+ class NotVisibleMarker < Struct.new(
3180
+ :reason)
3181
+ SENSITIVE = []
3182
+ include Aws::Structure
3183
+ end
3184
+
3185
+ # A reference to an AWS Organizations organizational unit (OU), with
3186
+ # optional display metadata.
3187
+ #
3188
+ # @!attribute [rw] ou_id
3189
+ # The ID of the AWS Organizations organizational unit (OU).
3190
+ # @return [String]
3191
+ #
3192
+ # @!attribute [rw] name
3193
+ # The display name of the organizational unit.
3194
+ # @return [String]
3195
+ #
3196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/OrganizationalUnitReference AWS API Documentation
3197
+ #
3198
+ class OrganizationalUnitReference < Struct.new(
3199
+ :ou_id,
3200
+ :name)
3201
+ SENSITIVE = []
3202
+ include Aws::Structure
3203
+ end
3204
+
3205
+ # The out-of-sync reasons for a resource, or a marker indicating that
3206
+ # the details are not visible. Exactly one member is set.
3207
+ #
3208
+ # @note OutOfSyncReasonsView is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of OutOfSyncReasonsView corresponding to the set member.
3209
+ #
3210
+ # @!attribute [rw] reasons
3211
+ # The out-of-sync reasons, keyed by firewall type.
3212
+ # @return [Hash<String,Types::FirewallSyncReason>]
3213
+ #
3214
+ # @!attribute [rw] not_visible
3215
+ # Indicates that the details are not visible because of cross-account
3216
+ # restrictions.
3217
+ # @return [Types::NotVisibleMarker]
3218
+ #
3219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/OutOfSyncReasonsView AWS API Documentation
3220
+ #
3221
+ class OutOfSyncReasonsView < Struct.new(
3222
+ :reasons,
3223
+ :not_visible,
3224
+ :unknown)
3225
+ SENSITIVE = []
3226
+ include Aws::Structure
3227
+ include Aws::Structure::Union
3228
+
3229
+ class Reasons < OutOfSyncReasonsView; end
3230
+ class NotVisible < OutOfSyncReasonsView; end
3231
+ class Unknown < OutOfSyncReasonsView; end
3232
+ end
3233
+
3234
+ # Configuration settings that control a policy's behavior.
3235
+ #
3236
+ # @!attribute [rw] remediation_enabled
3237
+ # Specifies whether AWS Network Security Manager automatically
3238
+ # remediates noncompliant resources. Default: `false`.
3239
+ # @return [Boolean]
3240
+ #
3241
+ # @!attribute [rw] resources_clean_up
3242
+ # Specifies whether AWS Network Security Manager automatically removes
3243
+ # the resources it created when they are no longer needed. Default:
3244
+ # `false`.
3245
+ # @return [Boolean]
3246
+ #
3247
+ # @!attribute [rw] waf_config
3248
+ # AWS WAF-specific policy settings. This is populated only for AWS WAF
3249
+ # policies.
3250
+ # @return [Types::WafConfig]
3251
+ #
3252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/PolicyConfiguration AWS API Documentation
3253
+ #
3254
+ class PolicyConfiguration < Struct.new(
3255
+ :remediation_enabled,
3256
+ :resources_clean_up,
3257
+ :waf_config)
3258
+ SENSITIVE = []
3259
+ include Aws::Structure
3260
+ end
3261
+
3262
+ # A reference to a policy in a create or update request.
3263
+ #
3264
+ # @!attribute [rw] policy_identifier
3265
+ # The identifier of the policy. This is the policy's Amazon Resource
3266
+ # Name (ARN), optionally version-qualified to pin a specific published
3267
+ # version.
3268
+ # @return [String]
3269
+ #
3270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/PolicyReference AWS API Documentation
3271
+ #
3272
+ class PolicyReference < Struct.new(
3273
+ :policy_identifier)
3274
+ SENSITIVE = []
3275
+ include Aws::Structure
3276
+ end
3277
+
3278
+ # Summary information about a policy.
3279
+ #
3280
+ # @!attribute [rw] policy_id
3281
+ # The service-generated id of the policy.
3282
+ # @return [String]
3283
+ #
3284
+ # @!attribute [rw] policy_arn
3285
+ # The Amazon Resource Name (ARN) of the policy.
3286
+ # @return [String]
3287
+ #
3288
+ # @!attribute [rw] policy_name
3289
+ # The name of the policy.
3290
+ # @return [String]
3291
+ #
3292
+ # @!attribute [rw] status
3293
+ # The current status of the resource: `DRAFT` (unpublished, editable)
3294
+ # or `ACTIVE` (published, in use).
3295
+ # @return [String]
3296
+ #
3297
+ # @!attribute [rw] version
3298
+ # The version of the resource.
3299
+ # @return [String]
3300
+ #
3301
+ # @!attribute [rw] has_published_version
3302
+ # Specifies whether a published version of the resource exists.
3303
+ # @return [Boolean]
3304
+ #
3305
+ # @!attribute [rw] firewall_type
3306
+ # The firewall type associated with the resource.
3307
+ # @return [String]
3308
+ #
3309
+ # @!attribute [rw] priority
3310
+ # The priority of the resource. A lower number indicates a higher
3311
+ # priority.
3312
+ # @return [Integer]
3313
+ #
3314
+ # @!attribute [rw] updated_at
3315
+ # The time when the resource was last updated. For a snapshot, this is
3316
+ # the time when the snapshot was created.
3317
+ # @return [Time]
3318
+ #
3319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/PolicySummary AWS API Documentation
3320
+ #
3321
+ class PolicySummary < Struct.new(
3322
+ :policy_id,
3323
+ :policy_arn,
3324
+ :policy_name,
3325
+ :status,
3326
+ :version,
3327
+ :has_published_version,
3328
+ :firewall_type,
3329
+ :priority,
3330
+ :updated_at)
3331
+ SENSITIVE = []
3332
+ include Aws::Structure
3333
+ end
3334
+
3335
+ # @!attribute [rw] account_id
3336
+ # The AWS account ID to set as the AWS Network Security Manager
3337
+ # administrator account.
3338
+ # @return [String]
3339
+ #
3340
+ # @!attribute [rw] priority
3341
+ # The priority to assign to the administrator account.
3342
+ # @return [Integer]
3343
+ #
3344
+ # @!attribute [rw] admin_scope
3345
+ # The scope of accounts, organizational units, and firewall types that
3346
+ # the administrator can manage.
3347
+ # @return [Types::AdminScopeInput]
3348
+ #
3349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/PutAdminAccountRequest AWS API Documentation
3350
+ #
3351
+ class PutAdminAccountRequest < Struct.new(
3352
+ :account_id,
3353
+ :priority,
3354
+ :admin_scope)
3355
+ SENSITIVE = []
3356
+ include Aws::Structure
3357
+ end
3358
+
3359
+ # @!attribute [rw] admin_account_details
3360
+ # The details of the administrator account that was set.
3361
+ # @return [Types::AdminAccountDetails]
3362
+ #
3363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/PutAdminAccountResponse AWS API Documentation
3364
+ #
3365
+ class PutAdminAccountResponse < Struct.new(
3366
+ :admin_account_details)
3367
+ SENSITIVE = []
3368
+ include Aws::Structure
3369
+ end
3370
+
3371
+ # Details about a remediation issue for a firewall type.
3372
+ #
3373
+ # @!attribute [rw] issue_type
3374
+ # The type of remediation issue.
3375
+ # @return [String]
3376
+ #
3377
+ # @!attribute [rw] message
3378
+ # A human-readable description of the remediation issue.
3379
+ # @return [String]
3380
+ #
3381
+ # @!attribute [rw] corrective_action
3382
+ # A recommended action for resolving the remediation issue.
3383
+ # @return [String]
3384
+ #
3385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/RemediationIssueDetails AWS API Documentation
3386
+ #
3387
+ class RemediationIssueDetails < Struct.new(
3388
+ :issue_type,
3389
+ :message,
3390
+ :corrective_action)
3391
+ SENSITIVE = []
3392
+ include Aws::Structure
3393
+ end
3394
+
3395
+ # Remediation issue details for a resource, or a marker indicating that
3396
+ # the details are not visible. Exactly one member is set.
3397
+ #
3398
+ # @note RemediationIssuesView is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of RemediationIssuesView corresponding to the set member.
3399
+ #
3400
+ # @!attribute [rw] issues
3401
+ # The remediation issues, keyed by firewall type.
3402
+ # @return [Hash<String,Types::RemediationIssueDetails>]
3403
+ #
3404
+ # @!attribute [rw] not_visible
3405
+ # Indicates that the details are not visible because of cross-account
3406
+ # restrictions.
3407
+ # @return [Types::NotVisibleMarker]
3408
+ #
3409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/RemediationIssuesView AWS API Documentation
3410
+ #
3411
+ class RemediationIssuesView < Struct.new(
3412
+ :issues,
3413
+ :not_visible,
3414
+ :unknown)
3415
+ SENSITIVE = []
3416
+ include Aws::Structure
3417
+ include Aws::Structure::Union
3418
+
3419
+ class Issues < RemediationIssuesView; end
3420
+ class NotVisible < RemediationIssuesView; end
3421
+ class Unknown < RemediationIssuesView; end
3422
+ end
3423
+
3424
+ # Describes an association between a resource and another entity.
3425
+ #
3426
+ # @!attribute [rw] arn
3427
+ # The ARN of the associated resource.
3428
+ # @return [String]
3429
+ #
3430
+ # @!attribute [rw] resource_type
3431
+ # The type of the associated resource, such as `Policy`, `Template`,
3432
+ # or `Deployment`.
3433
+ # @return [String]
3434
+ #
3435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceAssociation AWS API Documentation
3436
+ #
3437
+ class ResourceAssociation < Struct.new(
3438
+ :arn,
3439
+ :resource_type)
3440
+ SENSITIVE = []
3441
+ include Aws::Structure
3442
+ end
3443
+
3444
+ # A leaf condition that matches resources by tag or by
3445
+ # resource-type-specific configuration.
3446
+ #
3447
+ # @note ResourceCriteria is a union - when making an API calls you must set exactly one of the members.
3448
+ #
3449
+ # @note ResourceCriteria is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ResourceCriteria corresponding to the set member.
3450
+ #
3451
+ # @!attribute [rw] tags
3452
+ # Tag key-value pairs used to match resources.
3453
+ # @return [Hash<String,String>]
3454
+ #
3455
+ # @!attribute [rw] alb_config
3456
+ # Filter criteria specific to Application Load Balancers.
3457
+ # @return [Types::AlbConfiguration]
3458
+ #
3459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceCriteria AWS API Documentation
3460
+ #
3461
+ class ResourceCriteria < Struct.new(
3462
+ :tags,
3463
+ :alb_config,
3464
+ :unknown)
3465
+ SENSITIVE = []
3466
+ include Aws::Structure
3467
+ include Aws::Structure::Union
3468
+
3469
+ class Tags < ResourceCriteria; end
3470
+ class AlbConfig < ResourceCriteria; end
3471
+ class Unknown < ResourceCriteria; end
3472
+ end
3473
+
3474
+ # A logical expression that selects resources. Exactly one of
3475
+ # `criteria`, `and`, `or`, or `not` is set.
3476
+ #
3477
+ # @note ResourceLogicalExpression is a union - when making an API calls you must set exactly one of the members.
3478
+ #
3479
+ # @note ResourceLogicalExpression is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ResourceLogicalExpression corresponding to the set member.
3480
+ #
3481
+ # @!attribute [rw] criteria
3482
+ # A leaf condition that matches resources by tag or by
3483
+ # resource-type-specific configuration.
3484
+ # @return [Types::ResourceCriteria]
3485
+ #
3486
+ # @!attribute [rw] and
3487
+ # A list of subexpressions that must all match.
3488
+ # @return [Array<Types::ResourceLogicalExpression>]
3489
+ #
3490
+ # @!attribute [rw] or
3491
+ # A list of subexpressions of which at least one must match.
3492
+ # @return [Array<Types::ResourceLogicalExpression>]
3493
+ #
3494
+ # @!attribute [rw] not
3495
+ # A subexpression that must not match.
3496
+ # @return [Types::ResourceLogicalExpression]
3497
+ #
3498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceLogicalExpression AWS API Documentation
3499
+ #
3500
+ class ResourceLogicalExpression < Struct.new(
3501
+ :criteria,
3502
+ :and,
3503
+ :or,
3504
+ :not,
3505
+ :unknown)
3506
+ SENSITIVE = []
3507
+ include Aws::Structure
3508
+ include Aws::Structure::Union
3509
+
3510
+ class Criteria < ResourceLogicalExpression; end
3511
+ class And < ResourceLogicalExpression; end
3512
+ class Or < ResourceLogicalExpression; end
3513
+ class Not < ResourceLogicalExpression; end
3514
+ class Unknown < ResourceLogicalExpression; end
3515
+ end
3516
+
3517
+ # The specified resource was not found. Verify that the resource
3518
+ # identifier is correct and that the resource exists, then try your
3519
+ # request again.
3520
+ #
3521
+ # @!attribute [rw] message
3522
+ # @return [String]
3523
+ #
3524
+ # @!attribute [rw] resource_id
3525
+ # The ID of the resource that could not be found.
3526
+ # @return [String]
3527
+ #
3528
+ # @!attribute [rw] resource_type
3529
+ # The type of the resource that could not be found.
3530
+ # @return [String]
3531
+ #
3532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceNotFoundException AWS API Documentation
3533
+ #
3534
+ class ResourceNotFoundException < Struct.new(
3535
+ :message,
3536
+ :resource_id,
3537
+ :resource_type)
3538
+ SENSITIVE = []
3539
+ include Aws::Structure
3540
+ end
3541
+
3542
+ # Defines which resources of a given type are in scope. Exactly one of
3543
+ # `includeAll`, `include`, or `exclude` is set.
3544
+ #
3545
+ # @!attribute [rw] include_all
3546
+ # Includes all resources of the resource type.
3547
+ # @return [Boolean]
3548
+ #
3549
+ # @!attribute [rw] include
3550
+ # Includes the resources that match the specified criteria or explicit
3551
+ # ARNs.
3552
+ # @return [Types::ResourceSet]
3553
+ #
3554
+ # @!attribute [rw] exclude
3555
+ # Excludes the resources that match the specified criteria or explicit
3556
+ # ARNs.
3557
+ # @return [Types::ResourceSet]
3558
+ #
3559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceScope AWS API Documentation
3560
+ #
3561
+ class ResourceScope < Struct.new(
3562
+ :include_all,
3563
+ :include,
3564
+ :exclude)
3565
+ SENSITIVE = []
3566
+ include Aws::Structure
3567
+ end
3568
+
3569
+ # A set of resources defined by explicit ARNs, a logical expression, or
3570
+ # both.
3571
+ #
3572
+ # @!attribute [rw] explicit_arns
3573
+ # An explicit list of resource ARNs.
3574
+ # @return [Array<String>]
3575
+ #
3576
+ # @!attribute [rw] expression
3577
+ # A logical expression that selects resources by combining criteria
3578
+ # with AND, OR, and NOT operators.
3579
+ # @return [Types::ResourceLogicalExpression]
3580
+ #
3581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceSet AWS API Documentation
3582
+ #
3583
+ class ResourceSet < Struct.new(
3584
+ :explicit_arns,
3585
+ :expression)
3586
+ SENSITIVE = []
3587
+ include Aws::Structure
3588
+ end
3589
+
3590
+ # The synchronization status of a resource covered by a deployment.
3591
+ #
3592
+ # @!attribute [rw] synchronization_status
3593
+ # The synchronization status of the resource, such as `IN_SYNC` or
3594
+ # `OUT_OF_SYNC`.
3595
+ # @return [String]
3596
+ #
3597
+ # @!attribute [rw] account_id
3598
+ # The AWS account ID that owns the resource.
3599
+ # @return [String]
3600
+ #
3601
+ # @!attribute [rw] resource_arn
3602
+ # The ARN of the resource whose synchronization status is reported.
3603
+ # @return [String]
3604
+ #
3605
+ # @!attribute [rw] deployment_arn
3606
+ # The ARN of the deployment that the synchronization status is
3607
+ # associated with. This is absent for aggregate (cross-deployment)
3608
+ # statuses.
3609
+ # @return [String]
3610
+ #
3611
+ # @!attribute [rw] resource_type
3612
+ # The type of the resource, in AWS CloudFormation format.
3613
+ # @return [String]
3614
+ #
3615
+ # @!attribute [rw] updated_at
3616
+ # The time when the resource was last updated.
3617
+ # @return [Time]
3618
+ #
3619
+ # @!attribute [rw] out_of_sync_reasons
3620
+ # The reasons the resource is out of sync, keyed by firewall type.
3621
+ # This is null when the resource is in sync.
3622
+ # @return [Types::OutOfSyncReasonsView]
3623
+ #
3624
+ # @!attribute [rw] remediation_issues
3625
+ # Details about remediation issues, keyed by firewall type. This is
3626
+ # null when there are no remediation issues.
3627
+ # @return [Types::RemediationIssuesView]
3628
+ #
3629
+ # @!attribute [rw] evaluated_at
3630
+ # The time when the synchronization status was last evaluated.
3631
+ # @return [Time]
3632
+ #
3633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ResourceSynchronizationStatusSummary AWS API Documentation
3634
+ #
3635
+ class ResourceSynchronizationStatusSummary < Struct.new(
3636
+ :synchronization_status,
3637
+ :account_id,
3638
+ :resource_arn,
3639
+ :deployment_arn,
3640
+ :resource_type,
3641
+ :updated_at,
3642
+ :out_of_sync_reasons,
3643
+ :remediation_issues,
3644
+ :evaluated_at)
3645
+ SENSITIVE = []
3646
+ include Aws::Structure
3647
+ end
3648
+
3649
+ # A reference to a rule in a create or update request.
3650
+ #
3651
+ # @!attribute [rw] rule_identifier
3652
+ # The identifier of the rule. This is the rule's Amazon Resource Name
3653
+ # (ARN).
3654
+ # @return [String]
3655
+ #
3656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/RuleReference AWS API Documentation
3657
+ #
3658
+ class RuleReference < Struct.new(
3659
+ :rule_identifier)
3660
+ SENSITIVE = []
3661
+ include Aws::Structure
3662
+ end
3663
+
3664
+ # Summary information about a rule.
3665
+ #
3666
+ # @!attribute [rw] rule_id
3667
+ # The service-generated id of the rule.
3668
+ # @return [String]
3669
+ #
3670
+ # @!attribute [rw] rule_arn
3671
+ # The Amazon Resource Name (ARN) of the rule.
3672
+ # @return [String]
3673
+ #
3674
+ # @!attribute [rw] rule_name
3675
+ # The name of the rule.
3676
+ # @return [String]
3677
+ #
3678
+ # @!attribute [rw] firewall_type
3679
+ # The firewall type associated with the resource.
3680
+ # @return [String]
3681
+ #
3682
+ # @!attribute [rw] rule_type
3683
+ # The type of the rule. `CONFIGURATION` rules contain firewall
3684
+ # settings, and `INSPECTION` rules contain rule groups.
3685
+ # @return [String]
3686
+ #
3687
+ # @!attribute [rw] status
3688
+ # The current status of the resource: `DRAFT` (unpublished, editable)
3689
+ # or `ACTIVE` (published, in use).
3690
+ # @return [String]
3691
+ #
3692
+ # @!attribute [rw] version
3693
+ # The version of the resource.
3694
+ # @return [String]
3695
+ #
3696
+ # @!attribute [rw] has_published_version
3697
+ # Specifies whether a published version of the resource exists.
3698
+ # @return [Boolean]
3699
+ #
3700
+ # @!attribute [rw] updated_at
3701
+ # The time when the resource was last updated. For a snapshot, this is
3702
+ # the time when the snapshot was created.
3703
+ # @return [Time]
3704
+ #
3705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/RuleSummary AWS API Documentation
3706
+ #
3707
+ class RuleSummary < Struct.new(
3708
+ :rule_id,
3709
+ :rule_arn,
3710
+ :rule_name,
3711
+ :firewall_type,
3712
+ :rule_type,
3713
+ :status,
3714
+ :version,
3715
+ :has_published_version,
3716
+ :updated_at)
3717
+ SENSITIVE = []
3718
+ include Aws::Structure
3719
+ end
3720
+
3721
+ # Defines which accounts and resources are in scope.
3722
+ #
3723
+ # @!attribute [rw] account_filter
3724
+ # The account filter that determines which accounts are in scope. When
3725
+ # set, exactly one of `includeAll`, `include`, or `exclude` is set.
3726
+ #
3727
+ # Organization administrators must include an account filter in every
3728
+ # scope configuration. Single-account administrators must omit it: a
3729
+ # scope without an account filter applies only to the administrator's
3730
+ # own account. The presence of an account filter is fixed when the
3731
+ # scope is created: an update can't add an account filter to a scope
3732
+ # that was created without one, or remove the account filter from a
3733
+ # scope that was created with one.
3734
+ # @return [Types::AccountFilter]
3735
+ #
3736
+ # @!attribute [rw] resource_scopes
3737
+ # The resource-level scoping configuration, keyed by resource type,
3738
+ # that defines which resources within the selected accounts are in
3739
+ # scope.
3740
+ # @return [Hash<String,Types::ResourceScope>]
3741
+ #
3742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ScopeConfiguration AWS API Documentation
3743
+ #
3744
+ class ScopeConfiguration < Struct.new(
3745
+ :account_filter,
3746
+ :resource_scopes)
3747
+ SENSITIVE = []
3748
+ include Aws::Structure
3749
+ end
3750
+
3751
+ # A reference to a scope in a create or update request.
3752
+ #
3753
+ # @!attribute [rw] scope_identifier
3754
+ # The identifier of the scope. This is the scope's Amazon Resource
3755
+ # Name (ARN).
3756
+ # @return [String]
3757
+ #
3758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ScopeReference AWS API Documentation
3759
+ #
3760
+ class ScopeReference < Struct.new(
3761
+ :scope_identifier)
3762
+ SENSITIVE = []
3763
+ include Aws::Structure
3764
+ end
3765
+
3766
+ # Summary information about a scope.
3767
+ #
3768
+ # @!attribute [rw] scope_id
3769
+ # The service-generated id of the scope.
3770
+ # @return [String]
3771
+ #
3772
+ # @!attribute [rw] scope_arn
3773
+ # The Amazon Resource Name (ARN) of the scope.
3774
+ # @return [String]
3775
+ #
3776
+ # @!attribute [rw] scope_name
3777
+ # The name of the scope.
3778
+ # @return [String]
3779
+ #
3780
+ # @!attribute [rw] status
3781
+ # The current status of the resource: `DRAFT` (unpublished, editable),
3782
+ # `ACTIVE` (published, in use), or `DISABLED` (deactivated; changes
3783
+ # cannot be published until the resource is re-enabled).
3784
+ # @return [String]
3785
+ #
3786
+ # @!attribute [rw] version
3787
+ # The version of the resource.
3788
+ # @return [String]
3789
+ #
3790
+ # @!attribute [rw] has_published_version
3791
+ # Specifies whether a published version of the resource exists.
3792
+ # @return [Boolean]
3793
+ #
3794
+ # @!attribute [rw] updated_at
3795
+ # The time when the resource was last updated. For a snapshot, this is
3796
+ # the time when the snapshot was created.
3797
+ # @return [Time]
3798
+ #
3799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ScopeSummary AWS API Documentation
3800
+ #
3801
+ class ScopeSummary < Struct.new(
3802
+ :scope_id,
3803
+ :scope_arn,
3804
+ :scope_name,
3805
+ :status,
3806
+ :version,
3807
+ :has_published_version,
3808
+ :updated_at)
3809
+ SENSITIVE = []
3810
+ include Aws::Structure
3811
+ end
3812
+
3813
+ # The request would exceed a service quota.
3814
+ #
3815
+ # @!attribute [rw] message
3816
+ # @return [String]
3817
+ #
3818
+ # @!attribute [rw] quota_code
3819
+ # The code that identifies the service quota that was exceeded.
3820
+ # @return [String]
3821
+ #
3822
+ # @!attribute [rw] service_code
3823
+ # The code for the AWS service that owns the quota that was exceeded.
3824
+ # @return [String]
3825
+ #
3826
+ # @!attribute [rw] resource_id
3827
+ # The ID of the resource associated with the quota that was exceeded.
3828
+ # @return [String]
3829
+ #
3830
+ # @!attribute [rw] resource_type
3831
+ # The type of the resource associated with the quota that was
3832
+ # exceeded.
3833
+ # @return [String]
3834
+ #
3835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ServiceQuotaExceededException AWS API Documentation
3836
+ #
3837
+ class ServiceQuotaExceededException < Struct.new(
3838
+ :message,
3839
+ :quota_code,
3840
+ :service_code,
3841
+ :resource_id,
3842
+ :resource_type)
3843
+ SENSITIVE = []
3844
+ include Aws::Structure
3845
+ end
3846
+
3847
+ # The service is temporarily unavailable. This is a retryable error.
3848
+ #
3849
+ # @!attribute [rw] message
3850
+ # @return [String]
3851
+ #
3852
+ # @!attribute [rw] retry_after_seconds
3853
+ # The number of seconds to wait before retrying the request.
3854
+ # @return [Integer]
3855
+ #
3856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ServiceUnavailableException AWS API Documentation
3857
+ #
3858
+ class ServiceUnavailableException < Struct.new(
3859
+ :message,
3860
+ :retry_after_seconds)
3861
+ SENSITIVE = []
3862
+ include Aws::Structure
3863
+ end
3864
+
3865
+ # The request violates a tag policy that is in effect for the account or
3866
+ # organization.
3867
+ #
3868
+ # @!attribute [rw] message
3869
+ # @return [String]
3870
+ #
3871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/TagPolicyViolationException AWS API Documentation
3872
+ #
3873
+ class TagPolicyViolationException < Struct.new(
3874
+ :message)
3875
+ SENSITIVE = []
3876
+ include Aws::Structure
3877
+ end
3878
+
3879
+ # @!attribute [rw] resource_arn
3880
+ # The ARN of the resource to tag. The ARN must not include a `:DRAFT`
3881
+ # qualifier.
3882
+ # @return [String]
3883
+ #
3884
+ # @!attribute [rw] tags
3885
+ # The tags to add to the resource.
3886
+ # @return [Hash<String,String>]
3887
+ #
3888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/TagResourceInput AWS API Documentation
3889
+ #
3890
+ class TagResourceInput < Struct.new(
3891
+ :resource_arn,
3892
+ :tags)
3893
+ SENSITIVE = []
3894
+ include Aws::Structure
3895
+ end
3896
+
3897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/TagResourceOutput AWS API Documentation
3898
+ #
3899
+ class TagResourceOutput < Aws::EmptyStructure; end
3900
+
3901
+ # A reference to either a template or a rule in a create or update
3902
+ # request. Set exactly one of `templateIdentifier` or `ruleIdentifier`.
3903
+ #
3904
+ # @note TemplateOrRuleReference is a union - when making an API calls you must set exactly one of the members.
3905
+ #
3906
+ # @!attribute [rw] template_identifier
3907
+ # The identifier of the template. This is the template's Amazon
3908
+ # Resource Name (ARN).
3909
+ # @return [String]
3910
+ #
3911
+ # @!attribute [rw] rule_identifier
3912
+ # The identifier of the rule. This is the rule's Amazon Resource Name
3913
+ # (ARN).
3914
+ # @return [String]
3915
+ #
3916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/TemplateOrRuleReference AWS API Documentation
3917
+ #
3918
+ class TemplateOrRuleReference < Struct.new(
3919
+ :template_identifier,
3920
+ :rule_identifier,
3921
+ :unknown)
3922
+ SENSITIVE = []
3923
+ include Aws::Structure
3924
+ include Aws::Structure::Union
3925
+
3926
+ class TemplateIdentifier < TemplateOrRuleReference; end
3927
+ class RuleIdentifier < TemplateOrRuleReference; end
3928
+ class Unknown < TemplateOrRuleReference; end
3929
+ end
3930
+
3931
+ # Summary information about a template.
3932
+ #
3933
+ # @!attribute [rw] template_id
3934
+ # The service-generated id of the template.
3935
+ # @return [String]
3936
+ #
3937
+ # @!attribute [rw] template_arn
3938
+ # The Amazon Resource Name (ARN) of the template.
3939
+ # @return [String]
3940
+ #
3941
+ # @!attribute [rw] template_name
3942
+ # The name of the template.
3943
+ # @return [String]
3944
+ #
3945
+ # @!attribute [rw] status
3946
+ # The current status of the resource: `DRAFT` (unpublished, editable)
3947
+ # or `ACTIVE` (published, in use).
3948
+ # @return [String]
3949
+ #
3950
+ # @!attribute [rw] version
3951
+ # The version of the resource.
3952
+ # @return [String]
3953
+ #
3954
+ # @!attribute [rw] has_published_version
3955
+ # Specifies whether a published version of the resource exists.
3956
+ # @return [Boolean]
3957
+ #
3958
+ # @!attribute [rw] firewall_type
3959
+ # The firewall type associated with the resource.
3960
+ # @return [String]
3961
+ #
3962
+ # @!attribute [rw] updated_at
3963
+ # The time when the resource was last updated. For a snapshot, this is
3964
+ # the time when the snapshot was created.
3965
+ # @return [Time]
3966
+ #
3967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/TemplateSummary AWS API Documentation
3968
+ #
3969
+ class TemplateSummary < Struct.new(
3970
+ :template_id,
3971
+ :template_arn,
3972
+ :template_name,
3973
+ :status,
3974
+ :version,
3975
+ :has_published_version,
3976
+ :firewall_type,
3977
+ :updated_at)
3978
+ SENSITIVE = []
3979
+ include Aws::Structure
3980
+ end
3981
+
3982
+ # The request was denied because of request throttling. Reduce your
3983
+ # request rate and try again.
3984
+ #
3985
+ # @!attribute [rw] message
3986
+ # @return [String]
3987
+ #
3988
+ # @!attribute [rw] retry_after_seconds
3989
+ # The number of seconds to wait before retrying the request.
3990
+ # @return [Integer]
3991
+ #
3992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ThrottlingException AWS API Documentation
3993
+ #
3994
+ class ThrottlingException < Struct.new(
3995
+ :message,
3996
+ :retry_after_seconds)
3997
+ SENSITIVE = []
3998
+ include Aws::Structure
3999
+ end
4000
+
4001
+ # @api private
4002
+ #
4003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/Unit AWS API Documentation
4004
+ #
4005
+ class Unit < Aws::EmptyStructure; end
4006
+
4007
+ # @!attribute [rw] resource_arn
4008
+ # The ARN of the resource to remove tags from. The ARN must not
4009
+ # include a `:DRAFT` qualifier.
4010
+ # @return [String]
4011
+ #
4012
+ # @!attribute [rw] tag_keys
4013
+ # The keys of the tags to remove from the resource.
4014
+ # @return [Array<String>]
4015
+ #
4016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UntagResourceInput AWS API Documentation
4017
+ #
4018
+ class UntagResourceInput < Struct.new(
4019
+ :resource_arn,
4020
+ :tag_keys)
4021
+ SENSITIVE = []
4022
+ include Aws::Structure
4023
+ end
4024
+
4025
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UntagResourceOutput AWS API Documentation
4026
+ #
4027
+ class UntagResourceOutput < Aws::EmptyStructure; end
4028
+
4029
+ # @!attribute [rw] deployment_identifier
4030
+ # The identifier of the deployment. This is the deployment's Amazon
4031
+ # Resource Name (ARN).
4032
+ # @return [String]
4033
+ #
4034
+ # @!attribute [rw] update_token
4035
+ # A token used for optimistic concurrency control. Each read and write
4036
+ # returns an `updateToken`. Provide the most recent value on your next
4037
+ # update to detect and prevent conflicting concurrent modifications.
4038
+ # @return [String]
4039
+ #
4040
+ # @!attribute [rw] deployment_description
4041
+ # A description of the deployment.
4042
+ # @return [String]
4043
+ #
4044
+ # @!attribute [rw] deployment_configuration
4045
+ # The configuration settings for the deployment.
4046
+ # @return [Types::DeploymentConfiguration]
4047
+ #
4048
+ # @!attribute [rw] associated_policy_list
4049
+ # The policies associated with the deployment.
4050
+ # @return [Array<Types::PolicyReference>]
4051
+ #
4052
+ # @!attribute [rw] associated_scope_list
4053
+ # The scope associated with the deployment. A deployment has exactly
4054
+ # one scope.
4055
+ # @return [Array<Types::ScopeReference>]
4056
+ #
4057
+ # @!attribute [rw] is_published
4058
+ # Specifies whether to publish the resource. When `true`, the resource
4059
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
4060
+ # a draft (`DRAFT`).
4061
+ # @return [Boolean]
4062
+ #
4063
+ # @!attribute [rw] client_token
4064
+ # A unique, case-sensitive token that you provide to ensure that the
4065
+ # operation completes no more than one time. If you retry a request
4066
+ # with the same client token and the same parameters, the service
4067
+ # returns the result of the original successful request.
4068
+ #
4069
+ # **A suitable default value is auto-generated.** You should normally
4070
+ # not need to pass this option.
4071
+ # @return [String]
4072
+ #
4073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateDeploymentInput AWS API Documentation
4074
+ #
4075
+ class UpdateDeploymentInput < Struct.new(
4076
+ :deployment_identifier,
4077
+ :update_token,
4078
+ :deployment_description,
4079
+ :deployment_configuration,
4080
+ :associated_policy_list,
4081
+ :associated_scope_list,
4082
+ :is_published,
4083
+ :client_token)
4084
+ SENSITIVE = []
4085
+ include Aws::Structure
4086
+ end
4087
+
4088
+ # @!attribute [rw] deployment_id
4089
+ # The service-generated id of the deployment.
4090
+ # @return [String]
4091
+ #
4092
+ # @!attribute [rw] deployment_arn
4093
+ # The Amazon Resource Name (ARN) of the deployment.
4094
+ # @return [String]
4095
+ #
4096
+ # @!attribute [rw] deployment_name
4097
+ # The name of the deployment.
4098
+ # @return [String]
4099
+ #
4100
+ # @!attribute [rw] deployment_description
4101
+ # A description of the deployment.
4102
+ # @return [String]
4103
+ #
4104
+ # @!attribute [rw] status
4105
+ # The current status of the resource: `DRAFT` (unpublished, editable)
4106
+ # or `ACTIVE` (published, in use).
4107
+ # @return [String]
4108
+ #
4109
+ # @!attribute [rw] deployment_configuration
4110
+ # The configuration settings for the deployment.
4111
+ # @return [Types::DeploymentConfiguration]
4112
+ #
4113
+ # @!attribute [rw] associated_policy_list
4114
+ # The policies associated with the deployment.
4115
+ # @return [Array<Types::AssociatedPolicy>]
4116
+ #
4117
+ # @!attribute [rw] associated_scope_list
4118
+ # The scope associated with the deployment. A deployment has exactly
4119
+ # one scope.
4120
+ # @return [Array<Types::AssociatedScope>]
4121
+ #
4122
+ # @!attribute [rw] version
4123
+ # The version of the resource.
4124
+ # @return [String]
4125
+ #
4126
+ # @!attribute [rw] update_token
4127
+ # A token used for optimistic concurrency control. Each read and write
4128
+ # returns an `updateToken`. Provide the most recent value on your next
4129
+ # update to detect and prevent conflicting concurrent modifications.
4130
+ # @return [String]
4131
+ #
4132
+ # @!attribute [rw] is_snapshot
4133
+ # Specifies whether the resource is a snapshot of a published version.
4134
+ # @return [Boolean]
4135
+ #
4136
+ # @!attribute [rw] has_published_version
4137
+ # Specifies whether a published version of the resource exists.
4138
+ # @return [Boolean]
4139
+ #
4140
+ # @!attribute [rw] deployment_coverage
4141
+ # The coverage information for the deployment. For each firewall type,
4142
+ # it shows which policies have that firewall type and which in-scope
4143
+ # resource types the firewall type protects.
4144
+ # @return [Array<Types::DeploymentCoverageEntry>]
4145
+ #
4146
+ # @!attribute [rw] warnings
4147
+ # Warnings about potential issues, such as a policy that has no
4148
+ # applicable resources in the deployment's scope.
4149
+ # @return [Array<Types::DeploymentWarningEntry>]
4150
+ #
4151
+ # @!attribute [rw] updated_at
4152
+ # The time when the resource was last updated.
4153
+ # @return [Time]
4154
+ #
4155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateDeploymentOutput AWS API Documentation
4156
+ #
4157
+ class UpdateDeploymentOutput < Struct.new(
4158
+ :deployment_id,
4159
+ :deployment_arn,
4160
+ :deployment_name,
4161
+ :deployment_description,
4162
+ :status,
4163
+ :deployment_configuration,
4164
+ :associated_policy_list,
4165
+ :associated_scope_list,
4166
+ :version,
4167
+ :update_token,
4168
+ :is_snapshot,
4169
+ :has_published_version,
4170
+ :deployment_coverage,
4171
+ :warnings,
4172
+ :updated_at)
4173
+ SENSITIVE = []
4174
+ include Aws::Structure
4175
+ end
4176
+
4177
+ # @!attribute [rw] policy_identifier
4178
+ # The identifier of the policy. This is the policy's Amazon Resource
4179
+ # Name (ARN).
4180
+ # @return [String]
4181
+ #
4182
+ # @!attribute [rw] update_token
4183
+ # A token used for optimistic concurrency control. Each read and write
4184
+ # returns an `updateToken`. Provide the most recent value on your next
4185
+ # update to detect and prevent conflicting concurrent modifications.
4186
+ # @return [String]
4187
+ #
4188
+ # @!attribute [rw] policy_description
4189
+ # A description of the policy.
4190
+ # @return [String]
4191
+ #
4192
+ # @!attribute [rw] priority
4193
+ # The priority of the resource. A lower number indicates a higher
4194
+ # priority.
4195
+ # @return [Integer]
4196
+ #
4197
+ # @!attribute [rw] associated_template_and_rule_list
4198
+ # The templates and rules to associate with the policy. For AWS WAF
4199
+ # policies, specify 1 to 100 templates or rules, of which at most 2
4200
+ # can be templates. For AWS Shield Advanced policies, this list must
4201
+ # be empty.
4202
+ # @return [Array<Types::TemplateOrRuleReference>]
4203
+ #
4204
+ # @!attribute [rw] policy_configuration
4205
+ # The configuration settings that control the policy's behavior,
4206
+ # including remediation and firewall-type-specific settings.
4207
+ # @return [Types::PolicyConfiguration]
4208
+ #
4209
+ # @!attribute [rw] is_published
4210
+ # Specifies whether to publish the resource. When `true`, the resource
4211
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
4212
+ # a draft (`DRAFT`).
4213
+ # @return [Boolean]
4214
+ #
4215
+ # @!attribute [rw] client_token
4216
+ # A unique, case-sensitive token that you provide to ensure that the
4217
+ # operation completes no more than one time. If you retry a request
4218
+ # with the same client token and the same parameters, the service
4219
+ # returns the result of the original successful request.
4220
+ #
4221
+ # **A suitable default value is auto-generated.** You should normally
4222
+ # not need to pass this option.
4223
+ # @return [String]
4224
+ #
4225
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdatePolicyInput AWS API Documentation
4226
+ #
4227
+ class UpdatePolicyInput < Struct.new(
4228
+ :policy_identifier,
4229
+ :update_token,
4230
+ :policy_description,
4231
+ :priority,
4232
+ :associated_template_and_rule_list,
4233
+ :policy_configuration,
4234
+ :is_published,
4235
+ :client_token)
4236
+ SENSITIVE = []
4237
+ include Aws::Structure
4238
+ end
4239
+
4240
+ # @!attribute [rw] policy_id
4241
+ # The service-generated id of the policy.
4242
+ # @return [String]
4243
+ #
4244
+ # @!attribute [rw] policy_arn
4245
+ # The Amazon Resource Name (ARN) of the policy.
4246
+ # @return [String]
4247
+ #
4248
+ # @!attribute [rw] policy_name
4249
+ # The name of the policy.
4250
+ # @return [String]
4251
+ #
4252
+ # @!attribute [rw] policy_description
4253
+ # A description of the policy.
4254
+ # @return [String]
4255
+ #
4256
+ # @!attribute [rw] status
4257
+ # The current status of the resource: `DRAFT` (unpublished, editable)
4258
+ # or `ACTIVE` (published, in use).
4259
+ # @return [String]
4260
+ #
4261
+ # @!attribute [rw] priority
4262
+ # The priority of the resource. A lower number indicates a higher
4263
+ # priority.
4264
+ # @return [Integer]
4265
+ #
4266
+ # @!attribute [rw] associated_template_and_rule_list
4267
+ # The templates and rules associated with the policy. For AWS WAF
4268
+ # policies, this list contains 1 to 100 templates or rules, of which
4269
+ # at most 2 can be templates. For AWS Shield Advanced policies, this
4270
+ # list is empty.
4271
+ # @return [Array<Types::AssociatedTemplateOrRule>]
4272
+ #
4273
+ # @!attribute [rw] version
4274
+ # The version of the resource.
4275
+ # @return [String]
4276
+ #
4277
+ # @!attribute [rw] update_token
4278
+ # A token used for optimistic concurrency control. Each read and write
4279
+ # returns an `updateToken`. Provide the most recent value on your next
4280
+ # update to detect and prevent conflicting concurrent modifications.
4281
+ # @return [String]
4282
+ #
4283
+ # @!attribute [rw] is_snapshot
4284
+ # Specifies whether the resource is a snapshot of a published version.
4285
+ # @return [Boolean]
4286
+ #
4287
+ # @!attribute [rw] has_published_version
4288
+ # Specifies whether a published version of the resource exists.
4289
+ # @return [Boolean]
4290
+ #
4291
+ # @!attribute [rw] firewall_type
4292
+ # The firewall type associated with the resource.
4293
+ # @return [String]
4294
+ #
4295
+ # @!attribute [rw] policy_configuration
4296
+ # The configuration settings that control the policy's behavior,
4297
+ # including remediation and firewall-type-specific settings.
4298
+ # @return [Types::PolicyConfiguration]
4299
+ #
4300
+ # @!attribute [rw] updated_at
4301
+ # The time when the resource was last updated.
4302
+ # @return [Time]
4303
+ #
4304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdatePolicyOutput AWS API Documentation
4305
+ #
4306
+ class UpdatePolicyOutput < Struct.new(
4307
+ :policy_id,
4308
+ :policy_arn,
4309
+ :policy_name,
4310
+ :policy_description,
4311
+ :status,
4312
+ :priority,
4313
+ :associated_template_and_rule_list,
4314
+ :version,
4315
+ :update_token,
4316
+ :is_snapshot,
4317
+ :has_published_version,
4318
+ :firewall_type,
4319
+ :policy_configuration,
4320
+ :updated_at)
4321
+ SENSITIVE = []
4322
+ include Aws::Structure
4323
+ end
4324
+
4325
+ # @!attribute [rw] rule_identifier
4326
+ # The identifier of the rule. This is the rule's Amazon Resource Name
4327
+ # (ARN).
4328
+ # @return [String]
4329
+ #
4330
+ # @!attribute [rw] update_token
4331
+ # A token used for optimistic concurrency control. Each read and write
4332
+ # returns an `updateToken`. Provide the most recent value on your next
4333
+ # update to detect and prevent conflicting concurrent modifications.
4334
+ # @return [String]
4335
+ #
4336
+ # @!attribute [rw] rule_type
4337
+ # The type of the rule. `CONFIGURATION` rules contain firewall
4338
+ # settings, and `INSPECTION` rules contain rule groups.
4339
+ # @return [String]
4340
+ #
4341
+ # @!attribute [rw] rule_description
4342
+ # A description of the rule.
4343
+ # @return [String]
4344
+ #
4345
+ # @!attribute [rw] configuration
4346
+ # The firewall configuration for the rule, as a JSON document. The
4347
+ # structure depends on the rule's firewall type and rule type. For an
4348
+ # AWS WAF `INSPECTION` rule, provide an AWS WAF rule group. For an AWS
4349
+ # WAF `CONFIGURATION` rule, provide a single web ACL setting, such as
4350
+ # `DefaultAction` or `VisibilityConfig`; use `wafConfigDataType` to
4351
+ # declare which setting the document contains. For the schema of each
4352
+ # setting and complete examples, see [Writing rule configurations][1]
4353
+ # in the *AWS Network Security Manager Developer Guide*.
4354
+ #
4355
+ #
4356
+ #
4357
+ # [1]: https://docs.aws.amazon.com/network-security-manager/latest/devguide/what-is.html
4358
+ # @return [Hash,Array,String,Numeric,Boolean]
4359
+ #
4360
+ # @!attribute [rw] is_published
4361
+ # Specifies whether to publish the resource. When `true`, the resource
4362
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
4363
+ # a draft (`DRAFT`).
4364
+ # @return [Boolean]
4365
+ #
4366
+ # @!attribute [rw] client_token
4367
+ # A unique, case-sensitive token that you provide to ensure that the
4368
+ # operation completes no more than one time. If you retry a request
4369
+ # with the same client token and the same parameters, the service
4370
+ # returns the result of the original successful request.
4371
+ #
4372
+ # **A suitable default value is auto-generated.** You should normally
4373
+ # not need to pass this option.
4374
+ # @return [String]
4375
+ #
4376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateRuleInput AWS API Documentation
4377
+ #
4378
+ class UpdateRuleInput < Struct.new(
4379
+ :rule_identifier,
4380
+ :update_token,
4381
+ :rule_type,
4382
+ :rule_description,
4383
+ :configuration,
4384
+ :is_published,
4385
+ :client_token)
4386
+ SENSITIVE = []
4387
+ include Aws::Structure
4388
+ end
4389
+
4390
+ # @!attribute [rw] rule_id
4391
+ # The service-generated id of the rule.
4392
+ # @return [String]
4393
+ #
4394
+ # @!attribute [rw] rule_arn
4395
+ # The Amazon Resource Name (ARN) of the rule.
4396
+ # @return [String]
4397
+ #
4398
+ # @!attribute [rw] rule_name
4399
+ # The name of the rule.
4400
+ # @return [String]
4401
+ #
4402
+ # @!attribute [rw] firewall_type
4403
+ # The firewall type associated with the resource.
4404
+ # @return [String]
4405
+ #
4406
+ # @!attribute [rw] rule_type
4407
+ # The type of the rule. `CONFIGURATION` rules contain firewall
4408
+ # settings, and `INSPECTION` rules contain rule groups.
4409
+ # @return [String]
4410
+ #
4411
+ # @!attribute [rw] rule_description
4412
+ # A description of the rule.
4413
+ # @return [String]
4414
+ #
4415
+ # @!attribute [rw] configuration
4416
+ # The firewall configuration for the rule, as a JSON document. The
4417
+ # structure depends on the rule's firewall type and rule type.
4418
+ # @return [Hash,Array,String,Numeric,Boolean]
4419
+ #
4420
+ # @!attribute [rw] status
4421
+ # The current status of the resource: `DRAFT` (unpublished, editable)
4422
+ # or `ACTIVE` (published, in use).
4423
+ # @return [String]
4424
+ #
4425
+ # @!attribute [rw] version
4426
+ # The version of the resource.
4427
+ # @return [String]
4428
+ #
4429
+ # @!attribute [rw] update_token
4430
+ # A token used for optimistic concurrency control. Each read and write
4431
+ # returns an `updateToken`. Provide the most recent value on your next
4432
+ # update to detect and prevent conflicting concurrent modifications.
4433
+ # @return [String]
4434
+ #
4435
+ # @!attribute [rw] is_snapshot
4436
+ # Specifies whether the resource is a snapshot of a published version.
4437
+ # @return [Boolean]
4438
+ #
4439
+ # @!attribute [rw] has_published_version
4440
+ # Specifies whether a published version of the resource exists.
4441
+ # @return [Boolean]
4442
+ #
4443
+ # @!attribute [rw] updated_at
4444
+ # The time when the resource was last updated.
4445
+ # @return [Time]
4446
+ #
4447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateRuleOutput AWS API Documentation
4448
+ #
4449
+ class UpdateRuleOutput < Struct.new(
4450
+ :rule_id,
4451
+ :rule_arn,
4452
+ :rule_name,
4453
+ :firewall_type,
4454
+ :rule_type,
4455
+ :rule_description,
4456
+ :configuration,
4457
+ :status,
4458
+ :version,
4459
+ :update_token,
4460
+ :is_snapshot,
4461
+ :has_published_version,
4462
+ :updated_at)
4463
+ SENSITIVE = []
4464
+ include Aws::Structure
4465
+ end
4466
+
4467
+ # @!attribute [rw] scope_identifier
4468
+ # The identifier of the scope. This is the scope's Amazon Resource
4469
+ # Name (ARN).
4470
+ # @return [String]
4471
+ #
4472
+ # @!attribute [rw] update_token
4473
+ # A token used for optimistic concurrency control. Each read and write
4474
+ # returns an `updateToken`. Provide the most recent value on your next
4475
+ # update to detect and prevent conflicting concurrent modifications.
4476
+ # @return [String]
4477
+ #
4478
+ # @!attribute [rw] scope_description
4479
+ # A description of the scope.
4480
+ # @return [String]
4481
+ #
4482
+ # @!attribute [rw] scope_configuration
4483
+ # The configuration that defines which accounts and resources are in
4484
+ # scope. If you don't include this member, the scope keeps its
4485
+ # existing configuration.
4486
+ #
4487
+ # A new configuration can change which accounts and resources are
4488
+ # selected, but it can't add or remove the account filter itself: a
4489
+ # scope created for multi-account use stays multi-account, and a scope
4490
+ # created for single-account use stays single-account.
4491
+ # @return [Types::ScopeConfiguration]
4492
+ #
4493
+ # @!attribute [rw] is_published
4494
+ # Specifies whether to publish the resource. When `true`, the resource
4495
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
4496
+ # a draft (`DRAFT`).
4497
+ # @return [Boolean]
4498
+ #
4499
+ # @!attribute [rw] client_token
4500
+ # A unique, case-sensitive token that you provide to ensure that the
4501
+ # operation completes no more than one time. If you retry a request
4502
+ # with the same client token and the same parameters, the service
4503
+ # returns the result of the original successful request.
4504
+ #
4505
+ # **A suitable default value is auto-generated.** You should normally
4506
+ # not need to pass this option.
4507
+ # @return [String]
4508
+ #
4509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateScopeInput AWS API Documentation
4510
+ #
4511
+ class UpdateScopeInput < Struct.new(
4512
+ :scope_identifier,
4513
+ :update_token,
4514
+ :scope_description,
4515
+ :scope_configuration,
4516
+ :is_published,
4517
+ :client_token)
4518
+ SENSITIVE = []
4519
+ include Aws::Structure
4520
+ end
4521
+
4522
+ # @!attribute [rw] scope_id
4523
+ # The service-generated id of the scope.
4524
+ # @return [String]
4525
+ #
4526
+ # @!attribute [rw] scope_arn
4527
+ # The Amazon Resource Name (ARN) of the scope.
4528
+ # @return [String]
4529
+ #
4530
+ # @!attribute [rw] scope_name
4531
+ # The name of the scope.
4532
+ # @return [String]
4533
+ #
4534
+ # @!attribute [rw] scope_description
4535
+ # A description of the scope.
4536
+ # @return [String]
4537
+ #
4538
+ # @!attribute [rw] scope_configuration
4539
+ # The configuration that defines which accounts and resources are in
4540
+ # scope.
4541
+ # @return [Types::ScopeConfiguration]
4542
+ #
4543
+ # @!attribute [rw] status
4544
+ # The current status of the resource: `DRAFT` (unpublished, editable)
4545
+ # or `ACTIVE` (published, in use).
4546
+ # @return [String]
4547
+ #
4548
+ # @!attribute [rw] version
4549
+ # The version of the resource.
4550
+ # @return [String]
4551
+ #
4552
+ # @!attribute [rw] update_token
4553
+ # A token used for optimistic concurrency control. Each read and write
4554
+ # returns an `updateToken`. Provide the most recent value on your next
4555
+ # update to detect and prevent conflicting concurrent modifications.
4556
+ # @return [String]
4557
+ #
4558
+ # @!attribute [rw] is_snapshot
4559
+ # Specifies whether the resource is a snapshot of a published version.
4560
+ # @return [Boolean]
4561
+ #
4562
+ # @!attribute [rw] has_published_version
4563
+ # Specifies whether a published version of the resource exists.
4564
+ # @return [Boolean]
4565
+ #
4566
+ # @!attribute [rw] updated_at
4567
+ # The time when the resource was last updated.
4568
+ # @return [Time]
4569
+ #
4570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateScopeOutput AWS API Documentation
4571
+ #
4572
+ class UpdateScopeOutput < Struct.new(
4573
+ :scope_id,
4574
+ :scope_arn,
4575
+ :scope_name,
4576
+ :scope_description,
4577
+ :scope_configuration,
4578
+ :status,
4579
+ :version,
4580
+ :update_token,
4581
+ :is_snapshot,
4582
+ :has_published_version,
4583
+ :updated_at)
4584
+ SENSITIVE = []
4585
+ include Aws::Structure
4586
+ end
4587
+
4588
+ # @!attribute [rw] template_identifier
4589
+ # The identifier of the template. This is the template's Amazon
4590
+ # Resource Name (ARN).
4591
+ # @return [String]
4592
+ #
4593
+ # @!attribute [rw] update_token
4594
+ # A token used for optimistic concurrency control. Each read and write
4595
+ # returns an `updateToken`. Provide the most recent value on your next
4596
+ # update to detect and prevent conflicting concurrent modifications.
4597
+ # @return [String]
4598
+ #
4599
+ # @!attribute [rw] template_description
4600
+ # A description of the template.
4601
+ # @return [String]
4602
+ #
4603
+ # @!attribute [rw] associated_rule_list
4604
+ # The rules associated with the template.
4605
+ # @return [Array<Types::RuleReference>]
4606
+ #
4607
+ # @!attribute [rw] is_published
4608
+ # Specifies whether to publish the resource. When `true`, the resource
4609
+ # is saved in published (`ACTIVE`) state. When `false`, it is saved as
4610
+ # a draft (`DRAFT`).
4611
+ # @return [Boolean]
4612
+ #
4613
+ # @!attribute [rw] client_token
4614
+ # A unique, case-sensitive token that you provide to ensure that the
4615
+ # operation completes no more than one time. If you retry a request
4616
+ # with the same client token and the same parameters, the service
4617
+ # returns the result of the original successful request.
4618
+ #
4619
+ # **A suitable default value is auto-generated.** You should normally
4620
+ # not need to pass this option.
4621
+ # @return [String]
4622
+ #
4623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateTemplateInput AWS API Documentation
4624
+ #
4625
+ class UpdateTemplateInput < Struct.new(
4626
+ :template_identifier,
4627
+ :update_token,
4628
+ :template_description,
4629
+ :associated_rule_list,
4630
+ :is_published,
4631
+ :client_token)
4632
+ SENSITIVE = []
4633
+ include Aws::Structure
4634
+ end
4635
+
4636
+ # @!attribute [rw] template_id
4637
+ # The service-generated id of the template.
4638
+ # @return [String]
4639
+ #
4640
+ # @!attribute [rw] template_arn
4641
+ # The Amazon Resource Name (ARN) of the template.
4642
+ # @return [String]
4643
+ #
4644
+ # @!attribute [rw] template_name
4645
+ # The name of the template.
4646
+ # @return [String]
4647
+ #
4648
+ # @!attribute [rw] template_description
4649
+ # A description of the template.
4650
+ # @return [String]
4651
+ #
4652
+ # @!attribute [rw] status
4653
+ # The current status of the resource: `DRAFT` (unpublished, editable)
4654
+ # or `ACTIVE` (published, in use).
4655
+ # @return [String]
4656
+ #
4657
+ # @!attribute [rw] version
4658
+ # The version of the resource.
4659
+ # @return [String]
4660
+ #
4661
+ # @!attribute [rw] associated_rule_list
4662
+ # The rules associated with the template.
4663
+ # @return [Array<Types::AssociatedRule>]
4664
+ #
4665
+ # @!attribute [rw] update_token
4666
+ # A token used for optimistic concurrency control. Each read and write
4667
+ # returns an `updateToken`. Provide the most recent value on your next
4668
+ # update to detect and prevent conflicting concurrent modifications.
4669
+ # @return [String]
4670
+ #
4671
+ # @!attribute [rw] is_snapshot
4672
+ # Specifies whether the resource is a snapshot of a published version.
4673
+ # @return [Boolean]
4674
+ #
4675
+ # @!attribute [rw] has_published_version
4676
+ # Specifies whether a published version of the resource exists.
4677
+ # @return [Boolean]
4678
+ #
4679
+ # @!attribute [rw] firewall_type
4680
+ # The firewall type associated with the resource.
4681
+ # @return [String]
4682
+ #
4683
+ # @!attribute [rw] updated_at
4684
+ # The time when the resource was last updated.
4685
+ # @return [Time]
4686
+ #
4687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/UpdateTemplateOutput AWS API Documentation
4688
+ #
4689
+ class UpdateTemplateOutput < Struct.new(
4690
+ :template_id,
4691
+ :template_arn,
4692
+ :template_name,
4693
+ :template_description,
4694
+ :status,
4695
+ :version,
4696
+ :associated_rule_list,
4697
+ :update_token,
4698
+ :is_snapshot,
4699
+ :has_published_version,
4700
+ :firewall_type,
4701
+ :updated_at)
4702
+ SENSITIVE = []
4703
+ include Aws::Structure
4704
+ end
4705
+
4706
+ # The request failed validation. For details, see the `reason` and
4707
+ # `fieldList` members of the response.
4708
+ #
4709
+ # @!attribute [rw] message
4710
+ # @return [String]
4711
+ #
4712
+ # @!attribute [rw] reason
4713
+ # The reason that the request failed validation.
4714
+ # @return [String]
4715
+ #
4716
+ # @!attribute [rw] field_list
4717
+ # The list of request fields that failed validation, if any.
4718
+ # @return [Array<Types::ValidationExceptionField>]
4719
+ #
4720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ValidationException AWS API Documentation
4721
+ #
4722
+ class ValidationException < Struct.new(
4723
+ :message,
4724
+ :reason,
4725
+ :field_list)
4726
+ SENSITIVE = []
4727
+ include Aws::Structure
4728
+ end
4729
+
4730
+ # Describes a single request field that failed validation.
4731
+ #
4732
+ # @!attribute [rw] name
4733
+ # The name of the field that failed validation.
4734
+ # @return [String]
4735
+ #
4736
+ # @!attribute [rw] message
4737
+ # A message describing the validation error for the field.
4738
+ # @return [String]
4739
+ #
4740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/ValidationExceptionField AWS API Documentation
4741
+ #
4742
+ class ValidationExceptionField < Struct.new(
4743
+ :name,
4744
+ :message)
4745
+ SENSITIVE = []
4746
+ include Aws::Structure
4747
+ end
4748
+
4749
+ # AWS WAF-specific policy configuration settings.
4750
+ #
4751
+ # @!attribute [rw] existing_customer_web_acl_resolution
4752
+ # Determines how AWS Network Security Manager handles remediation when
4753
+ # a resource already has a customer-created web ACL. Required for AWS
4754
+ # WAF policies.
4755
+ # @return [String]
4756
+ #
4757
+ # @!attribute [rw] conflict_resolution
4758
+ # The conflict-resolution strategy for AWS WAF policies. Required for
4759
+ # AWS WAF policies.
4760
+ # @return [String]
4761
+ #
4762
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-security-manager-2025-10-30/WafConfig AWS API Documentation
4763
+ #
4764
+ class WafConfig < Struct.new(
4765
+ :existing_customer_web_acl_resolution,
4766
+ :conflict_resolution)
4767
+ SENSITIVE = []
4768
+ include Aws::Structure
4769
+ end
4770
+
4771
+ end
4772
+ end
4773
+