google-apis-networksecurity_v1 0.32.0 → 0.33.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.
@@ -131,6 +131,32 @@ module Google
131
131
  end
132
132
  end
133
133
 
134
+ # Defines what action to take for antivirus threats per protocol.
135
+ class AntivirusOverride
136
+ include Google::Apis::Core::Hashable
137
+
138
+ # Required. Threat action override. For some threat types, only a subset of
139
+ # actions applies.
140
+ # Corresponds to the JSON property `action`
141
+ # @return [String]
142
+ attr_accessor :action
143
+
144
+ # Required. Protocol to match.
145
+ # Corresponds to the JSON property `protocol`
146
+ # @return [String]
147
+ attr_accessor :protocol
148
+
149
+ def initialize(**args)
150
+ update!(**args)
151
+ end
152
+
153
+ # Update properties of this object
154
+ def update!(**args)
155
+ @action = args[:action] if args.key?(:action)
156
+ @protocol = args[:protocol] if args.key?(:protocol)
157
+ end
158
+ end
159
+
134
160
  # AuthorizationPolicy is a resource that specifies how a server should authorize
135
161
  # incoming connections. This resource in itself does not change the
136
162
  # configuration unless it's attached to a target https proxy or endpoint config
@@ -351,11 +377,13 @@ module Google
351
377
 
352
378
  # Optional. A list of identities derived from the client's certificate. This
353
379
  # field will not match on a request unless mutual TLS is enabled for the
354
- # Forwarding rule or Gateway. Each identity is a string whose value is matched
355
- # against the URI SAN, or DNS SAN or the subject field in the client's
356
- # certificate. The match can be exact, prefix, suffix or a substring match. One
357
- # of exact, prefix, suffix or contains must be specified. Limited to 5
358
- # principals.
380
+ # forwarding rule or Gateway. For Application Load Balancers, each identity is a
381
+ # string whose value is matched against the URI SAN, or DNS SAN, or SPIFFE ID,
382
+ # or the subject field in the client's certificate. For Cloud Service Mesh, each
383
+ # identity is a string whose value is matched against the URI SAN, or DNS SAN,
384
+ # or the subject field in the client's certificate. The match can be exact,
385
+ # prefix, suffix, or a substring match. One of exact, prefix, suffix, or
386
+ # contains must be specified. Limited to 5 principals.
359
387
  # Corresponds to the JSON property `principals`
360
388
  # @return [Array<Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch>]
361
389
  attr_accessor :principals
@@ -842,13 +870,14 @@ module Google
842
870
  end
843
871
  end
844
872
 
845
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
846
- # intercept traffic to a third-party firewall in a Firewall rule.
873
+ # CustomInterceptProfile defines in-band integration behavior (intercept). It is
874
+ # used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
847
875
  class CustomInterceptProfile
848
876
  include Google::Apis::Core::Hashable
849
877
 
850
- # Required. The InterceptEndpointGroup to which traffic associated with the SP
851
- # should be mirrored.
878
+ # Required. The target InterceptEndpointGroup. When a firewall rule with this
879
+ # security profile attached matches a packet, the packet will be intercepted to
880
+ # the location-local target in this group.
852
881
  # Corresponds to the JSON property `interceptEndpointGroup`
853
882
  # @return [String]
854
883
  attr_accessor :intercept_endpoint_group
@@ -863,13 +892,14 @@ module Google
863
892
  end
864
893
  end
865
894
 
866
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
867
- # s EndpointGroup
895
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
896
+ # It is used by mirroring rules with a MIRROR action.
868
897
  class CustomMirroringProfile
869
898
  include Google::Apis::Core::Hashable
870
899
 
871
- # Required. The MirroringEndpointGroup to which traffic associated with the SP
872
- # should be mirrored.
900
+ # Required. The target MirroringEndpointGroup. When a mirroring rule with this
901
+ # security profile attached matches a packet, a replica will be mirrored to the
902
+ # location-local target in this group.
873
903
  # Corresponds to the JSON property `mirroringEndpointGroup`
874
904
  # @return [String]
875
905
  attr_accessor :mirroring_endpoint_group
@@ -1046,6 +1076,18 @@ module Google
1046
1076
  attr_accessor :reconciling
