google-apis-networksecurity_v1beta1 0.64.0 → 0.66.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.
@@ -278,6 +278,15 @@ module Google
278
278
  # @return [String]
279
279
  attr_accessor :name
280
280
 
281
+ # Optional. A list of authorization network rules to match against the incoming
282
+ # request. A policy match occurs when at least one network rule matches the
283
+ # request. At least one network rule is required for Allow or Deny Action if no
284
+ # HTTP rules are provided. Network rules are mutually exclusive with HTTP rules.
285
+ # Limited to 5 rules.
286
+ # Corresponds to the JSON property `networkRules`
287
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRule>]
288
+ attr_accessor :network_rules
289
+
281
290
  # Optional. Immutable. Defines the type of authorization being performed. If not
282
291
  # specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once
283
292
  # AuthzPolicy is created.
@@ -308,6 +317,7 @@ module Google
308
317
  @http_rules = args[:http_rules] if args.key?(:http_rules)
309
318
  @labels = args[:labels] if args.key?(:labels)
310
319
  @name = args[:name] if args.key?(:name)
320
+ @network_rules = args[:network_rules] if args.key?(:network_rules)
311
321
  @policy_profile = args[:policy_profile] if args.key?(:policy_profile)
312
322
  @target = args[:target] if args.key?(:target)
313
323
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -674,6 +684,15 @@ module Google
674
684
  # @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
675
685
  attr_accessor :paths
676
686
 
687
+ # Optional. A list of SNIs to match against. The match can be one of exact,
688
+ # prefix, suffix, or contains (substring match). If there is no SNI (i.e.
689
+ # plaintext HTTP traffic), the request will be denied. Matches are always case
690
+ # sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization
691
+ # Policy.
692
+ # Corresponds to the JSON property `snis`
693
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
694
+ attr_accessor :snis
695
+
677
696
  def initialize(**args)
678
697
  update!(**args)
679
698
  end
@@ -685,6 +704,7 @@ module Google
685
704
  @mcp = args[:mcp] if args.key?(:mcp)
686
705
  @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
687
706
  @paths = args[:paths] if args.key?(:paths)
707
+ @snis = args[:snis] if args.key?(:snis)
688
708
  end
689
709
  end
690
710
 
@@ -1316,10 +1336,11 @@ module Google
1316
1336
  class FirewallEndpoint
1317
1337
  include Google::Apis::Core::Hashable
1318
1338
 
1319
- # Output only. List of networks that are associated with this endpoint in the
1320
- # local zone. This is a projection of the FirewallEndpointAssociations pointing
1321
- # at this endpoint. A network will only appear in this list after traffic
1322
- # routing is fully configured. Format: projects/`project`/global/networks/`name`.
1339
+ # Output only. Deprecated: List of networks that are associated with this
1340
+ # endpoint in the local zone. This is a projection of the
1341
+ # FirewallEndpointAssociations pointing at this endpoint. A network will only
1342
+ # appear in this list after traffic routing is fully configured. Format:
1343
+ # projects/`project`/global/networks/`name`.
1323
1344
  # Corresponds to the JSON property `associatedNetworks`
1324
1345
  # @return [Array<String>]
1325
1346
  attr_accessor :associated_networks
@@ -1392,6 +1413,11 @@ module Google
1392
1413
  # @return [String]
1393
1414
  attr_accessor :update_time
1394
1415
 
1416
+ # Settings for WildFire analysis.
1417
+ # Corresponds to the JSON property `wildfireSettings`
1418
+ # @return [Google::Apis::NetworksecurityV1beta1::FirewallEndpointWildfireSettings]
1419
+ attr_accessor :wildfire_settings
1420
+
1395
1421
  def initialize(**args)
1396
1422
  update!(**args)
1397
1423
  end
@@ -1411,6 +1437,7 @@ module Google
1411
1437
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1412
1438
  @state = args[:state] if args.key?(:state)
1413
1439
  @update_time = args[:update_time] if args.key?(:update_time)
1440
+ @wildfire_settings = args[:wildfire_settings] if args.key?(:wildfire_settings)
1414
1441
  end
1415
1442
  end
1416
1443
 
@@ -1523,6 +1550,20 @@ module Google
1523
1550
  class FirewallEndpointEndpointSettings
1524
1551
  include Google::Apis::Core::Hashable
1525
1552
 