1047
1077
  alias_method :reconciling?, :reconciling
1048
1078
 
1079
+ # Output only. [Output Only] Reserved for future use.
1080
+ # Corresponds to the JSON property `satisfiesPzi`
1081
+ # @return [Boolean]
1082
+ attr_accessor :satisfies_pzi
1083
+ alias_method :satisfies_pzi?, :satisfies_pzi
1084
+
1085
+ # Output only. [Output Only] Reserved for future use.
1086
+ # Corresponds to the JSON property `satisfiesPzs`
1087
+ # @return [Boolean]
1088
+ attr_accessor :satisfies_pzs
1089
+ alias_method :satisfies_pzs?, :satisfies_pzs
1090
+
1049
1091
  # Output only. Current state of the endpoint.
1050
1092
  # Corresponds to the JSON property `state`
1051
1093
  # @return [String]
@@ -1070,6 +1112,8 @@ module Google
1070
1112
  @labels = args[:labels] if args.key?(:labels)
1071
1113
  @name = args[:name] if args.key?(:name)
1072
1114
  @reconciling = args[:reconciling] if args.key?(:reconciling)
1115
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
1116
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1073
1117
  @state = args[:state] if args.key?(:state)
1074
1118
  @update_time = args[:update_time] if args.key?(:update_time)
1075
1119
  end
@@ -1823,6 +1867,11 @@ module Google
1823
1867
  # @return [String]
1824
1868
  attr_accessor :next_page_token
1825
1869
 
1870
+ # Locations that could not be reached.
1871
+ # Corresponds to the JSON property `unreachable`
1872
+ # @return [Array<String>]
1873
+ attr_accessor :unreachable
1874
+
1826
1875
  def initialize(**args)
1827
1876
  update!(**args)
1828
1877
  end
@@ -1831,6 +1880,7 @@ module Google
1831
1880
  def update!(**args)
1832
1881
  @address_groups = args[:address_groups] if args.key?(:address_groups)
1833
1882
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1883
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1834
1884
  end
1835
1885
  end
1836
1886
 
@@ -2072,6 +2122,120 @@ module Google
2072
2122
  end
2073
2123
  end
2074
2124
 
2125
+ # Response message for ListMirroringDeploymentGroups.
2126
+ class ListMirroringDeploymentGroupsResponse
2127
+ include Google::Apis::Core::Hashable
2128
+
2129
+ # The deployment groups from the specified parent.
2130
+ # Corresponds to the JSON property `mirroringDeploymentGroups`
2131
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringDeploymentGroup>]
2132
+ attr_accessor :mirroring_deployment_groups
2133
+
2134
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2135
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2136
+ # 158 for more details.
2137
+ # Corresponds to the JSON property `nextPageToken`
2138
+ # @return [String]
2139
+ attr_accessor :next_page_token
2140
+
2141
+ def initialize(**args)
2142
+ update!(**args)
2143
+ end
2144
+
2145
+ # Update properties of this object
2146
+ def update!(**args)
2147
+ @mirroring_deployment_groups = args[:mirroring_deployment_groups] if args.key?(:mirroring_deployment_groups)
2148
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2149
+ end
2150
+ end
2151
+
2152
+ # Response message for ListMirroringDeployments.
2153
+ class ListMirroringDeploymentsResponse
2154
+ include Google::Apis::Core::Hashable
2155
+
2156
+ # The deployments from the specified parent.
2157
+ # Corresponds to the JSON property `mirroringDeployments`
2158
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringDeployment>]
2159
+ attr_accessor :mirroring_deployments
2160
+
2161
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2162
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2163
+ # 158 for more details.
2164
+ # Corresponds to the JSON property `nextPageToken`
2165
+ # @return [String]
2166
+ attr_accessor :next_page_token
2167
+
2168
+ # Locations that could not be reached.
2169
+ # Corresponds to the JSON property `unreachable`
2170
+ # @return [Array<String>]
2171
+ attr_accessor :unreachable
2172
+
2173
+ def initialize(**args)
2174
+ update!(**args)
2175
+ end
2176
+
2177
+ # Update properties of this object
2178
+ def update!(**args)
2179
+ @mirroring_deployments = args[:mirroring_deployments] if args.key?(:mirroring_deployments)
2180
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2181
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2182
+ end
2183
+ end
2184
+
2185
+ # Response message for ListMirroringEndpointGroupAssociations.
2186
+ class ListMirroringEndpointGroupAssociationsResponse
2187
+ include Google::Apis::Core::Hashable
2188
+
2189
+ # The associations from the specified parent.
2190
+ # Corresponds to the JSON property `mirroringEndpointGroupAssociations`
2191
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringEndpointGroupAssociation>]
2192
+ attr_accessor :mirroring_endpoint_group_associations
2193
+
2194
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2195
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2196
+ # 158 for more details.
2197
+ # Corresponds to the JSON property `nextPageToken`
2198
+ # @return [String]
2199
+ attr_accessor :next_page_token
2200
+
2201
+ def initialize(**args)
2202
+ update!(**args)
2203
+ end
2204
+
2205
+ # Update properties of this object
2206
+ def update!(**args)
2207
+ @mirroring_endpoint_group_associations = args[:mirroring_endpoint_group_associations] if args.key?(:mirroring_endpoint_group_associations)
2208
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2209
+ end
2210
+ end
2211
+
2212
+ # Response message for ListMirroringEndpointGroups.
2213
+ class ListMirroringEndpointGroupsResponse
2214
+ include Google::Apis::Core::Hashable
2215
+
2216
+ # The endpoint groups from the specified parent.
2217
+ # Corresponds to the JSON property `mirroringEndpointGroups`
2218
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringEndpointGroup>]
2219
+ attr_accessor :mirroring_endpoint_groups
2220
+
2221
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2222
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2223
+ # 158 for more details.
2224
+ # Corresponds to the JSON property `nextPageToken`
2225
+ # @return [String]
2226
+ attr_accessor :next_page_token
2227
+
2228
+ def initialize(**args)
2229
+ update!(**args)
2230
+ end
2231
+
2232
+ # Update properties of this object
2233
+ def update!(**args)
2234
+ @mirroring_endpoint_groups = args[:mirroring_endpoint_groups] if args.key?(:mirroring_endpoint_groups)
2235
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2236
+ end
2237
+ end
2238
+
2075
2239
  # The response message for Operations.ListOperations.
2076
2240
  class ListOperationsResponse
2077
2241
  include Google::Apis::Core::Hashable
@@ -2330,6 +2494,457 @@ module Google
2330
2494
  end
2331
2495
  end
2332
2496
 