1553
+ # Optional. The content cloud region of the endpoint.
1554
+ # Corresponds to the JSON property `contentCloudRegion`
1555
+ # @return [String]
1556
+ attr_accessor :content_cloud_region
1557
+
1558
+ # Optional. Whether to block HTTP partial responses for the endpoint. When this
1559
+ # is true, resumption of blocked malicious HTTP file downloads will be blocked
1560
+ # by the firewall. False provides maximum availability, true provides maximum
1561
+ # security.
1562
+ # Corresponds to the JSON property `httpPartialResponseBlocked`
1563
+ # @return [Boolean]
1564
+ attr_accessor :http_partial_response_blocked
1565
+ alias_method :http_partial_response_blocked?, :http_partial_response_blocked
1566
+
1526
1567
  # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value
1527
1568
  # is false.
1528
1569
  # Corresponds to the JSON property `jumboFramesEnabled`
@@ -1536,10 +1577,99 @@ module Google
1536
1577
 
1537
1578
  # Update properties of this object
1538
1579
  def update!(**args)
1580
+ @content_cloud_region = args[:content_cloud_region] if args.key?(:content_cloud_region)
1581
+ @http_partial_response_blocked = args[:http_partial_response_blocked] if args.key?(:http_partial_response_blocked)
1539
1582
  @jumbo_frames_enabled = args[:jumbo_frames_enabled] if args.key?(:jumbo_frames_enabled)
1540
1583
  end
1541
1584
  end
1542
1585
 
1586
+ # Settings for WildFire analysis.
1587
+ class FirewallEndpointWildfireSettings
1588
+ include Google::Apis::Core::Hashable
1589
+
1590
+ # Optional. Indicates whether WildFire analysis is enabled. Default value is
1591
+ # false.
1592
+ # Corresponds to the JSON property `enabled`
1593
+ # @return [Boolean]
1594
+ attr_accessor :enabled
1595
+ alias_method :enabled?, :enabled
1596
+
1597
+ # Settings for WildFire inline cloud analysis.
1598
+ # Corresponds to the JSON property `wildfireInlineCloudAnalysisSettings`
1599
+ # @return [Google::Apis::NetworksecurityV1beta1::FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings]
1600
+ attr_accessor :wildfire_inline_cloud_analysis_settings
1601
+
1602
+ # Optional. Duration in milliseconds on a file being held while the WildFire
1603
+ # real time signature cloud performs a signature lookup. Value between 1 to 5000
1604
+ # is valid. Default value is 1000.
1605
+ # Corresponds to the JSON property `wildfireRealtimeLookupDuration`
1606
+ # @return [String]
1607
+ attr_accessor :wildfire_realtime_lookup_duration
1608
+
1609
+ # Optional. Action to take on WildFire real time signature lookup timeout.
1610
+ # Default value is ALLOW.
1611
+ # Corresponds to the JSON property `wildfireRealtimeLookupTimeoutAction`
1612
+ # @return [String]
1613
+ attr_accessor :wildfire_realtime_lookup_timeout_action
1614
+
1615
+ # Optional. The region where WildFire analysis will be performed. PAN supports
1616
+ # regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/
1617
+ # advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-
1618
+ # global-cloud
1619
+ # Corresponds to the JSON property `wildfireRegion`
1620
+ # @return [String]
1621
+ attr_accessor :wildfire_region
1622
+
1623
+ def initialize(**args)
1624
+ update!(**args)
1625
+ end
1626
+
1627
+ # Update properties of this object
1628
+ def update!(**args)
1629
+ @enabled = args[:enabled] if args.key?(:enabled)
1630
+ @wildfire_inline_cloud_analysis_settings = args[:wildfire_inline_cloud_analysis_settings] if args.key?(:wildfire_inline_cloud_analysis_settings)
1631
+ @wildfire_realtime_lookup_duration = args[:wildfire_realtime_lookup_duration] if args.key?(:wildfire_realtime_lookup_duration)
1632
+ @wildfire_realtime_lookup_timeout_action = args[:wildfire_realtime_lookup_timeout_action] if args.key?(:wildfire_realtime_lookup_timeout_action)
1633
+ @wildfire_region = args[:wildfire_region] if args.key?(:wildfire_region)
1634
+ end
1635
+ end
1636
+
1637
+ # Settings for WildFire inline cloud analysis.
1638
+ class FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings
1639
+ include Google::Apis::Core::Hashable
1640
+
1641
+ # Optional. Timeout in milliseconds on a file being held while WildFire inline
1642
+ # cloud analysis is performed. Value between 1 to 240000 is valid. Default value
1643
+ # is 30000.
1644
+ # Corresponds to the JSON property `maxAnalysisDuration`
1645
+ # @return [String]
1646
+ attr_accessor :max_analysis_duration
1647
+
1648
+ # Optional. Whether to disable WildFire submission log generation for files that
1649
+ # timeout during WildFire inline cloud analysis.
1650
+ # Corresponds to the JSON property `submissionTimeoutLoggingDisabled`
1651
+ # @return [Boolean]
1652
+ attr_accessor :submission_timeout_logging_disabled
1653
+ alias_method :submission_timeout_logging_disabled?, :submission_timeout_logging_disabled
1654
+
1655
+ # Optional. Action to take when WildFire inline cloud analysis times out.
1656
+ # Default value is ALLOW.
1657
+ # Corresponds to the JSON property `timeoutAction`
1658
+ # @return [String]
1659
+ attr_accessor :timeout_action
1660
+
1661
+ def initialize(**args)
1662
+ update!(**args)
1663
+ end
1664
+
1665
+ # Update properties of this object
1666
+ def update!(**args)
1667
+ @max_analysis_duration = args[:max_analysis_duration] if args.key?(:max_analysis_duration)
1668
+ @submission_timeout_logging_disabled = args[:submission_timeout_logging_disabled] if args.key?(:submission_timeout_logging_disabled)
1669
+ @timeout_action = args[:timeout_action] if args.key?(:timeout_action)
1670
+ end
1671
+ end
1672
+
1543
1673
  # The GatewaySecurityPolicy resource contains a collection of