2497
+ # A deployment represents a zonal mirroring backend ready to accept GENEVE-
2498
+ # encapsulated replica traffic, e.g. a zonal instance group fronted by an
2499
+ # internal passthrough load balancer. Deployments are always part of a global
2500
+ # deployment group which represents a global mirroring service.
2501
+ class MirroringDeployment
2502
+ include Google::Apis::Core::Hashable
2503
+
2504
+ # Output only. The timestamp when the resource was created. See https://google.
2505
+ # aip.dev/148#timestamps.
2506
+ # Corresponds to the JSON property `createTime`
2507
+ # @return [String]
2508
+ attr_accessor :create_time
2509
+
2510
+ # Optional. User-provided description of the deployment. Used as additional
2511
+ # context for the deployment.
2512
+ # Corresponds to the JSON property `description`
2513
+ # @return [String]
2514
+ attr_accessor :description
2515
+
2516
+ # Required. Immutable. The regional forwarding rule that fronts the mirroring
2517
+ # collectors, for example: `projects/123456789/regions/us-central1/
2518
+ # forwardingRules/my-rule`. See https://google.aip.dev/124.
2519
+ # Corresponds to the JSON property `forwardingRule`
2520
+ # @return [String]
2521
+ attr_accessor :forwarding_rule
2522
+
2523
+ # Optional. Labels are key/value pairs that help to organize and filter
2524
+ # resources.
2525
+ # Corresponds to the JSON property `labels`
2526
+ # @return [Hash<String,String>]
2527
+ attr_accessor :labels
2528
+
2529
+ # Required. Immutable. The deployment group that this deployment is a part of,
2530
+ # for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-
2531
+ # dg`. See https://google.aip.dev/124.
2532
+ # Corresponds to the JSON property `mirroringDeploymentGroup`
2533
+ # @return [String]
2534
+ attr_accessor :mirroring_deployment_group
2535
+
2536
+ # Immutable. Identifier. The resource name of this deployment, for example: `
2537
+ # projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. See
2538
+ # https://google.aip.dev/122 for more details.
2539
+ # Corresponds to the JSON property `name`
2540
+ # @return [String]
2541
+ attr_accessor :name
2542
+
2543
+ # Output only. The current state of the resource does not match the user's
2544
+ # intended state, and the system is working to reconcile them. This part of the
2545
+ # normal operation (e.g. linking a new association to the parent group). See
2546
+ # https://google.aip.dev/128.
2547
+ # Corresponds to the JSON property `reconciling`
2548
+ # @return [Boolean]
2549
+ attr_accessor :reconciling
2550
+ alias_method :reconciling?, :reconciling
2551
+
2552
+ # Output only. The current state of the deployment. See https://google.aip.dev/
2553
+ # 216.
2554
+ # Corresponds to the JSON property `state`
2555
+ # @return [String]
2556
+ attr_accessor :state
2557
+
2558
+ # Output only. The timestamp when the resource was most recently updated. See
2559
+ # https://google.aip.dev/148#timestamps.
2560
+ # Corresponds to the JSON property `updateTime`
2561
+ # @return [String]
2562
+ attr_accessor :update_time
2563
+
2564
+ def initialize(**args)
2565
+ update!(**args)
2566
+ end
2567
+
2568
+ # Update properties of this object
2569
+ def update!(**args)
2570
+ @create_time = args[:create_time] if args.key?(:create_time)
2571
+ @description = args[:description] if args.key?(:description)
2572
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2573
+ @labels = args[:labels] if args.key?(:labels)
2574
+ @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
2575
+ @name = args[:name] if args.key?(:name)
2576
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
2577
+ @state = args[:state] if args.key?(:state)
2578
+ @update_time = args[:update_time] if args.key?(:update_time)
2579
+ end
2580
+ end
2581
+
2582
+ # A deployment group aggregates many zonal mirroring backends (deployments) into
2583
+ # a single global mirroring service. Consumers can connect this service using an
2584
+ # endpoint group.
2585
+ class MirroringDeploymentGroup
2586
+ include Google::Apis::Core::Hashable
2587
+
2588
+ # Output only. The list of endpoint groups that are connected to this resource.
2589
+ # Corresponds to the JSON property `connectedEndpointGroups`
2590
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringDeploymentGroupConnectedEndpointGroup>]
2591
+ attr_accessor :connected_endpoint_groups
2592
+
2593
+ # Output only. The timestamp when the resource was created. See https://google.
2594
+ # aip.dev/148#timestamps.
2595
+ # Corresponds to the JSON property `createTime`
2596
+ # @return [String]
2597
+ attr_accessor :create_time
2598
+
2599
+ # Optional. User-provided description of the deployment group. Used as
2600
+ # additional context for the deployment group.
2601
+ # Corresponds to the JSON property `description`
2602
+ # @return [String]
2603
+ attr_accessor :description
2604
+
2605
+ # Optional. Labels are key/value pairs that help to organize and filter
2606
+ # resources.
2607
+ # Corresponds to the JSON property `labels`
2608
+ # @return [Hash<String,String>]
2609
+ attr_accessor :labels
2610
+
2611
+ # Immutable. Identifier. The resource name of this deployment group, for example:
2612
+ # `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See
2613
+ # https://google.aip.dev/122 for more details.
2614
+ # Corresponds to the JSON property `name`
2615
+ # @return [String]
2616
+ attr_accessor :name
2617
+
2618
+ # Output only. The list of Mirroring Deployments that belong to this group.
2619
+ # Corresponds to the JSON property `nestedDeployments`
2620
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringDeploymentGroupDeployment>]
2621
+ attr_accessor :nested_deployments
2622
+
2623
+ # Required. Immutable. The network that will be used for all child deployments,
2624
+ # for example: `projects/`project`/global/networks/`network``. See https://
2625
+ # google.aip.dev/124.
2626
+ # Corresponds to the JSON property `network`
2627
+ # @return [String]
2628
+ attr_accessor :network
2629
+
2630
+ # Output only. The current state of the resource does not match the user's
2631
+ # intended state, and the system is working to reconcile them. This is part of
2632
+ # the normal operation (e.g. adding a new deployment to the group) See https://
2633
+ # google.aip.dev/128.
2634
+ # Corresponds to the JSON property `reconciling`
2635
+ # @return [Boolean]
2636
+ attr_accessor :reconciling
2637
+ alias_method :reconciling?, :reconciling
2638
+
2639
+ # Output only. The current state of the deployment group. See https://google.aip.
2640
+ # dev/216.
2641
+ # Corresponds to the JSON property `state`
2642
+ # @return [String]
2643
+ attr_accessor :state
2644
+
2645
+ # Output only. The timestamp when the resource was most recently updated. See
2646
+ # https://google.aip.dev/148#timestamps.
2647
+ # Corresponds to the JSON property `updateTime`
2648
+ # @return [String]
2649
+ attr_accessor :update_time
2650
+
2651
+ def initialize(**args)
2652
+ update!(**args)
2653
+ end
2654
+
2655
+ # Update properties of this object
2656
+ def update!(**args)
2657
+ @connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
2658
+ @create_time = args[:create_time] if args.key?(:create_time)
2659
+ @description = args[:description] if args.key?(:description)
2660
+ @labels = args[:labels] if args.key?(:labels)
2661
+ @name = args[:name] if args.key?(:name)
2662
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
2663
+ @network = args[:network] if args.key?(:network)
2664
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
2665
+ @state = args[:state] if args.key?(:state)
2666
+ @update_time = args[:update_time] if args.key?(:update_time)
2667
+ end
2668
+ end
2669
+
2670
+ # An endpoint group connected to this deployment group.
2671
+ class MirroringDeploymentGroupConnectedEndpointGroup
2672
+ include Google::Apis::Core::Hashable
2673
+
2674
+ # Output only. The connected endpoint group's resource name, for example: `
2675
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
2676
+ # /google.aip.dev/124.
2677
+ # Corresponds to the JSON property `name`
2678
+ # @return [String]
2679
+ attr_accessor :name
2680
+
2681
+ def initialize(**args)
2682
+ update!(**args)
2683
+ end
2684
+
2685
+ # Update properties of this object
2686
+ def update!(**args)
2687
+ @name = args[:name] if args.key?(:name)
2688
+ end
2689
+ end
2690
+
2691
+ # A deployment belonging to this deployment group.
2692
+ class MirroringDeploymentGroupDeployment
2693
+ include Google::Apis::Core::Hashable
2694
+
2695
+ # Output only. The name of the Mirroring Deployment, in the format: `projects/`
2696
+ # project`/locations/`location`/mirroringDeployments/`mirroring_deployment``.
2697
+ # Corresponds to the JSON property `name`
2698
+ # @return [String]
2699
+ attr_accessor :name
2700
+
2701
+ # Output only. Most recent known state of the deployment.
2702
+ # Corresponds to the JSON property `state`
2703
+ # @return [String]
2704
+ attr_accessor :state
2705
+
2706
+ def initialize(**args)
2707
+ update!(**args)
2708
+ end
2709
+
2710
+ # Update properties of this object
2711
+ def update!(**args)
2712
+ @name = args[:name] if args.key?(:name)
2713
+ @state = args[:state] if args.key?(:state)
2714
+ end
2715
+ end
2716
+
2717
+ # An endpoint group is a consumer frontend for a deployment group (backend). In
2718
+ # order to configure mirroring for a network, consumers must create: - An
2719
+ # association between their network and the endpoint group. - A security profile
2720
+ # that points to the endpoint group. - A mirroring rule that references the
2721
+ # security profile (group).
2722
+ class MirroringEndpointGroup
2723
+ include Google::Apis::Core::Hashable
2724
+
2725
+ # Output only. List of associations to this endpoint group.
2726
+ # Corresponds to the JSON property `associations`
2727
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringEndpointGroupAssociationDetails>]
2728
+ attr_accessor :associations
2729
+
2730
+ # Output only. The timestamp when the resource was created. See https://google.
2731
+ # aip.dev/148#timestamps.
2732
+ # Corresponds to the JSON property `createTime`
2733
+ # @return [String]
2734
+ attr_accessor :create_time
2735
+
2736
+ # Optional. User-provided description of the endpoint group. Used as additional
2737
+ # context for the endpoint group.
2738
+ # Corresponds to the JSON property `description`
2739
+ # @return [String]
2740
+ attr_accessor :description
2741
+
2742
+ # Optional. Labels are key/value pairs that help to organize and filter
2743
+ # resources.
2744
+ # Corresponds to the JSON property `labels`
2745
+ # @return [Hash<String,String>]
2746
+ attr_accessor :labels
2747
+
2748
+ # Immutable. The deployment group that this DIRECT endpoint group is connected
2749
+ # to, for example: `projects/123456789/locations/global/
2750
+ # mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/124.
2751
+ # Corresponds to the JSON property `mirroringDeploymentGroup`
2752
+ # @return [String]
2753
+ attr_accessor :mirroring_deployment_group
2754
+
2755
+ # Immutable. Identifier. The resource name of this endpoint group, for example: `
2756
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
2757
+ # /google.aip.dev/122 for more details.
2758
+ # Corresponds to the JSON property `name`
2759
+ # @return [String]
2760
+ attr_accessor :name
2761
+
2762
+ # Output only. The current state of the resource does not match the user's
2763
+ # intended state, and the system is working to reconcile them. This is part of
2764
+ # the normal operation (e.g. adding a new association to the group). See https://
2765
+ # google.aip.dev/128.
2766
+ # Corresponds to the JSON property `reconciling`
2767
+ # @return [Boolean]
2768
+ attr_accessor :reconciling
2769
+ alias_method :reconciling?, :reconciling
2770
+
2771
+ # Output only. The current state of the endpoint group. See https://google.aip.
2772
+ # dev/216.
2773
+ # Corresponds to the JSON property `state`
2774
+ # @return [String]
2775
+ attr_accessor :state
2776
+
2777
+ # Output only. The timestamp when the resource was most recently updated. See
2778
+ # https://google.aip.dev/148#timestamps.
2779
+ # Corresponds to the JSON property `updateTime`
2780
+ # @return [String]
2781
+ attr_accessor :update_time
2782
+
2783
+ def initialize(**args)
2784
+ update!(**args)
2785
+ end
2786
+
2787
+ # Update properties of this object
2788
+ def update!(**args)
2789
+ @associations = args[:associations] if args.key?(:associations)
2790
+ @create_time = args[:create_time] if args.key?(:create_time)
2791
+ @description = args[:description] if args.key?(:description)
2792
+ @labels = args[:labels] if args.key?(:labels)
2793
+ @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
2794
+ @name = args[:name] if args.key?(:name)
2795
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
2796
+ @state = args[:state] if args.key?(:state)
2797
+ @update_time = args[:update_time] if args.key?(:update_time)
2798
+ end
2799
+ end
2800
+
2801
+ # An endpoint group association represents a link between a network and an
2802
+ # endpoint group in the organization. Creating an association creates the
2803
+ # networking infrastructure linking the network to the endpoint group, but does
2804
+ # not enable mirroring by itself. To enable mirroring, the user must also create
2805
+ # a network firewall policy containing mirroring rules and associate it with the
2806
+ # network.
2807
+ class MirroringEndpointGroupAssociation
2808
+ include Google::Apis::Core::Hashable
2809
+
2810
+ # Output only. The timestamp when the resource was created. See https://google.
2811
+ # aip.dev/148#timestamps.
2812
+ # Corresponds to the JSON property `createTime`
2813
+ # @return [String]
2814
+ attr_accessor :create_time
2815
+
2816
+ # Optional. Labels are key/value pairs that help to organize and filter
2817
+ # resources.
2818
+ # Corresponds to the JSON property `labels`
2819
+ # @return [Hash<String,String>]
2820
+ attr_accessor :labels
2821
+
2822
+ # Output only. The list of locations where the association is present. This
2823
+ # information is retrieved from the linked endpoint group, and not configured as
2824
+ # part of the association itself.
2825
+ # Corresponds to the JSON property `locationsDetails`
2826
+ # @return [Array<Google::Apis::NetworksecurityV1::MirroringEndpointGroupAssociationLocationDetails>]
2827
+ attr_accessor :locations_details
2828
+
2829
+ # Immutable. The endpoint group that this association is connected to, for
2830
+ # example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`.
2831
+ # See https://google.aip.dev/124.
2832
+ # Corresponds to the JSON property `mirroringEndpointGroup`
2833
+ # @return [String]
2834
+ attr_accessor :mirroring_endpoint_group
2835
+
2836
+ # Immutable. Identifier. The resource name of this endpoint group association,
2837
+ # for example: `projects/123456789/locations/global/
2838
+ # mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.
2839
+ # dev/122 for more details.
2840
+ # Corresponds to the JSON property `name`
2841
+ # @return [String]
2842
+ attr_accessor :name
2843
+
2844
+ # Immutable. The VPC network that is associated. for example: `projects/
2845
+ # 123456789/global/networks/my-network`. See https://google.aip.dev/124.
2846
+ # Corresponds to the JSON property `network`
2847
+ # @return [String]
2848
+ attr_accessor :network
2849
+
2850
+ # Output only. The current state of the resource does not match the user's
2851
+ # intended state, and the system is working to reconcile them. This part of the
2852
+ # normal operation (e.g. adding a new location to the target deployment group).
2853
+ # See https://google.aip.dev/128.
2854
+ # Corresponds to the JSON property `reconciling`
2855
+ # @return [Boolean]
2856
+ attr_accessor :reconciling
2857
+ alias_method :reconciling?, :reconciling
2858
+
2859
+ # Output only. Current state of the endpoint group association.
2860
+ # Corresponds to the JSON property `state`
2861
+ # @return [String]
2862
+ attr_accessor :state
2863
+
2864
+ # Output only. The timestamp when the resource was most recently updated. See
2865
+ # https://google.aip.dev/148#timestamps.
2866
+ # Corresponds to the JSON property `updateTime`
2867
+ # @return [String]
2868
+ attr_accessor :update_time
2869
+
2870
+ def initialize(**args)
2871
+ update!(**args)
2872
+ end
2873
+
2874
+ # Update properties of this object
2875
+ def update!(**args)
2876
+ @create_time = args[:create_time] if args.key?(:create_time)
2877
+ @labels = args[:labels] if args.key?(:labels)
2878
+ @locations_details = args[:locations_details] if args.key?(:locations_details)
2879
+ @mirroring_endpoint_group = args[:mirroring_endpoint_group] if args.key?(:mirroring_endpoint_group)
2880
+ @name = args[:name] if args.key?(:name)
2881
+ @network = args[:network] if args.key?(:network)
2882
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
2883
+ @state = args[:state] if args.key?(:state)
2884
+ @update_time = args[:update_time] if args.key?(:update_time)
2885
+ end
2886
+ end
2887
+
2888
+ # The endpoint group's view of a connected association.
2889
+ class MirroringEndpointGroupAssociationDetails
2890
+ include Google::Apis::Core::Hashable
2891
+
2892
+ # Output only. The connected association's resource name, for example: `projects/
2893
+ # 123456789/locations/global/mirroringEndpointGroupAssociations/my-ega`. See
2894
+ # https://google.aip.dev/124.
2895
+ # Corresponds to the JSON property `name`
2896
+ # @return [String]
2897
+ attr_accessor :name
2898
+
2899
+ # Output only. The associated network, for example: projects/123456789/global/
2900
+ # networks/my-network. See https://google.aip.dev/124.
2901
+ # Corresponds to the JSON property `network`
2902
+ # @return [String]
2903
+ attr_accessor :network
2904
+
2905
+ # Output only. Most recent known state of the association.
2906
+ # Corresponds to the JSON property `state`
2907
+ # @return [String]
2908
+ attr_accessor :state
2909
+
2910
+ def initialize(**args)
2911
+ update!(**args)
2912
+ end
2913
+
2914
+ # Update properties of this object
2915
+ def update!(**args)
2916
+ @name = args[:name] if args.key?(:name)
2917
+ @network = args[:network] if args.key?(:network)
2918
+ @state = args[:state] if args.key?(:state)
2919
+ end
2920
+ end
2921
+
2922
+ # Contains details about the state of an association in a specific cloud
2923
+ # location.
2924
+ class MirroringEndpointGroupAssociationLocationDetails
2925
+ include Google::Apis::Core::Hashable
2926
+
2927
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
2928
+ # Corresponds to the JSON property `location`
2929
+ # @return [String]
2930
+ attr_accessor :location
2931
+
2932
+ # Output only. The current state of the association in this location.
2933
+ # Corresponds to the JSON property `state`
2934
+ # @return [String]
2935
+ attr_accessor :state
2936
+
2937
+ def initialize(**args)
2938
+ update!(**args)
2939
+ end
2940
+
2941
+ # Update properties of this object
2942
+ def update!(**args)
2943
+ @location = args[:location] if args.key?(:location)
2944
+ @state = args[:state] if args.key?(:state)
2945
+ end
2946
+ end
2947
+
2333
2948
  # This resource represents a long-running operation that is the result of a
2334
2949
  # network API call.
2335
2950
  class Operation
@@ -2527,14 +3142,14 @@ module Google
2527
3142
  # @return [String]
2528
3143
  attr_accessor :create_time
2529
3144
 
2530
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
2531
- # intercept traffic to a third-party firewall in a Firewall rule.
3145
+ # CustomInterceptProfile defines in-band integration behavior (intercept). It is
3146
+ # used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
2532
3147
  # Corresponds to the JSON property `customInterceptProfile`
2533
3148
  # @return [Google::Apis::NetworksecurityV1::CustomInterceptProfile]
2534
3149
  attr_accessor :custom_intercept_profile
2535
3150
 
2536
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
2537
- # s EndpointGroup
3151
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
3152
+ # It is used by mirroring rules with a MIRROR action.
2538
3153
  # Corresponds to the JSON property `customMirroringProfile`
2539
3154
  # @return [Google::Apis::NetworksecurityV1::CustomMirroringProfile]
2540
3155
  attr_accessor :custom_mirroring_profile
@@ -2620,6 +3235,12 @@ module Google
2620
3235
  # @return [String]
2621
3236
  attr_accessor :custom_mirroring_profile
2622
3237
 
3238
+ # Output only. Identifier used by the data-path. Unique within `container,
3239
+ # location`.
3240
+ # Corresponds to the JSON property `dataPathId`
3241
+ # @return [Fixnum]
3242
+ attr_accessor :data_path_id
3243
+
2623
3244
  # Optional. An optional description of the profile group. Max length 2048