1544
1674
  # GatewaySecurityPolicyRules and associated metadata.
1545
1675
  class GatewaySecurityPolicy
@@ -3189,7 +3319,8 @@ module Google
3189
3319
  # @return [String]
3190
3320
  attr_accessor :next_page_token
3191
3321
 
3192
- # Locations that could not be reached.
3322
+ # Unordered list. Locations that could not be reached. See https://google.aip.
3323
+ # dev/217 for more details.
3193
3324
  # Corresponds to the JSON property `unreachable`
3194
3325
  # @return [Array<String>]
3195
3326
  attr_accessor :unreachable
@@ -3511,6 +3642,37 @@ module Google
3511
3642
  end
3512
3643
  end
3513
3644
 
3645
+ # Message for response to listing WildfireVerdictChangeRequests.
3646
+ class ListWildfireVerdictChangeRequestsResponse
3647
+ include Google::Apis::Core::Hashable
3648
+
3649
+ # A token identifying a page of results the server should return.
3650
+ # Corresponds to the JSON property `nextPageToken`
3651
+ # @return [String]
3652
+ attr_accessor :next_page_token
3653
+
3654
+ # Unordered list. Locations that could not be reached.
3655
+ # Corresponds to the JSON property `unreachable`
3656
+ # @return [Array<String>]
3657
+ attr_accessor :unreachable
3658
+
3659
+ # The list of WildfireVerdictChangeRequests
3660
+ # Corresponds to the JSON property `wildfireVerdictChangeRequests`
3661
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireVerdictChangeRequest>]
3662
+ attr_accessor :wildfire_verdict_change_requests
3663
+
3664
+ def initialize(**args)
3665
+ update!(**args)
3666
+ end
3667
+
3668
+ # Update properties of this object
3669
+ def update!(**args)
3670
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3671
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
3672
+ @wildfire_verdict_change_requests = args[:wildfire_verdict_change_requests] if args.key?(:wildfire_verdict_change_requests)
3673
+ end
3674
+ end
3675
+
3514
3676
  # A resource that represents a Google Cloud location.
3515
3677
  class Location
3516
3678
  include Google::Apis::Core::Hashable
@@ -4614,6 +4776,11 @@ module Google
4614
4776
  # @return [Google::Apis::NetworksecurityV1beta1::UrlFilteringProfile]
4615
4777
  attr_accessor :url_filtering_profile
4616
4778
 
4779
+ # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.
4780
+ # Corresponds to the JSON property `wildfireAnalysisProfile`
4781
+ # @return [Google::Apis::NetworksecurityV1beta1::WildfireAnalysisProfile]
4782
+ attr_accessor :wildfire_analysis_profile
4783
+
4617
4784
  def initialize(**args)
4618
4785
  update!(**args)
4619
4786
  end
@@ -4631,6 +4798,7 @@ module Google
4631
4798
  @type = args[:type] if args.key?(:type)
4632
4799
  @update_time = args[:update_time] if args.key?(:update_time)
4633
4800
  @url_filtering_profile = args[:url_filtering_profile] if args.key?(:url_filtering_profile)
4801
+ @wildfire_analysis_profile = args[:wildfire_analysis_profile] if args.key?(:wildfire_analysis_profile)
4634
4802
  end
4635
4803
  end
4636
4804
 
@@ -4703,6 +4871,11 @@ module Google
4703
4871
  # @return [String]
4704
4872
  attr_accessor :url_filtering_profile
4705
4873
 
4874
+ # Optional. Reference to a SecurityProfile with the WildFire configuration.
4875
+ # Corresponds to the JSON property `wildfireAnalysisProfile`
4876
+ # @return [String]
4877
+ attr_accessor :wildfire_analysis_profile
4878
+
4706
4879
  def initialize(**args)
4707
4880
  update!(**args)
4708
4881
  end
@@ -4720,6 +4893,7 @@ module Google
4720
4893
  @threat_prevention_profile = args[:threat_prevention_profile] if args.key?(:threat_prevention_profile)
4721
4894
  @update_time = args[:update_time] if args.key?(:update_time)
4722
4895
  @url_filtering_profile = args[:url_filtering_profile] if args.key?(:url_filtering_profile)
4896
+ @wildfire_analysis_profile = args[:wildfire_analysis_profile] if args.key?(:wildfire_analysis_profile)
4723
4897
  end
4724
4898
  end
4725
4899
 
@@ -5200,6 +5374,439 @@ module Google
5200
5374
  @grpc_endpoint = args[:grpc_endpoint] if args.key?(:grpc_endpoint)
5201
5375
  end
5202
5376
  end