2624
3245
  # characters.
2625
3246
  # Corresponds to the JSON property `description`
@@ -2665,6 +3286,7 @@ module Google
2665
3286
  @create_time = args[:create_time] if args.key?(:create_time)
2666
3287
  @custom_intercept_profile = args[:custom_intercept_profile] if args.key?(:custom_intercept_profile)
2667
3288
  @custom_mirroring_profile = args[:custom_mirroring_profile] if args.key?(:custom_mirroring_profile)
3289
+ @data_path_id = args[:data_path_id] if args.key?(:data_path_id)
2668
3290
  @description = args[:description] if args.key?(:description)
2669
3291
  @etag = args[:etag] if args.key?(:etag)
2670
3292
  @labels = args[:labels] if args.key?(:labels)
@@ -2888,6 +3510,11 @@ module Google
2888
3510
  class ThreatPreventionProfile
2889
3511
  include Google::Apis::Core::Hashable
2890
3512
 
3513
+ # Optional. Configuration for overriding antivirus actions per protocol.
3514
+ # Corresponds to the JSON property `antivirusOverrides`
3515
+ # @return [Array<Google::Apis::NetworksecurityV1::AntivirusOverride>]
3516
+ attr_accessor :antivirus_overrides
3517
+
2891
3518
  # Optional. Configuration for overriding threats actions by severity match.
2892
3519
  # Corresponds to the JSON property `severityOverrides`
2893
3520
  # @return [Array<Google::Apis::NetworksecurityV1::SeverityOverride>]
@@ -2906,6 +3533,7 @@ module Google
2906
3533
 
2907
3534
  # Update properties of this object
2908
3535
  def update!(**args)
3536
+ @antivirus_overrides = args[:antivirus_overrides] if args.key?(:antivirus_overrides)
2909
3537
  @severity_overrides = args[:severity_overrides] if args.key?(:severity_overrides)
2910
3538
  @threat_overrides = args[:threat_overrides] if args.key?(:threat_overrides)
2911
3539
  end