5377
+
5378
+ # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.
5379
+ class WildfireAnalysisProfile
5380
+ include Google::Apis::Core::Hashable
5381
+
5382
+ # Optional. Configuration for WildFire inline cloud analysis.
5383
+ # Corresponds to the JSON property `wildfireInlineCloudAnalysisRules`
5384
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireInlineCloudAnalysisRule>]
5385
+ attr_accessor :wildfire_inline_cloud_analysis_rules
5386
+
5387
+ # Optional. Configuration for overriding inline ML WildFire actions per protocol.
5388
+ # Corresponds to the JSON property `wildfireInlineMlOverrides`
5389
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireInlineMlOverride>]
5390
+ attr_accessor :wildfire_inline_ml_overrides
5391
+
5392
+ # Defines the settings for WildFire Inline ML analysis.
5393
+ # Corresponds to the JSON property `wildfireInlineMlSetting`
5394
+ # @return [Google::Apis::NetworksecurityV1beta1::WildfireInlineMlSettings]
5395
+ attr_accessor :wildfire_inline_ml_setting
5396
+
5397
+ # Optional. Settings for WildFire Inline ML analysis.
5398
+ # Corresponds to the JSON property `wildfireInlineMlSettings`
5399
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireInlineMlSettings>]
5400
+ attr_accessor :wildfire_inline_ml_settings
5401
+
5402
+ # Optional. Configuration for overriding WildFire actions per protocol.
5403
+ # Corresponds to the JSON property `wildfireOverrides`
5404
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireOverride>]
5405
+ attr_accessor :wildfire_overrides
5406
+
5407
+ # Optional. Whether to hold the transfer of a file while the WildFire real-time
5408
+ # signature cloud performs a signature lookup. Default value is false.
5409
+ # Corresponds to the JSON property `wildfireRealtimeLookup`
5410
+ # @return [Boolean]
5411
+ attr_accessor :wildfire_realtime_lookup
5412
+ alias_method :wildfire_realtime_lookup?, :wildfire_realtime_lookup
5413
+
5414
+ # Optional. Configurations for WildFire file submissions.
5415
+ # Corresponds to the JSON property `wildfireSubmissionRules`
5416
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireSubmissionRule>]
5417
+ attr_accessor :wildfire_submission_rules
5418
+
5419
+ # Optional. Configuration for overriding WildFire threats action by threat_id
5420
+ # match.
5421
+ # Corresponds to the JSON property `wildfireThreatOverrides`
5422
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireThreatOverride>]
5423
+ attr_accessor :wildfire_threat_overrides
5424
+
5425
+ def initialize(**args)
5426
+ update!(**args)
5427
+ end
5428
+
5429
+ # Update properties of this object
5430
+ def update!(**args)
5431
+ @wildfire_inline_cloud_analysis_rules = args[:wildfire_inline_cloud_analysis_rules] if args.key?(:wildfire_inline_cloud_analysis_rules)
5432
+ @wildfire_inline_ml_overrides = args[:wildfire_inline_ml_overrides] if args.key?(:wildfire_inline_ml_overrides)
5433
+ @wildfire_inline_ml_setting = args[:wildfire_inline_ml_setting] if args.key?(:wildfire_inline_ml_setting)
5434
+ @wildfire_inline_ml_settings = args[:wildfire_inline_ml_settings] if args.key?(:wildfire_inline_ml_settings)
5435
+ @wildfire_overrides = args[:wildfire_overrides] if args.key?(:wildfire_overrides)
5436
+ @wildfire_realtime_lookup = args[:wildfire_realtime_lookup] if args.key?(:wildfire_realtime_lookup)
5437
+ @wildfire_submission_rules = args[:wildfire_submission_rules] if args.key?(:wildfire_submission_rules)
5438
+ @wildfire_threat_overrides = args[:wildfire_threat_overrides] if args.key?(:wildfire_threat_overrides)
5439
+ end
5440
+ end
5441
+
5442
+ # The list of file type configurations to be scanned by WildFire Inline Cloud
5443
+ # Analysis.
5444
+ class WildfireInlineCloudAnalysisRule
5445
+ include Google::Apis::Core::Hashable
5446
+
5447
+ # Required. Action to take when a threat is detected using WildFire Inline Cloud
5448
+ # Analysis. The default Value is DENY.
5449
+ # Corresponds to the JSON property `action`
5450
+ # @return [String]
5451
+ attr_accessor :action
5452
+
5453
+ # The options to submit a custom list of file types for scan.
5454
+ # Corresponds to the JSON property `customFileTypes`
5455
+ # @return [Google::Apis::NetworksecurityV1beta1::WildfireInlineCloudAnalysisRuleCustomFileTypes]
5456
+ attr_accessor :custom_file_types
5457
+
5458
+ # Required. Direction for the file to be analyzed by WildFire Inline Cloud
5459
+ # Analysis.
5460
+ # Corresponds to the JSON property `direction`
5461
+ # @return [String]
5462
+ attr_accessor :direction
5463
+
5464
+ # Required. File selection mode for WildFire inline cloud analysis.
5465
+ # Corresponds to the JSON property `fileSelectionMode`
5466
+ # @return [String]
5467
+ attr_accessor :file_selection_mode
5468
+
5469
+ def initialize(**args)
5470
+ update!(**args)
5471
+ end
5472
+
5473
+ # Update properties of this object
5474
+ def update!(**args)
5475
+ @action = args[:action] if args.key?(:action)
5476
+ @custom_file_types = args[:custom_file_types] if args.key?(:custom_file_types)
5477
+ @direction = args[:direction] if args.key?(:direction)
5478
+ @file_selection_mode = args[:file_selection_mode] if args.key?(:file_selection_mode)
5479
+ end
5480
+ end
5481
+
5482
+ # The options to submit a custom list of file types for scan.
5483
+ class WildfireInlineCloudAnalysisRuleCustomFileTypes
5484
+ include Google::Apis::Core::Hashable
5485
+
5486
+ # Required. File types to be submitted for WildFire inline cloud analysis.
5487
+ # Corresponds to the JSON property `fileTypes`
5488
+ # @return [Array<String>]
5489
+ attr_accessor :file_types
5490
+
5491
+ def initialize(**args)
5492
+ update!(**args)
5493
+ end
5494
+
5495
+ # Update properties of this object
5496
+ def update!(**args)
5497
+ @file_types = args[:file_types] if args.key?(:file_types)
5498
+ end
5499
+ end
5500
+
5501
+ # Defines the file to exclude from WildFire Inline ML analysis.
5502
+ class WildfireInlineMlFileException
5503
+ include Google::Apis::Core::Hashable
5504
+
5505
+ # Optional. Name of the file to exclude from WildFire Inline ML analysis.
5506
+ # Corresponds to the JSON property `filename`
5507
+ # @return [String]
5508
+ attr_accessor :filename
5509
+
5510
+ # Required. Machine learning partial hash of the file to exclude from WildFire
5511
+ # Inline ML analysis.
5512
+ # Corresponds to the JSON property `partialHash`
5513
+ # @return [String]
5514
+ attr_accessor :partial_hash
5515
+
5516
+ def initialize(**args)
5517
+ update!(**args)
5518
+ end
5519
+
5520
+ # Update properties of this object
5521
+ def update!(**args)
5522
+ @filename = args[:filename] if args.key?(:filename)
5523
+ @partial_hash = args[:partial_hash] if args.key?(:partial_hash)
5524
+ end
5525
+ end
5526
+
5527
+ # Defines what action to take for WildFire Inline ML threats per protocol.
5528
+ class WildfireInlineMlOverride
5529
+ include Google::Apis::Core::Hashable
5530
+
5531
+ # Required. The action to take for WildFire Inline ML override.
5532
+ # Corresponds to the JSON property `action`
5533
+ # @return [String]
5534
+ attr_accessor :action
5535
+
5536
+ # Required. Protocol to match for WildFire Inline ML override.
5537
+ # Corresponds to the JSON property `protocol`
5538
+ # @return [String]
5539
+ attr_accessor :protocol
5540
+
5541
+ def initialize(**args)
5542
+ update!(**args)
5543
+ end
5544
+
5545
+ # Update properties of this object
5546
+ def update!(**args)
5547
+ @action = args[:action] if args.key?(:action)
5548
+ @protocol = args[:protocol] if args.key?(:protocol)
5549
+ end
5550
+ end
5551
+
5552
+ # Defines the settings for WildFire Inline ML analysis.
5553
+ class WildfireInlineMlSettings
5554
+ include Google::Apis::Core::Hashable
5555
+
5556
+ # Optional. List of files to exclude from WildFire Inline ML analysis.
5557
+ # Corresponds to the JSON property `fileExceptions`
5558
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireInlineMlFileException>]
5559
+ attr_accessor :file_exceptions
5560
+
5561
+ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis.
5562
+ # Corresponds to the JSON property `inlineMlConfigs`
5563
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::WildfireInlineMlSettingsInlineMlConfig>]
5564
+ attr_accessor :inline_ml_configs
5565
+
5566
+ def initialize(**args)
5567
+ update!(**args)
5568
+ end
5569
+
5570
+ # Update properties of this object
5571
+ def update!(**args)
5572
+ @file_exceptions = args[:file_exceptions] if args.key?(:file_exceptions)
5573
+ @inline_ml_configs = args[:inline_ml_configs] if args.key?(:inline_ml_configs)
5574
+ end
5575
+ end
5576
+
5577
+ # Configuration for WildFire Inline ML analysis per file type.
5578
+ class WildfireInlineMlSettingsInlineMlConfig
5579
+ include Google::Apis::Core::Hashable
5580
+
5581
+ # Required. Action to take when a threat is detected using Inline ML.
5582
+ # Corresponds to the JSON property `action`
5583
+ # @return [String]
5584
+ attr_accessor :action
5585
+
5586
+ # Required. File type to configure Inline ML for.
5587
+ # Corresponds to the JSON property `fileType`
5588
+ # @return [String]
5589
+ attr_accessor :file_type
5590
+
5591
+ def initialize(**args)
5592
+ update!(**args)
5593
+ end
5594
+
5595
+ # Update properties of this object
5596
+ def update!(**args)
5597
+ @action = args[:action] if args.key?(:action)
5598
+ @file_type = args[:file_type] if args.key?(:file_type)
5599
+ end
5600
+ end
5601
+
5602
+ # Defines what action to take for WildFire threats per protocol.
5603
+ class WildfireOverride
5604
+ include Google::Apis::Core::Hashable
5605
+
5606
+ # Required. Threat action override. For some threat types, only a subset of
5607
+ # actions applies.
5608
+ # Corresponds to the JSON property `action`
5609
+ # @return [String]
5610
+ attr_accessor :action
5611
+
5612
+ # Required. Protocol to match.
5613
+ # Corresponds to the JSON property `protocol`
5614
+ # @return [String]
5615
+ attr_accessor :protocol
5616
+
5617
+ def initialize(**args)
5618
+ update!(**args)
5619
+ end
5620
+
5621
+ # Update properties of this object
5622
+ def update!(**args)
5623
+ @action = args[:action] if args.key?(:action)
5624
+ @protocol = args[:protocol] if args.key?(:protocol)
5625
+ end
5626
+ end
5627
+
5628
+ # Defines the file types to be submitted for WildFire analysis and the direction
5629
+ # of the traffic.
5630
+ class WildfireSubmissionRule
5631
+ include Google::Apis::Core::Hashable
5632
+
5633
+ # The options to submit a custom list of file types for scan.
5634
+ # Corresponds to the JSON property `customFileTypes`
5635
+ # @return [Google::Apis::NetworksecurityV1beta1::WildfireSubmissionRuleCustomFileTypes]
5636
+ attr_accessor :custom_file_types
5637
+
5638
+ # Required. Direction for the files to be analyzed by WildFire.
5639
+ # Corresponds to the JSON property `direction`
5640
+ # @return [String]
5641
+ attr_accessor :direction
5642
+
5643
+ # Required. File selection mode for WildFire analysis.
5644
+ # Corresponds to the JSON property `fileSelectionMode`
5645
+ # @return [String]
5646
+ attr_accessor :file_selection_mode
5647
+
5648
+ def initialize(**args)
5649
+ update!(**args)
5650
+ end
5651
+
5652
+ # Update properties of this object
5653
+ def update!(**args)
5654
+ @custom_file_types = args[:custom_file_types] if args.key?(:custom_file_types)
5655
+ @direction = args[:direction] if args.key?(:direction)
5656
+ @file_selection_mode = args[:file_selection_mode] if args.key?(:file_selection_mode)
5657
+ end
5658
+ end
5659
+
5660
+ # The options to submit a custom list of file types for scan.
5661
+ class WildfireSubmissionRuleCustomFileTypes
5662
+ include Google::Apis::Core::Hashable
5663
+
5664
+ # Required. File types to be submitted for WildFire analysis.
5665
+ # Corresponds to the JSON property `fileTypes`
5666
+ # @return [Array<String>]
5667
+ attr_accessor :file_types
5668
+
5669
+ def initialize(**args)
5670
+ update!(**args)
5671
+ end
5672
+
5673
+ # Update properties of this object
5674
+ def update!(**args)
5675
+ @file_types = args[:file_types] if args.key?(:file_types)
5676
+ end
5677
+ end
5678
+
5679
+ # Defines what action to take for a specific WildFire threat_id match.
5680
+ class WildfireThreatOverride
5681
+ include Google::Apis::Core::Hashable
5682
+
5683
+ # Required. Threat action override.
5684
+ # Corresponds to the JSON property `action`
5685
+ # @return [String]
5686
+ attr_accessor :action
5687
+
5688
+ # Required. Threat ID to match.
5689
+ # Corresponds to the JSON property `threatId`
5690
+ # @return [String]
5691
+ attr_accessor :threat_id
5692
+
5693
+ def initialize(**args)
5694
+ update!(**args)
5695
+ end
5696
+
5697
+ # Update properties of this object
5698
+ def update!(**args)
5699
+ @action = args[:action] if args.key?(:action)
5700
+ @threat_id = args[:threat_id] if args.key?(:threat_id)
5701
+ end
5702
+ end
5703
+
5704
+ # Message for a WildfireVerdictChangeRequest.
5705
+ class WildfireVerdictChangeRequest
5706
+ include Google::Apis::Core::Hashable
5707
+
5708
+ # Required. The justification for the verdict change request. Max length 2048
5709
+ # characters.
5710
+ # Corresponds to the JSON property `comment`
5711
+ # @return [String]
5712
+ attr_accessor :comment
5713
+
5714
+ # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
5715
+ # Corresponds to the JSON property `createTime`
5716
+ # @return [String]
5717
+ attr_accessor :create_time
5718
+
5719
+ # Output only. The file name of the Malware Sample.
5720
+ # Corresponds to the JSON property `fileName`
5721
+ # @return [String]
5722
+ attr_accessor :file_name
5723
+
5724
+ # Output only. The file type of the Malware Sample.
5725
+ # Corresponds to the JSON property `fileType`
5726
+ # @return [String]
5727
+ attr_accessor :file_type
5728
+
5729
+ # Output only. The final verdict of the Malware Sample.
5730
+ # Corresponds to the JSON property `finalVerdict`
5731
+ # @return [String]
5732
+ attr_accessor :final_verdict
5733
+
5734
+ # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest.
5735
+ # Output only. This is a unique identifier generated by the third party API.
5736
+ # Format: organizations|projects/`project_or_organization`/locations/`location`/
5737
+ # firewallEndpoints/`firewall_endpoint`/wildfireVerdictChangeRequests/`
5738
+ # wildfire_verdict_change_request_id` Where `wildfire_verdict_change_request_id`
5739
+ # is the ID in the format: ^[0-9a-fA-F]`8`-[0-9a-fA-F]`4`-[0-9a-fA-F]`4`-[0-9a-
5740
+ # fA-F]`4`-[0-9a-fA-F]`12`$
5741
+ # Corresponds to the JSON property `name`
5742
+ # @return [String]
5743
+ attr_accessor :name
5744
+
5745
+ # Required. The suggested verdict to apply to the Malware Sample.
5746
+ # Corresponds to the JSON property `newVerdict`
5747
+ # @return [String]
5748
+ attr_accessor :new_verdict
5749
+
5750
+ # Output only. The original verdict of the Malware Sample.
5751
+ # Corresponds to the JSON property `oldVerdict`
5752
+ # @return [String]
5753
+ attr_accessor :old_verdict
5754
+
5755
+ # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
5756
+ # Corresponds to the JSON property `resolutionTime`
5757
+ # @return [String]
5758
+ attr_accessor :resolution_time
5759
+
5760
+ # Required. The SHA256 hash of the Malware Sample to change the verdict of.
5761
+ # Corresponds to the JSON property `sha256`
5762
+ # @return [String]
5763
+ attr_accessor :sha256
5764
+
5765
+ # Output only. The region of the file associated with the Malware Sample.
5766
+ # Corresponds to the JSON property `sourceRegion`
5767
+ # @return [String]
5768
+ attr_accessor :source_region
5769
+
5770
+ # Output only. The review state of the WildfireVerdictChangeRequest.
5771
+ # Corresponds to the JSON property `state`
5772
+ # @return [String]
5773
+ attr_accessor :state
5774
+
5775
+ # Output only. The timestamp when the WildfireVerdictChangeRequest was last
5776
+ # updated.
5777
+ # Corresponds to the JSON property `updateTime`
5778
+ # @return [String]
5779
+ attr_accessor :update_time
5780
+
5781
+ # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique
5782
+ # identifier generated by the third party API. Format: ^[0-9a-fA-F]`8`-[0-9a-fA-
5783
+ # F]`4`-[0-9a-fA-F]`4`-[0-9a-fA-F]`4`-[0-9a-fA-F]`12`$
5784
+ # Corresponds to the JSON property `wildfireVerdictChangeRequestId`
5785
+ # @return [String]
5786
+ attr_accessor :wildfire_verdict_change_request_id
5787
+
5788
+ def initialize(**args)
5789
+ update!(**args)
5790
+ end
5791
+
5792
+ # Update properties of this object
5793
+ def update!(**args)
5794
+ @comment = args[:comment] if args.key?(:comment)
5795
+ @create_time = args[:create_time] if args.key?(:create_time)
5796
+ @file_name = args[:file_name] if args.key?(:file_name)
5797
+ @file_type = args[:file_type] if args.key?(:file_type)
5798
+ @final_verdict = args[:final_verdict] if args.key?(:final_verdict)
5799
+ @name = args[:name] if args.key?(:name)
5800
+ @new_verdict = args[:new_verdict] if args.key?(:new_verdict)
5801
+ @old_verdict = args[:old_verdict] if args.key?(:old_verdict)
5802
+ @resolution_time = args[:resolution_time] if args.key?(:resolution_time)
5803
+ @sha256 = args[:sha256] if args.key?(:sha256)
5804
+ @source_region = args[:source_region] if args.key?(:source_region)
5805
+ @state = args[:state] if args.key?(:state)
5806
+ @update_time = args[:update_time] if args.key?(:update_time)
5807
+ @wildfire_verdict_change_request_id = args[:wildfire_verdict_change_request_id] if args.key?(:wildfire_verdict_change_request_id)
5808
+ end
5809
+ end
5203
5810
  end
5204
5811
  end
5205
5812
  end