google-apis-networksecurity_v1beta1 0.41.0 → 0.43.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::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
361
389
  attr_accessor :principals
@@ -703,6 +731,93 @@ module Google
703
731
  end
704
732
  end
705
733
 
734
+ # BackendAuthenticationConfig message groups the TrustConfig together with other
735
+ # settings that control how the load balancer authenticates, and expresses its
736
+ # identity to, the backend: * `trustConfig` is the attached TrustConfig. * `
737
+ # wellKnownRoots` indicates whether the load balance should trust backend server
738
+ # certificates that are issued by public certificate authorities, in addition to
739
+ # certificates trusted by the TrustConfig. * `clientCertificate` is a client
740
+ # certificate that the load balancer uses to express its identity to the backend,
741
+ # if the connection to the backend uses mTLS. You can attach the
742
+ # BackendAuthenticationConfig to the load balancer’s BackendService directly
743
+ # determining how that BackendService negotiates TLS.
744
+ class BackendAuthenticationConfig
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # Optional. A reference to a certificatemanager.googleapis.com.Certificate
748
+ # resource. This is a relative resource path following the form "projects/`
749
+ # project`/locations/`location`/certificates/`certificate`". Used by a
750
+ # BackendService to negotiate mTLS when the backend connection uses TLS and the
751
+ # backend requests a client certificate. Must have a CLIENT_AUTH scope.
752
+ # Corresponds to the JSON property `clientCertificate`
753
+ # @return [String]
754
+ attr_accessor :client_certificate
755
+
756
+ # Output only. The timestamp when the resource was created.
757
+ # Corresponds to the JSON property `createTime`
758
+ # @return [String]
759
+ attr_accessor :create_time
760
+
761
+ # Optional. Free-text description of the resource.
762
+ # Corresponds to the JSON property `description`
763
+ # @return [String]
764
+ attr_accessor :description
765
+
766
+ # Output only. Etag of the resource.
767
+ # Corresponds to the JSON property `etag`
768
+ # @return [String]
769
+ attr_accessor :etag
770
+
771
+ # Set of label tags associated with the resource.
772
+ # Corresponds to the JSON property `labels`
773
+ # @return [Hash<String,String>]
774
+ attr_accessor :labels
775
+
776
+ # Required. Name of the BackendAuthenticationConfig resource. It matches the
777
+ # pattern `projects/*/locations/`location`/backendAuthenticationConfigs/`
778
+ # backend_authentication_config``
779
+ # Corresponds to the JSON property `name`
780
+ # @return [String]
781
+ attr_accessor :name
782
+
783
+ # Optional. A reference to a TrustConfig resource from the certificatemanager.
784
+ # googleapis.com namespace. This is a relative resource path following the form "
785
+ # projects/`project`/locations/`location`/trustConfigs/`trust_config`". A
786
+ # BackendService uses the chain of trust represented by this TrustConfig, if
787
+ # specified, to validate the server certificates presented by the backend.
788
+ # Required unless wellKnownRoots is set to PUBLIC_ROOTS.
789
+ # Corresponds to the JSON property `trustConfig`
790
+ # @return [String]
791
+ attr_accessor :trust_config
792
+
793
+ # Output only. The timestamp when the resource was updated.
794
+ # Corresponds to the JSON property `updateTime`
795
+ # @return [String]
796
+ attr_accessor :update_time
797
+
798
+ # Well known roots to use for server certificate validation.
799
+ # Corresponds to the JSON property `wellKnownRoots`
800
+ # @return [String]
801
+ attr_accessor :well_known_roots
802
+
803
+ def initialize(**args)
804
+ update!(**args)
805
+ end
806
+
807
+ # Update properties of this object
808
+ def update!(**args)
809
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
810
+ @create_time = args[:create_time] if args.key?(:create_time)
811
+ @description = args[:description] if args.key?(:description)
812
+ @etag = args[:etag] if args.key?(:etag)
813
+ @labels = args[:labels] if args.key?(:labels)
814
+ @name = args[:name] if args.key?(:name)
815
+ @trust_config = args[:trust_config] if args.key?(:trust_config)
816
+ @update_time = args[:update_time] if args.key?(:update_time)
817
+ @well_known_roots = args[:well_known_roots] if args.key?(:well_known_roots)
818
+ end
819
+ end
820
+
706
821
  # The request message for Operations.CancelOperation.
707
822
  class CancelOperationRequest
708
823
  include Google::Apis::Core::Hashable
@@ -842,13 +957,14 @@ module Google
842
957
  end
843
958
  end
844
959
 
845
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
846
- # intercept traffic to a third-party firewall in a Firewall rule.
960
+ # CustomInterceptProfile defines in-band integration behavior (intercept). It is
961
+ # used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
847
962
  class CustomInterceptProfile
848
963
  include Google::Apis::Core::Hashable
849
964
 
850
- # Required. The InterceptEndpointGroup to which traffic associated with the SP
851
- # should be mirrored.
965
+ # Required. The target InterceptEndpointGroup. When a firewall rule with this
966
+ # security profile attached matches a packet, the packet will be intercepted to
967
+ # the location-local target in this group.
852
968
  # Corresponds to the JSON property `interceptEndpointGroup`
853
969
  # @return [String]
854
970
  attr_accessor :intercept_endpoint_group
@@ -863,13 +979,14 @@ module Google
863
979
  end
864
980
  end
865
981
 
866
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
867
- # s EndpointGroup
982
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
983
+ # It is used by mirroring rules with a MIRROR action.
868
984
  class CustomMirroringProfile
869
985
  include Google::Apis::Core::Hashable
870
986
 
871
- # Required. The MirroringEndpointGroup to which traffic associated with the SP
872
- # should be mirrored.
987
+ # Required. The target MirroringEndpointGroup. When a mirroring rule with this
988
+ # security profile attached matches a packet, a replica will be mirrored to the
989
+ # location-local target in this group.
873
990
  # Corresponds to the JSON property `mirroringEndpointGroup`
874
991
  # @return [String]
875
992
  attr_accessor :mirroring_endpoint_group
@@ -1046,6 +1163,18 @@ module Google
1046
1163
  attr_accessor :reconciling
1047
1164
  alias_method :reconciling?, :reconciling
1048
1165
 
1166
+ # Output only. [Output Only] Reserved for future use.
1167
+ # Corresponds to the JSON property `satisfiesPzi`
1168
+ # @return [Boolean]
1169
+ attr_accessor :satisfies_pzi
1170
+ alias_method :satisfies_pzi?, :satisfies_pzi
1171
+
1172
+ # Output only. [Output Only] Reserved for future use.
1173
+ # Corresponds to the JSON property `satisfiesPzs`
1174
+ # @return [Boolean]
1175
+ attr_accessor :satisfies_pzs
1176
+ alias_method :satisfies_pzs?, :satisfies_pzs
1177
+
1049
1178
  # Output only. Current state of the endpoint.
1050
1179
  # Corresponds to the JSON property `state`
1051
1180
  # @return [String]
@@ -1070,6 +1199,8 @@ module Google
1070
1199
  @labels = args[:labels] if args.key?(:labels)
1071
1200
  @name = args[:name] if args.key?(:name)
1072
1201
  @reconciling = args[:reconciling] if args.key?(:reconciling)
1202
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
1203
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1073
1204
  @state = args[:state] if args.key?(:state)
1074
1205
  @update_time = args[:update_time] if args.key?(:update_time)
1075
1206
  end
@@ -1749,11 +1880,15 @@ module Google
1749
1880
  end
1750
1881
  end
1751
1882
 
1752
- # Message describing InterceptDeployment object NEXT ID: 10
1883
+ # A deployment represents a zonal intercept backend ready to accept GENEVE-
1884
+ # encapsulated traffic, e.g. a zonal instance group fronted by an internal
1885
+ # passthrough load balancer. Deployments are always part of a global deployment
1886
+ # group which represents a global intercept service.
1753
1887
  class InterceptDeployment
1754
1888
  include Google::Apis::Core::Hashable
1755
1889
 
1756
- # Output only. [Output only] Create time stamp
1890
+ # Output only. The timestamp when the resource was created. See https://google.
1891
+ # aip.dev/148#timestamps.
1757
1892
  # Corresponds to the JSON property `createTime`
1758
1893
  # @return [String]
1759
1894
  attr_accessor :create_time
@@ -1764,43 +1899,50 @@ module Google
1764
1899
  # @return [String]
1765
1900
  attr_accessor :description
1766
1901
 
1767
- # Required. Immutable. The regional load balancer which the intercepted traffic
1768
- # should be forwarded to. Format is: projects/`project`/regions/`region`/
1769
- # forwardingRules/`forwardingRule`
1902
+ # Required. Immutable. The regional forwarding rule that fronts the interceptors,
1903
+ # for example: `projects/123456789/regions/us-central1/forwardingRules/my-rule`.
1904
+ # See https://google.aip.dev/124.
1770
1905
  # Corresponds to the JSON property `forwardingRule`
1771
1906
  # @return [String]
1772
1907
  attr_accessor :forwarding_rule
1773
1908
 
1774
- # Required. Immutable. The Intercept Deployment Group that this resource is part
1775
- # of. Format is: `projects/`project`/locations/global/interceptDeploymentGroups/`
1776
- # interceptDeploymentGroup``
1909
+ # Required. Immutable. The deployment group that this deployment is a part of,
1910
+ # for example: `projects/123456789/locations/global/interceptDeploymentGroups/my-
1911
+ # dg`. See https://google.aip.dev/124.
1777
1912
  # Corresponds to the JSON property `interceptDeploymentGroup`
1778
1913
  # @return [String]
1779
1914
  attr_accessor :intercept_deployment_group
1780
1915
 
1781
- # Optional. Labels as key value pairs
1916
+ # Optional. Labels are key/value pairs that help to organize and filter
1917
+ # resources.
1782
1918
  # Corresponds to the JSON property `labels`
1783
1919
  # @return [Hash<String,String>]
1784
1920
  attr_accessor :labels
1785
1921
 
1786
- # Immutable. Identifier. The name of the InterceptDeployment.
1922
+ # Immutable. Identifier. The resource name of this deployment, for example: `
1923
+ # projects/123456789/locations/us-central1-a/interceptDeployments/my-dep`. See
1924
+ # https://google.aip.dev/122 for more details.
1787
1925
  # Corresponds to the JSON property `name`
1788
1926
  # @return [String]
1789
1927
  attr_accessor :name
1790
1928
 
1791
- # Output only. Whether reconciling is in progress, recommended per https://
1792
- # google.aip.dev/128.
1929
+ # Output only. The current state of the resource does not match the user's
1930
+ # intended state, and the system is working to reconcile them. This part of the
1931
+ # normal operation (e.g. linking a new association to the parent group). See
1932
+ # https://google.aip.dev/128.
1793
1933
  # Corresponds to the JSON property `reconciling`
1794
1934
  # @return [Boolean]
1795
1935
  attr_accessor :reconciling
1796
1936
  alias_method :reconciling?, :reconciling
1797
1937
 
1798
- # Output only. Current state of the deployment.
1938
+ # Output only. The current state of the deployment. See https://google.aip.dev/
1939
+ # 216.
1799
1940
  # Corresponds to the JSON property `state`
1800
1941
  # @return [String]
1801
1942
  attr_accessor :state
1802
1943
 
1803
- # Output only. [Output only] Update time stamp
1944
+ # Output only. The timestamp when the resource was most recently updated. See
1945
+ # https://google.aip.dev/148#timestamps.
1804
1946
  # Corresponds to the JSON property `updateTime`
1805
1947
  # @return [String]
1806
1948
  attr_accessor :update_time
@@ -1823,17 +1965,19 @@ module Google
1823
1965
  end
1824
1966
  end
1825
1967
 
1826
- # Message describing InterceptDeploymentGroup object NEXT ID: 10
1968
+ # A deployment group aggregates many zonal intercept backends (deployments) into
1969
+ # a single global intercept service. Consumers can connect this service using an
1970
+ # endpoint group.
1827
1971
  class InterceptDeploymentGroup
1828
1972
  include Google::Apis::Core::Hashable
1829
1973
 
1830
- # Output only. The list of Intercept Endpoint Groups that are connected to this
1831
- # resource.
1974
+ # Output only. The list of endpoint groups that are connected to this resource.
1832
1975
  # Corresponds to the JSON property `connectedEndpointGroups`
1833
1976
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroupConnectedEndpointGroup>]
1834
1977
  attr_accessor :connected_endpoint_groups
1835
1978
 
1836
- # Output only. [Output only] Create time stamp
1979
+ # Output only. The timestamp when the resource was created. See https://google.
1980
+ # aip.dev/148#timestamps.
1837
1981
  # Corresponds to the JSON property `createTime`
1838
1982
  # @return [String]
1839
1983
  attr_accessor :create_time
@@ -1844,35 +1988,53 @@ module Google
1844
1988
  # @return [String]
1845
1989
  attr_accessor :description
1846
1990
 
1847
- # Optional. Labels as key value pairs
1991
+ # Optional. Labels are key/value pairs that help to organize and filter
1992
+ # resources.
1848
1993
  # Corresponds to the JSON property `labels`
1849
1994
  # @return [Hash<String,String>]
1850
1995
  attr_accessor :labels
1851
1996
 
1852
- # Immutable. Identifier. Then name of the InterceptDeploymentGroup.
1997
+ # Output only. The list of locations where the deployment group is present.
1998
+ # Corresponds to the JSON property `locations`
1999
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptLocation>]
2000
+ attr_accessor :locations
2001
+
2002
+ # Immutable. Identifier. The resource name of this deployment group, for example:
2003
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`. See
2004
+ # https://google.aip.dev/122 for more details.
1853
2005
  # Corresponds to the JSON property `name`
1854
2006
  # @return [String]
1855
2007
  attr_accessor :name
1856
2008
 
1857
- # Required. Immutable. The network that is being used for the deployment. Format
1858
- # is: projects/`project`/global/networks/`network`.
2009
+ # Output only. The list of Intercept Deployments that belong to this group.
2010
+ # Corresponds to the JSON property `nestedDeployments`
2011
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroupDeployment>]
2012
+ attr_accessor :nested_deployments
2013
+
2014
+ # Required. Immutable. The network that will be used for all child deployments,
2015
+ # for example: `projects/`project`/global/networks/`network``. See https://
2016
+ # google.aip.dev/124.
1859
2017
  # Corresponds to the JSON property `network`
1860
2018
  # @return [String]
1861
2019
  attr_accessor :network
1862
2020
 
1863
- # Output only. Whether reconciling is in progress, recommended per https://
2021
+ # Output only. The current state of the resource does not match the user's
2022
+ # intended state, and the system is working to reconcile them. This is part of
2023
+ # the normal operation (e.g. adding a new deployment to the group) See https://
1864
2024
  # google.aip.dev/128.
1865
2025
  # Corresponds to the JSON property `reconciling`
1866
2026
  # @return [Boolean]
1867
2027
  attr_accessor :reconciling
1868
2028
  alias_method :reconciling?, :reconciling
1869
2029
 
1870
- # Output only. Current state of the deployment group.
2030
+ # Output only. The current state of the deployment group. See https://google.aip.
2031
+ # dev/216.
1871
2032
  # Corresponds to the JSON property `state`
1872
2033
  # @return [String]
1873
2034
  attr_accessor :state
1874
2035
 
1875
- # Output only. [Output only] Update time stamp
2036
+ # Output only. The timestamp when the resource was most recently updated. See
2037
+ # https://google.aip.dev/148#timestamps.
1876
2038
  # Corresponds to the JSON property `updateTime`
1877
2039
  # @return [String]
1878
2040
  attr_accessor :update_time
@@ -1887,7 +2049,9 @@ module Google
1887
2049
  @create_time = args[:create_time] if args.key?(:create_time)
1888
2050
  @description = args[:description] if args.key?(:description)
1889
2051
  @labels = args[:labels] if args.key?(:labels)
2052
+ @locations = args[:locations] if args.key?(:locations)
1890
2053
  @name = args[:name] if args.key?(:name)
2054
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
1891
2055
  @network = args[:network] if args.key?(:network)
1892
2056
  @reconciling = args[:reconciling] if args.key?(:reconciling)
1893
2057
  @state = args[:state] if args.key?(:state)
@@ -1899,11 +2063,38 @@ module Google
1899
2063
  class InterceptDeploymentGroupConnectedEndpointGroup
1900
2064
  include Google::Apis::Core::Hashable
1901
2065
 
1902
- # Output only. A connected intercept endpoint group.
2066
+ # Output only. The connected endpoint group's resource name, for example: `
2067
+ # projects/123456789/locations/global/interceptEndpointGroups/my-eg`. See https:/
2068
+ # /google.aip.dev/124.
2069
+ # Corresponds to the JSON property `name`
2070
+ # @return [String]
2071
+ attr_accessor :name
2072
+
2073
+ def initialize(**args)
2074
+ update!(**args)
2075
+ end
2076
+
2077
+ # Update properties of this object
2078
+ def update!(**args)
2079
+ @name = args[:name] if args.key?(:name)
2080
+ end
2081
+ end
2082
+
2083
+ # A deployment belonging to this deployment group.
2084
+ class InterceptDeploymentGroupDeployment
2085
+ include Google::Apis::Core::Hashable
2086
+
2087
+ # Output only. The name of the Intercept Deployment, in the format: `projects/`
2088
+ # project`/locations/`location`/interceptDeployments/`intercept_deployment``.
1903
2089
  # Corresponds to the JSON property `name`
1904
2090
  # @return [String]
1905
2091
  attr_accessor :name
1906
2092
 
2093
+ # Output only. Most recent known state of the deployment.
2094
+ # Corresponds to the JSON property `state`
2095
+ # @return [String]
2096
+ attr_accessor :state
2097
+
1907
2098
  def initialize(**args)
1908
2099
  update!(**args)
1909
2100
  end
@@ -1911,20 +2102,30 @@ module Google
1911
2102
  # Update properties of this object
1912
2103
  def update!(**args)
1913
2104
  @name = args[:name] if args.key?(:name)
2105
+ @state = args[:state] if args.key?(:state)
1914
2106
  end
1915
2107
  end
1916
2108
 
1917
- # Message describing InterceptEndpointGroup object.
2109
+ # An endpoint group is a consumer frontend for a deployment group (backend). In
2110
+ # order to configure intercept for a network, consumers must create: - An
2111
+ # association between their network and the endpoint group. - A security profile
2112
+ # that points to the endpoint group. - A firewall rule that references the
2113
+ # security profile (group).
1918
2114
  class InterceptEndpointGroup
1919
2115
  include Google::Apis::Core::Hashable
1920
2116
 
1921
- # Output only. List of Intercept Endpoint Group Associations that are associated
1922
- # to this endpoint group.
2117
+ # Output only. List of associations to this endpoint group.
1923
2118
  # Corresponds to the JSON property `associations`
1924
2119
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationDetails>]
1925
2120
  attr_accessor :associations
1926
2121
 
1927
- # Output only. [Output only] Create time stamp
2122
+ # The endpoint group's view of a connected deployment group.
2123
+ # Corresponds to the JSON property `connectedDeploymentGroup`
2124
+ # @return [Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupConnectedDeploymentGroup]
2125
+ attr_accessor :connected_deployment_group
2126
+
2127
+ # Output only. The timestamp when the resource was created. See https://google.
2128
+ # aip.dev/148#timestamps.
1928
2129
  # Corresponds to the JSON property `createTime`
1929
2130
  # @return [String]
1930
2131
  attr_accessor :create_time
@@ -1935,36 +2136,43 @@ module Google
1935
2136
  # @return [String]
1936
2137
  attr_accessor :description
1937
2138
 
1938
- # Required. Immutable. The Intercept Deployment Group that this resource is
1939
- # connected to. Format is: `projects/`project`/locations/global/
1940
- # interceptDeploymentGroups/`interceptDeploymentGroup``
2139
+ # Required. Immutable. The deployment group that this endpoint group is
2140
+ # connected to, for example: `projects/123456789/locations/global/
2141
+ # interceptDeploymentGroups/my-dg`. See https://google.aip.dev/124.
1941
2142
  # Corresponds to the JSON property `interceptDeploymentGroup`
1942
2143
  # @return [String]
1943
2144
  attr_accessor :intercept_deployment_group
1944
2145
 
1945
- # Optional. Labels as key value pairs
2146
+ # Optional. Labels are key/value pairs that help to organize and filter
2147
+ # resources.
1946
2148
  # Corresponds to the JSON property `labels`
1947
2149
  # @return [Hash<String,String>]
1948
2150
  attr_accessor :labels
1949
2151
 
1950
- # Immutable. Identifier. The name of the InterceptEndpointGroup.
2152
+ # Immutable. Identifier. The resource name of this endpoint group, for example: `
2153
+ # projects/123456789/locations/global/interceptEndpointGroups/my-eg`. See https:/
2154
+ # /google.aip.dev/122 for more details.
1951
2155
  # Corresponds to the JSON property `name`
1952
2156
  # @return [String]
1953
2157
  attr_accessor :name
1954
2158
 
1955
- # Output only. Whether reconciling is in progress, recommended per https://
2159
+ # Output only. The current state of the resource does not match the user's
2160
+ # intended state, and the system is working to reconcile them. This is part of
2161
+ # the normal operation (e.g. adding a new association to the group). See https://
1956
2162
  # google.aip.dev/128.
1957
2163
  # Corresponds to the JSON property `reconciling`
1958
2164
  # @return [Boolean]
1959
2165
  attr_accessor :reconciling
1960
2166
  alias_method :reconciling?, :reconciling
1961
2167
 
1962
- # Output only. Current state of the endpoint group.
2168
+ # Output only. The current state of the endpoint group. See https://google.aip.
2169
+ # dev/216.
1963
2170
  # Corresponds to the JSON property `state`
1964
2171
  # @return [String]
1965
2172
  attr_accessor :state
1966
2173
 
1967
- # Output only. [Output only] Update time stamp
2174
+ # Output only. The timestamp when the resource was most recently updated. See
2175
+ # https://google.aip.dev/148#timestamps.
1968
2176
  # Corresponds to the JSON property `updateTime`
1969
2177
  # @return [String]
1970
2178
  attr_accessor :update_time
@@ -1976,6 +2184,7 @@ module Google
1976
2184
  # Update properties of this object
1977
2185
  def update!(**args)
1978
2186
  @associations = args[:associations] if args.key?(:associations)
2187
+ @connected_deployment_group = args[:connected_deployment_group] if args.key?(:connected_deployment_group)
1979
2188
  @create_time = args[:create_time] if args.key?(:create_time)
1980
2189
  @description = args[:description] if args.key?(:description)
1981
2190
  @intercept_deployment_group = args[:intercept_deployment_group] if args.key?(:intercept_deployment_group)
@@ -1987,45 +2196,65 @@ module Google
1987
2196
  end
1988
2197
  end
1989
2198
 
1990
- # Message describing InterceptEndpointGroupAssociation object
2199
+ # An endpoint group association represents a link between a network and an
2200
+ # endpoint group in the organization. Creating an association creates the
2201
+ # networking infrastructure linking the network to the endpoint group, but does
2202
+ # not enable intercept by itself. To enable intercept, the user must also create
2203
+ # a network firewall policy containing intercept rules and associate it with the
2204
+ # network.
1991
2205
  class InterceptEndpointGroupAssociation
1992
2206
  include Google::Apis::Core::Hashable
1993
2207
 
1994
- # Output only. [Output only] Create time stamp
2208
+ # Output only. The timestamp when the resource was created. See https://google.
2209
+ # aip.dev/148#timestamps.
1995
2210
  # Corresponds to the JSON property `createTime`
1996
2211
  # @return [String]
1997
2212
  attr_accessor :create_time
1998
2213
 
1999
- # Required. Immutable. The Intercept Endpoint Group that this resource is
2000
- # connected to. Format is: `projects/`project`/locations/global/
2001
- # interceptEndpointGroups/`interceptEndpointGroup``
2214
+ # Required. Immutable. The endpoint group that this association is connected to,
2215
+ # for example: `projects/123456789/locations/global/interceptEndpointGroups/my-
2216
+ # eg`. See https://google.aip.dev/124.
2002
2217
  # Corresponds to the JSON property `interceptEndpointGroup`
2003
2218
  # @return [String]
2004
2219
  attr_accessor :intercept_endpoint_group
2005
2220
 
2006
- # Optional. Labels as key value pairs
2221
+ # Optional. Labels are key/value pairs that help to organize and filter
2222
+ # resources.
2007
2223
  # Corresponds to the JSON property `labels`
2008
2224
  # @return [Hash<String,String>]
2009
2225
  attr_accessor :labels
2010
2226
 
2011
- # Output only. The list of locations that this association is in and its details.
2227
+ # Output only. The list of locations where the association is configured. This
2228
+ # information is retrieved from the linked endpoint group.
2229
+ # Corresponds to the JSON property `locations`
2230
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptLocation>]
2231
+ attr_accessor :locations
2232
+
2233
+ # Output only. The list of locations where the association is present. This
2234
+ # information is retrieved from the linked endpoint group, and not configured as
2235
+ # part of the association itself.
2012
2236
  # Corresponds to the JSON property `locationsDetails`
2013
2237
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationLocationDetails>]
2014
2238
  attr_accessor :locations_details
2015
2239
 
2016
- # Immutable. Identifier. The name of the InterceptEndpointGroupAssociation.
2240
+ # Immutable. Identifier. The resource name of this endpoint group association,
2241
+ # for example: `projects/123456789/locations/global/
2242
+ # interceptEndpointGroupAssociations/my-eg-association`. See https://google.aip.
2243
+ # dev/122 for more details.
2017
2244
  # Corresponds to the JSON property `name`
2018
2245
  # @return [String]
2019
2246
  attr_accessor :name
2020
2247
 
2021
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
2022
- # global/networks/`network`.
2248
+ # Required. Immutable. The VPC network that is associated. for example: `
2249
+ # projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.
2023
2250
  # Corresponds to the JSON property `network`
2024
2251
  # @return [String]
2025
2252
  attr_accessor :network
2026
2253
 
2027
- # Output only. Whether reconciling is in progress, recommended per https://
2028
- # google.aip.dev/128.
2254
+ # Output only. The current state of the resource does not match the user's
2255
+ # intended state, and the system is working to reconcile them. This part of the
2256
+ # normal operation (e.g. adding a new location to the target deployment group).
2257
+ # See https://google.aip.dev/128.
2029
2258
  # Corresponds to the JSON property `reconciling`
2030
2259
  # @return [Boolean]
2031
2260
  attr_accessor :reconciling
@@ -2036,7 +2265,8 @@ module Google
2036
2265
  # @return [String]
2037
2266
  attr_accessor :state
2038
2267
 
2039
- # Output only. [Output only] Update time stamp
2268
+ # Output only. The timestamp when the resource was most recently updated. See
2269
+ # https://google.aip.dev/148#timestamps.
2040
2270
  # Corresponds to the JSON property `updateTime`
2041
2271
  # @return [String]
2042
2272
  attr_accessor :update_time
@@ -2050,6 +2280,7 @@ module Google
2050
2280
  @create_time = args[:create_time] if args.key?(:create_time)
2051
2281
  @intercept_endpoint_group = args[:intercept_endpoint_group] if args.key?(:intercept_endpoint_group)
2052
2282
  @labels = args[:labels] if args.key?(:labels)
2283
+ @locations = args[:locations] if args.key?(:locations)
2053
2284
  @locations_details = args[:locations_details] if args.key?(:locations_details)
2054
2285
  @name = args[:name] if args.key?(:name)
2055
2286
  @network = args[:network] if args.key?(:network)
@@ -2059,25 +2290,24 @@ module Google
2059
2290
  end
2060
2291
  end
2061
2292
 
2062
- # This is a subset of the InterceptEndpointGroupAssociation message, containing
2063
- # fields to be used by the consumer.
2293
+ # The endpoint group's view of a connected association.
2064
2294
  class InterceptEndpointGroupAssociationDetails
2065
2295
  include Google::Apis::Core::Hashable
2066
2296
 
2067
- # Output only. The resource name of the InterceptEndpointGroupAssociation.
2068
- # Format: projects/`project`/locations/`location`/
2069
- # interceptEndpointGroupAssociations/`interceptEndpointGroupAssociation`
2297
+ # Output only. The connected association's resource name, for example: `projects/
2298
+ # 123456789/locations/global/interceptEndpointGroupAssociations/my-ega`. See
2299
+ # https://google.aip.dev/124.
2070
2300
  # Corresponds to the JSON property `name`
2071
2301
  # @return [String]
2072
2302
  attr_accessor :name
2073
2303
 
2074
- # Output only. The VPC network associated. Format: projects/`project`/global/
2075
- # networks/`name`.
2304
+ # Output only. The associated network, for example: projects/123456789/global/
2305
+ # networks/my-network. See https://google.aip.dev/124.
2076
2306
  # Corresponds to the JSON property `network`
2077
2307
  # @return [String]
2078
2308
  attr_accessor :network
2079
2309
 
2080
- # Output only. Current state of the association.
2310
+ # Output only. Most recent known state of the association.
2081
2311
  # Corresponds to the JSON property `state`
2082
2312
  # @return [String]
2083
2313
  attr_accessor :state
@@ -2094,16 +2324,69 @@ module Google
2094
2324
  end
2095
2325
  end
2096
2326
 
2097
- # Details about the association status in a specific cloud location.
2327
+ # Contains details about the state of an association in a specific cloud
2328
+ # location.
2098
2329
  class InterceptEndpointGroupAssociationLocationDetails
2099
2330
  include Google::Apis::Core::Hashable
2100
2331
 
2101
- # Output only. The cloud location.
2332
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
2102
2333
  # Corresponds to the JSON property `location`
2103
2334
  # @return [String]
2104
2335
  attr_accessor :location
2105
2336
 
2106
- # Output only. The association state in this location.
2337
+ # Output only. The current state of the association in this location.
2338
+ # Corresponds to the JSON property `state`
2339
+ # @return [String]
2340
+ attr_accessor :state
2341
+
2342
+ def initialize(**args)
2343
+ update!(**args)
2344
+ end
2345
+
2346
+ # Update properties of this object
2347
+ def update!(**args)
2348
+ @location = args[:location] if args.key?(:location)
2349
+ @state = args[:state] if args.key?(:state)
2350
+ end
2351
+ end
2352
+
2353
+ # The endpoint group's view of a connected deployment group.
2354
+ class InterceptEndpointGroupConnectedDeploymentGroup
2355
+ include Google::Apis::Core::Hashable
2356
+
2357
+ # Output only. The list of locations where the deployment group is present.
2358
+ # Corresponds to the JSON property `locations`
2359
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptLocation>]
2360
+ attr_accessor :locations
2361
+
2362
+ # Output only. The connected deployment group's resource name, for example: `
2363
+ # projects/123456789/locations/global/interceptDeploymentGroups/my-dg`. See
2364
+ # https://google.aip.dev/124.
2365
+ # Corresponds to the JSON property `name`
2366
+ # @return [String]
2367
+ attr_accessor :name
2368
+
2369
+ def initialize(**args)
2370
+ update!(**args)
2371
+ end
2372
+
2373
+ # Update properties of this object
2374
+ def update!(**args)
2375
+ @locations = args[:locations] if args.key?(:locations)
2376
+ @name = args[:name] if args.key?(:name)
2377
+ end
2378
+ end
2379
+
2380
+ # Details about intercept in a specific cloud location.
2381
+ class InterceptLocation
2382
+ include Google::Apis::Core::Hashable
2383
+
2384
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
2385
+ # Corresponds to the JSON property `location`
2386
+ # @return [String]
2387
+ attr_accessor :location
2388
+
2389
+ # Output only. The current state of the association in this location.
2107
2390
  # Corresponds to the JSON property `state`
2108
2391
  # @return [String]
2109
2392
  attr_accessor :state
@@ -2193,6 +2476,11 @@ module Google
2193
2476
  # @return [String]
2194
2477
  attr_accessor :next_page_token
2195
2478
 
2479
+ # Locations that could not be reached.
2480
+ # Corresponds to the JSON property `unreachable`
2481
+ # @return [Array<String>]
2482
+ attr_accessor :unreachable
2483
+
2196
2484
  def initialize(**args)
2197
2485
  update!(**args)
2198
2486
  end
@@ -2201,6 +2489,7 @@ module Google
2201
2489
  def update!(**args)
2202
2490
  @address_groups = args[:address_groups] if args.key?(:address_groups)
2203
2491
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2492
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2204
2493
  end
2205
2494
  end
2206
2495
 
@@ -2262,6 +2551,39 @@ module Google
2262
2551
  end
2263
2552
  end
2264
2553
 
2554
+ # Response returned by the ListBackendAuthenticationConfigs method.
2555
+ class ListBackendAuthenticationConfigsResponse
2556
+ include Google::Apis::Core::Hashable
2557
+
2558
+ # List of BackendAuthenticationConfig resources.
2559
+ # Corresponds to the JSON property `backendAuthenticationConfigs`
2560
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::BackendAuthenticationConfig>]
2561
+ attr_accessor :backend_authentication_configs
2562
+
2563
+ # If there might be more results than those appearing in this response, then `
2564
+ # next_page_token` is included. To get the next set of results, call this method
2565
+ # again using the value of `next_page_token` as `page_token`.
2566
+ # Corresponds to the JSON property `nextPageToken`
2567
+ # @return [String]
2568
+ attr_accessor :next_page_token
2569
+
2570
+ # Locations that could not be reached.
2571
+ # Corresponds to the JSON property `unreachable`
2572
+ # @return [Array<String>]
2573
+ attr_accessor :unreachable
2574
+
2575
+ def initialize(**args)
2576
+ update!(**args)
2577
+ end
2578
+
2579
+ # Update properties of this object
2580
+ def update!(**args)
2581
+ @backend_authentication_configs = args[:backend_authentication_configs] if args.key?(:backend_authentication_configs)
2582
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2583
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2584
+ end
2585
+ end
2586
+
2265
2587
  # Response returned by the ListClientTlsPolicies method.
2266
2588
  class ListClientTlsPoliciesResponse
2267
2589
  include Google::Apis::Core::Hashable
@@ -2417,16 +2739,18 @@ module Google
2417
2739
  end
2418
2740
  end
2419
2741
 
2420
- # Message for response to listing InterceptDeploymentGroups
2742
+ # Response message for ListInterceptDeploymentGroups.
2421
2743
  class ListInterceptDeploymentGroupsResponse
2422
2744
  include Google::Apis::Core::Hashable
2423
2745
 
2424
- # The list of InterceptDeploymentGroup
2746
+ # The deployment groups from the specified parent.
2425
2747
  # Corresponds to the JSON property `interceptDeploymentGroups`
2426
2748
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroup>]
2427
2749
  attr_accessor :intercept_deployment_groups
2428
2750
 
2429
- # A token identifying a page of results the server should return.
2751
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2752
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2753
+ # 158 for more details.
2430
2754
  # Corresponds to the JSON property `nextPageToken`
2431
2755
  # @return [String]
2432
2756
  attr_accessor :next_page_token
@@ -2442,16 +2766,18 @@ module Google
2442
2766
  end
2443
2767
  end
2444
2768
 
2445
- # Message for response to listing InterceptDeployments
2769
+ # Response message for ListInterceptDeployments.
2446
2770
  class ListInterceptDeploymentsResponse
2447
2771
  include Google::Apis::Core::Hashable
2448
2772
 
2449
- # The list of InterceptDeployment
2773
+ # The deployments from the specified parent.
2450
2774
  # Corresponds to the JSON property `interceptDeployments`
2451
2775
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeployment>]
2452
2776
  attr_accessor :intercept_deployments
2453
2777
 
2454
- # A token identifying a page of results the server should return.
2778
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2779
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2780
+ # 158 for more details.
2455
2781
  # Corresponds to the JSON property `nextPageToken`
2456
2782
  # @return [String]
2457
2783
  attr_accessor :next_page_token
@@ -2473,16 +2799,18 @@ module Google
2473
2799
  end
2474
2800
  end
2475
2801
 
2476
- # Message for response to listing InterceptEndpointGroupAssociations
2802
+ # Response message for ListInterceptEndpointGroupAssociations.
2477
2803
  class ListInterceptEndpointGroupAssociationsResponse
2478
2804
  include Google::Apis::Core::Hashable
2479
2805
 
2480
- # The list of InterceptEndpointGroupAssociation
2806
+ # The associations from the specified parent.
2481
2807
  # Corresponds to the JSON property `interceptEndpointGroupAssociations`
2482
2808
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociation>]
2483
2809
  attr_accessor :intercept_endpoint_group_associations
2484
2810
 
2485
- # A token identifying a page of results the server should return.
2811
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2812
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2813
+ # 158 for more details.
2486
2814
  # Corresponds to the JSON property `nextPageToken`
2487
2815
  # @return [String]
2488
2816
  attr_accessor :next_page_token
@@ -2498,16 +2826,18 @@ module Google
2498
2826
  end
2499
2827
  end
2500
2828
 
2501
- # Message for response to listing InterceptEndpointGroups
2829
+ # Response message for ListInterceptEndpointGroups.
2502
2830
  class ListInterceptEndpointGroupsResponse
2503
2831
  include Google::Apis::Core::Hashable
2504
2832
 
2505
- # The list of InterceptEndpointGroup
2833
+ # The endpoint groups from the specified parent.
2506
2834
  # Corresponds to the JSON property `interceptEndpointGroups`
2507
2835
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroup>]
2508
2836
  attr_accessor :intercept_endpoint_groups
2509
2837
 
2510
- # A token identifying a page of results the server should return.
2838
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2839
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2840
+ # 158 for more details.
2511
2841
  # Corresponds to the JSON property `nextPageToken`
2512
2842
  # @return [String]
2513
2843
  attr_accessor :next_page_token
@@ -2548,16 +2878,18 @@ module Google
2548
2878
  end
2549
2879
  end
2550
2880
 
2551
- # Message for response to listing MirroringDeploymentGroups
2881
+ # Response message for ListMirroringDeploymentGroups.
2552
2882
  class ListMirroringDeploymentGroupsResponse
2553
2883
  include Google::Apis::Core::Hashable
2554
2884
 
2555
- # The list of MirroringDeploymentGroup
2885
+ # The deployment groups from the specified parent.
2556
2886
  # Corresponds to the JSON property `mirroringDeploymentGroups`
2557
2887
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroup>]
2558
2888
  attr_accessor :mirroring_deployment_groups
2559
2889
 
2560
- # A token identifying a page of results the server should return.
2890
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2891
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2892
+ # 158 for more details.
2561
2893
  # Corresponds to the JSON property `nextPageToken`
2562
2894
  # @return [String]
2563
2895
  attr_accessor :next_page_token
@@ -2573,16 +2905,18 @@ module Google
2573
2905
  end
2574
2906
  end
2575
2907
 
2576
- # Message for response to listing MirroringDeployments
2908
+ # Response message for ListMirroringDeployments.
2577
2909
  class ListMirroringDeploymentsResponse
2578
2910
  include Google::Apis::Core::Hashable
2579
2911
 
2580
- # The list of MirroringDeployment
2912
+ # The deployments from the specified parent.
2581
2913
  # Corresponds to the JSON property `mirroringDeployments`
2582
2914
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeployment>]
2583
2915
  attr_accessor :mirroring_deployments
2584
2916
 
2585
- # A token identifying a page of results the server should return.
2917
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2918
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2919
+ # 158 for more details.
2586
2920
  # Corresponds to the JSON property `nextPageToken`
2587
2921
  # @return [String]
2588
2922
  attr_accessor :next_page_token
@@ -2604,16 +2938,18 @@ module Google
2604
2938
  end
2605
2939
  end
2606
2940
 
2607
- # Message for response to listing MirroringEndpointGroupAssociations
2941
+ # Response message for ListMirroringEndpointGroupAssociations.
2608
2942
  class ListMirroringEndpointGroupAssociationsResponse
2609
2943
  include Google::Apis::Core::Hashable
2610
2944
 
2611
- # The list of MirroringEndpointGroupAssociation
2945
+ # The associations from the specified parent.
2612
2946
  # Corresponds to the JSON property `mirroringEndpointGroupAssociations`
2613
2947
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociation>]
2614
2948
  attr_accessor :mirroring_endpoint_group_associations
2615
2949
 
2616
- # A token identifying a page of results the server should return.
2950
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2951
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2952
+ # 158 for more details.
2617
2953
  # Corresponds to the JSON property `nextPageToken`
2618
2954
  # @return [String]
2619
2955
  attr_accessor :next_page_token
@@ -2629,16 +2965,18 @@ module Google
2629
2965
  end
2630
2966
  end
2631
2967
 
2632
- # Message for response to listing MirroringEndpointGroups
2968
+ # Response message for ListMirroringEndpointGroups.
2633
2969
  class ListMirroringEndpointGroupsResponse
2634
2970
  include Google::Apis::Core::Hashable
2635
2971
 
2636
- # The list of MirroringEndpointGroup
2972
+ # The endpoint groups from the specified parent.
2637
2973
  # Corresponds to the JSON property `mirroringEndpointGroups`
2638
2974
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroup>]
2639
2975
  attr_accessor :mirroring_endpoint_groups
2640
2976
 
2641
- # A token identifying a page of results the server should return.
2977
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2978
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2979
+ # 158 for more details.
2642
2980
  # Corresponds to the JSON property `nextPageToken`
2643
2981
  # @return [String]
2644
2982
  attr_accessor :next_page_token
@@ -2749,6 +3087,13 @@ module Google
2749
3087
  # @return [Array<Google::Apis::NetworksecurityV1beta1::ServerTlsPolicy>]
2750
3088
  attr_accessor :server_tls_policies
2751
3089
 
3090
+ # Unreachable resources. Populated when the request opts into `
3091
+ # return_partial_success` and reading across collections e.g. when attempting to
3092
+ # list all resources across all supported locations.
3093
+ # Corresponds to the JSON property `unreachable`
3094
+ # @return [Array<String>]
3095
+ attr_accessor :unreachable
3096
+
2752
3097
  def initialize(**args)
2753
3098
  update!(**args)
2754
3099
  end
@@ -2757,6 +3102,7 @@ module Google
2757
3102
  def update!(**args)
2758
3103
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2759
3104
  @server_tls_policies = args[:server_tls_policies] if args.key?(:server_tls_policies)
3105
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2760
3106
  end
2761
3107
  end
2762
3108
 
@@ -2912,52 +3258,69 @@ module Google
2912
3258
  end
2913
3259
  end
2914
3260
 
2915
- # Message describing MirroringDeployment object NEXT ID: 10
3261
+ # A deployment represents a zonal mirroring backend ready to accept GENEVE-
3262
+ # encapsulated replica traffic, e.g. a zonal instance group fronted by an
3263
+ # internal passthrough load balancer. Deployments are always part of a global
3264
+ # deployment group which represents a global mirroring service.
2916
3265
  class MirroringDeployment
2917
3266
  include Google::Apis::Core::Hashable
2918
3267
 
2919
- # Output only. [Output only] Create time stamp
3268
+ # Output only. The timestamp when the resource was created. See https://google.
3269
+ # aip.dev/148#timestamps.
2920
3270
  # Corresponds to the JSON property `createTime`
2921
3271
  # @return [String]
2922
3272
  attr_accessor :create_time
2923
3273
 
2924
- # Required. Immutable. The regional load balancer which the mirrored traffic
2925
- # should be forwarded to. Format is: projects/`project`/regions/`region`/
2926
- # forwardingRules/`forwardingRule`
3274
+ # Optional. User-provided description of the deployment. Used as additional
3275
+ # context for the deployment.
3276
+ # Corresponds to the JSON property `description`
3277
+ # @return [String]
3278
+ attr_accessor :description
3279
+
3280
+ # Required. Immutable. The regional forwarding rule that fronts the mirroring
3281
+ # collectors, for example: `projects/123456789/regions/us-central1/
3282
+ # forwardingRules/my-rule`. See https://google.aip.dev/124.
2927
3283
  # Corresponds to the JSON property `forwardingRule`
2928
3284
  # @return [String]
2929
3285
  attr_accessor :forwarding_rule
2930
3286
 
2931
- # Optional. Labels as key value pairs
3287
+ # Optional. Labels are key/value pairs that help to organize and filter
3288
+ # resources.
2932
3289
  # Corresponds to the JSON property `labels`
2933
3290
  # @return [Hash<String,String>]
2934
3291
  attr_accessor :labels
2935
3292
 
2936
- # Required. Immutable. The Mirroring Deployment Group that this resource is part
2937
- # of. Format is: `projects/`project`/locations/global/mirroringDeploymentGroups/`
2938
- # mirroringDeploymentGroup``
3293
+ # Required. Immutable. The deployment group that this deployment is a part of,
3294
+ # for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-
3295
+ # dg`. See https://google.aip.dev/124.
2939
3296
  # Corresponds to the JSON property `mirroringDeploymentGroup`
2940
3297
  # @return [String]
2941
3298
  attr_accessor :mirroring_deployment_group
2942
3299
 
2943
- # Immutable. Identifier. The name of the MirroringDeployment.
3300
+ # Immutable. Identifier. The resource name of this deployment, for example: `
3301
+ # projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. See
3302
+ # https://google.aip.dev/122 for more details.
2944
3303
  # Corresponds to the JSON property `name`
2945
3304
  # @return [String]
2946
3305
  attr_accessor :name
2947
3306
 
2948
- # Output only. Whether reconciling is in progress, recommended per https://
2949
- # google.aip.dev/128.
3307
+ # Output only. The current state of the resource does not match the user's
3308
+ # intended state, and the system is working to reconcile them. This part of the
3309
+ # normal operation (e.g. linking a new association to the parent group). See
3310
+ # https://google.aip.dev/128.
2950
3311
  # Corresponds to the JSON property `reconciling`
2951
3312
  # @return [Boolean]
2952
3313
  attr_accessor :reconciling
2953
3314
  alias_method :reconciling?, :reconciling
2954
3315
 
2955
- # Output only. Current state of the deployment.
3316
+ # Output only. The current state of the deployment. See https://google.aip.dev/
3317
+ # 216.
2956
3318
  # Corresponds to the JSON property `state`
2957
3319
  # @return [String]
2958
3320
  attr_accessor :state
2959
3321
 
2960
- # Output only. [Output only] Update time stamp
3322
+ # Output only. The timestamp when the resource was most recently updated. See
3323
+ # https://google.aip.dev/148#timestamps.
2961
3324
  # Corresponds to the JSON property `updateTime`
2962
3325
  # @return [String]
2963
3326
  attr_accessor :update_time
@@ -2969,6 +3332,7 @@ module Google
2969
3332
  # Update properties of this object
2970
3333
  def update!(**args)
2971
3334
  @create_time = args[:create_time] if args.key?(:create_time)
3335
+ @description = args[:description] if args.key?(:description)
2972
3336
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2973
3337
  @labels = args[:labels] if args.key?(:labels)
2974
3338
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
@@ -2979,50 +3343,76 @@ module Google
2979
3343
  end
2980
3344
  end
2981
3345
 
2982
- # Message describing MirroringDeploymentGroup object NEXT ID: 10
3346
+ # A deployment group aggregates many zonal mirroring backends (deployments) into
3347
+ # a single global mirroring service. Consumers can connect this service using an
3348
+ # endpoint group.
2983
3349
  class MirroringDeploymentGroup
2984
3350
  include Google::Apis::Core::Hashable
2985
3351
 
2986
- # Output only. The list of Mirroring Endpoint Groups that are connected to this
2987
- # resource.
3352
+ # Output only. The list of endpoint groups that are connected to this resource.
2988
3353
  # Corresponds to the JSON property `connectedEndpointGroups`
2989
3354
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupConnectedEndpointGroup>]
2990
3355
  attr_accessor :connected_endpoint_groups
2991
3356
 
2992
- # Output only. [Output only] Create time stamp
3357
+ # Output only. The timestamp when the resource was created. See https://google.
3358
+ # aip.dev/148#timestamps.
2993
3359
  # Corresponds to the JSON property `createTime`
2994
3360
  # @return [String]
2995
3361
  attr_accessor :create_time
2996
3362
 
2997
- # Optional. Labels as key value pairs
3363
+ # Optional. User-provided description of the deployment group. Used as
3364
+ # additional context for the deployment group.
3365
+ # Corresponds to the JSON property `description`
3366
+ # @return [String]
3367
+ attr_accessor :description
3368
+
3369
+ # Optional. Labels are key/value pairs that help to organize and filter
3370
+ # resources.
2998
3371
  # Corresponds to the JSON property `labels`
2999
3372
  # @return [Hash<String,String>]
3000
3373
  attr_accessor :labels
3001
3374
 
3002
- # Immutable. Identifier. Then name of the MirroringDeploymentGroup.
3375
+ # Output only. The list of locations where the deployment group is present.
3376
+ # Corresponds to the JSON property `locations`
3377
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringLocation>]
3378
+ attr_accessor :locations
3379
+
3380
+ # Immutable. Identifier. The resource name of this deployment group, for example:
3381
+ # `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See
3382
+ # https://google.aip.dev/122 for more details.
3003
3383
  # Corresponds to the JSON property `name`
3004
3384
  # @return [String]
3005
3385
  attr_accessor :name
3006
3386
 
3007
- # Required. Immutable. The network that is being used for the deployment. Format
3008
- # is: projects/`project`/global/networks/`network`.
3387
+ # Output only. The list of Mirroring Deployments that belong to this group.
3388
+ # Corresponds to the JSON property `nestedDeployments`
3389
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupDeployment>]
3390
+ attr_accessor :nested_deployments
3391
+
3392
+ # Required. Immutable. The network that will be used for all child deployments,
3393
+ # for example: `projects/`project`/global/networks/`network``. See https://
3394
+ # google.aip.dev/124.
3009
3395
  # Corresponds to the JSON property `network`
3010
3396
  # @return [String]
3011
3397
  attr_accessor :network
3012
3398
 
3013
- # Output only. Whether reconciling is in progress, recommended per https://
3399
+ # Output only. The current state of the resource does not match the user's
3400
+ # intended state, and the system is working to reconcile them. This is part of
3401
+ # the normal operation (e.g. adding a new deployment to the group) See https://
3014
3402
  # google.aip.dev/128.
3015
3403
  # Corresponds to the JSON property `reconciling`
3016
3404
  # @return [Boolean]
3017
3405
  attr_accessor :reconciling
3018
3406
  alias_method :reconciling?, :reconciling
3019
3407
 
3020
- # Output only. Current state of the deployment group.
3408
+ # Output only. The current state of the deployment group. See https://google.aip.
3409
+ # dev/216.
3021
3410
  # Corresponds to the JSON property `state`
3022
3411
  # @return [String]
3023
3412
  attr_accessor :state
3024
3413
 
3025
- # Output only. [Output only] Update time stamp
3414
+ # Output only. The timestamp when the resource was most recently updated. See
3415
+ # https://google.aip.dev/148#timestamps.
3026
3416
  # Corresponds to the JSON property `updateTime`
3027
3417
  # @return [String]
3028
3418
  attr_accessor :update_time
@@ -3035,8 +3425,11 @@ module Google
3035
3425
  def update!(**args)
3036
3426
  @connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
3037
3427
  @create_time = args[:create_time] if args.key?(:create_time)
3428
+ @description = args[:description] if args.key?(:description)
3038
3429
  @labels = args[:labels] if args.key?(:labels)
3430
+ @locations = args[:locations] if args.key?(:locations)
3039
3431
  @name = args[:name] if args.key?(:name)
3432
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
3040
3433
  @network = args[:network] if args.key?(:network)
3041
3434
  @reconciling = args[:reconciling] if args.key?(:reconciling)
3042
3435
  @state = args[:state] if args.key?(:state)
@@ -3048,7 +3441,9 @@ module Google
3048
3441
  class MirroringDeploymentGroupConnectedEndpointGroup
3049
3442
  include Google::Apis::Core::Hashable
3050
3443
 
3051
- # Output only. A connected mirroring endpoint group.
3444
+ # Output only. The connected endpoint group's resource name, for example: `
3445
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
3446
+ # /google.aip.dev/124.
3052
3447
  # Corresponds to the JSON property `name`
3053
3448
  # @return [String]
3054
3449
  attr_accessor :name
@@ -3063,45 +3458,100 @@ module Google
3063
3458
  end
3064
3459
  end
3065
3460
 
3066
- # Message describing MirroringEndpointGroup object.
3461
+ # A deployment belonging to this deployment group.
3462
+ class MirroringDeploymentGroupDeployment
3463
+ include Google::Apis::Core::Hashable
3464
+
3465
+ # Output only. The name of the Mirroring Deployment, in the format: `projects/`
3466
+ # project`/locations/`location`/mirroringDeployments/`mirroring_deployment``.
3467
+ # Corresponds to the JSON property `name`
3468
+ # @return [String]
3469
+ attr_accessor :name
3470
+
3471
+ # Output only. Most recent known state of the deployment.
3472
+ # Corresponds to the JSON property `state`
3473
+ # @return [String]
3474
+ attr_accessor :state
3475
+
3476
+ def initialize(**args)
3477
+ update!(**args)
3478
+ end
3479
+
3480
+ # Update properties of this object
3481
+ def update!(**args)
3482
+ @name = args[:name] if args.key?(:name)
3483
+ @state = args[:state] if args.key?(:state)
3484
+ end
3485
+ end
3486
+
3487
+ # An endpoint group is a consumer frontend for a deployment group (backend). In
3488
+ # order to configure mirroring for a network, consumers must create: - An
3489
+ # association between their network and the endpoint group. - A security profile
3490
+ # that points to the endpoint group. - A mirroring rule that references the
3491
+ # security profile (group).
3067
3492
  class MirroringEndpointGroup
3068
3493
  include Google::Apis::Core::Hashable
3069
3494
 
3070
- # Output only. [Output only] Create time stamp
3495
+ # Output only. List of associations to this endpoint group.
3496
+ # Corresponds to the JSON property `associations`
3497
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationDetails>]
3498
+ attr_accessor :associations
3499
+
3500
+ # Output only. List of details about the connected deployment groups to this
3501
+ # endpoint group.
3502
+ # Corresponds to the JSON property `connectedDeploymentGroups`
3503
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupConnectedDeploymentGroup>]
3504
+ attr_accessor :connected_deployment_groups
3505
+
3506
+ # Output only. The timestamp when the resource was created. See https://google.
3507
+ # aip.dev/148#timestamps.
3071
3508
  # Corresponds to the JSON property `createTime`
3072
3509
  # @return [String]
3073
3510
  attr_accessor :create_time
3074
3511
 
3075
- # Optional. Labels as key value pairs
3512
+ # Optional. User-provided description of the endpoint group. Used as additional
3513
+ # context for the endpoint group.
3514
+ # Corresponds to the JSON property `description`
3515
+ # @return [String]
3516
+ attr_accessor :description
3517
+
3518
+ # Optional. Labels are key/value pairs that help to organize and filter
3519
+ # resources.
3076
3520
  # Corresponds to the JSON property `labels`
3077
3521
  # @return [Hash<String,String>]
3078
3522
  attr_accessor :labels
3079
3523
 
3080
- # Required. Immutable. The Mirroring Deployment Group that this resource is
3081
- # connected to. Format is: `projects/`project`/locations/global/
3082
- # mirroringDeploymentGroups/`mirroringDeploymentGroup``
3524
+ # Immutable. The deployment group that this DIRECT endpoint group is connected
3525
+ # to, for example: `projects/123456789/locations/global/
3526
+ # mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/124.
3083
3527
  # Corresponds to the JSON property `mirroringDeploymentGroup`
3084
3528
  # @return [String]
3085
3529
  attr_accessor :mirroring_deployment_group
3086
3530
 
3087
- # Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup.
3531
+ # Immutable. Identifier. The resource name of this endpoint group, for example: `
3532
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
3533
+ # /google.aip.dev/122 for more details.
3088
3534
  # Corresponds to the JSON property `name`
3089
3535
  # @return [String]
3090
3536
  attr_accessor :name
3091
3537
 
3092
- # Output only. Whether reconciling is in progress, recommended per https://
3538
+ # Output only. The current state of the resource does not match the user's
3539
+ # intended state, and the system is working to reconcile them. This is part of
3540
+ # the normal operation (e.g. adding a new association to the group). See https://
3093
3541
  # google.aip.dev/128.
3094
3542
  # Corresponds to the JSON property `reconciling`
3095
3543
  # @return [Boolean]
3096
3544
  attr_accessor :reconciling
3097
3545
  alias_method :reconciling?, :reconciling
3098
3546
 
3099
- # Output only. Current state of the endpoint group.
3547
+ # Output only. The current state of the endpoint group. See https://google.aip.
3548
+ # dev/216.
3100
3549
  # Corresponds to the JSON property `state`
3101
3550
  # @return [String]
3102
3551
  attr_accessor :state
3103
3552
 
3104
- # Output only. [Output only] Update time stamp
3553
+ # Output only. The timestamp when the resource was most recently updated. See
3554
+ # https://google.aip.dev/148#timestamps.
3105
3555
  # Corresponds to the JSON property `updateTime`
3106
3556
  # @return [String]
3107
3557
  attr_accessor :update_time
@@ -3112,7 +3562,10 @@ module Google
3112
3562
 
3113
3563
  # Update properties of this object
3114
3564
  def update!(**args)
3565
+ @associations = args[:associations] if args.key?(:associations)
3566
+ @connected_deployment_groups = args[:connected_deployment_groups] if args.key?(:connected_deployment_groups)
3115
3567
  @create_time = args[:create_time] if args.key?(:create_time)
3568
+ @description = args[:description] if args.key?(:description)
3116
3569
  @labels = args[:labels] if args.key?(:labels)
3117
3570
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
3118
3571
  @name = args[:name] if args.key?(:name)
@@ -3122,45 +3575,65 @@ module Google
3122
3575
  end
3123
3576
  end
3124
3577
 
3125
- # Message describing MirroringEndpointGroupAssociation object
3578
+ # An endpoint group association represents a link between a network and an
3579
+ # endpoint group in the organization. Creating an association creates the
3580
+ # networking infrastructure linking the network to the endpoint group, but does
3581
+ # not enable mirroring by itself. To enable mirroring, the user must also create
3582
+ # a network firewall policy containing mirroring rules and associate it with the
3583
+ # network.
3126
3584
  class MirroringEndpointGroupAssociation
3127
3585
  include Google::Apis::Core::Hashable
3128
3586
 
3129
- # Output only. [Output only] Create time stamp
3587
+ # Output only. The timestamp when the resource was created. See https://google.
3588
+ # aip.dev/148#timestamps.
3130
3589
  # Corresponds to the JSON property `createTime`
3131
3590
  # @return [String]
3132
3591
  attr_accessor :create_time
3133
3592
 
3134
- # Optional. Labels as key value pairs
3593
+ # Optional. Labels are key/value pairs that help to organize and filter
3594
+ # resources.
3135
3595
  # Corresponds to the JSON property `labels`
3136
3596
  # @return [Hash<String,String>]
3137
3597
  attr_accessor :labels
3138
3598
 
3139
- # Output only. The list of locations that this association is in and its details.
3599
+ # Output only. The list of locations where the association is configured. This
3600
+ # information is retrieved from the linked endpoint group.
3601
+ # Corresponds to the JSON property `locations`
3602
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringLocation>]
3603
+ attr_accessor :locations
3604
+
3605
+ # Output only. The list of locations where the association is present. This
3606
+ # information is retrieved from the linked endpoint group, and not configured as
3607
+ # part of the association itself.
3140
3608
  # Corresponds to the JSON property `locationsDetails`
3141
3609
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationLocationDetails>]
3142
3610
  attr_accessor :locations_details
3143
3611
 
3144
- # Required. Immutable. The Mirroring Endpoint Group that this resource is
3145
- # connected to. Format is: `projects/`project`/locations/global/
3146
- # mirroringEndpointGroups/`mirroringEndpointGroup``
3612
+ # Immutable. The endpoint group that this association is connected to, for
3613
+ # example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`.
3614
+ # See https://google.aip.dev/124.
3147
3615
  # Corresponds to the JSON property `mirroringEndpointGroup`
3148
3616
  # @return [String]
3149
3617
  attr_accessor :mirroring_endpoint_group
3150
3618
 
3151
- # Immutable. Identifier. The name of the MirroringEndpointGroupAssociation.
3619
+ # Immutable. Identifier. The resource name of this endpoint group association,
3620
+ # for example: `projects/123456789/locations/global/
3621
+ # mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.
3622
+ # dev/122 for more details.
3152
3623
  # Corresponds to the JSON property `name`
3153
3624
  # @return [String]
3154
3625
  attr_accessor :name
3155
3626
 
3156
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
3157
- # global/networks/`network`.
3627
+ # Immutable. The VPC network that is associated. for example: `projects/
3628
+ # 123456789/global/networks/my-network`. See https://google.aip.dev/124.
3158
3629
  # Corresponds to the JSON property `network`
3159
3630
  # @return [String]
3160
3631
  attr_accessor :network
3161
3632
 
3162
- # Output only. Whether reconciling is in progress, recommended per https://
3163
- # google.aip.dev/128.
3633
+ # Output only. The current state of the resource does not match the user's
3634
+ # intended state, and the system is working to reconcile them. This part of the
3635
+ # normal operation (e.g. adding a new location to the target deployment group).
3636
+ # See https://google.aip.dev/128.
3164
3637
  # Corresponds to the JSON property `reconciling`
3165
3638
  # @return [Boolean]
3166
3639
  attr_accessor :reconciling
@@ -3171,7 +3644,8 @@ module Google
3171
3644
  # @return [String]
3172
3645
  attr_accessor :state
3173
3646
 
3174
- # Output only. [Output only] Update time stamp
3647
+ # Output only. The timestamp when the resource was most recently updated. See
3648
+ # https://google.aip.dev/148#timestamps.
3175
3649
  # Corresponds to the JSON property `updateTime`
3176
3650
  # @return [String]
3177
3651
  attr_accessor :update_time
@@ -3184,6 +3658,7 @@ module Google
3184
3658
  def update!(**args)
3185
3659
  @create_time = args[:create_time] if args.key?(:create_time)
3186
3660
  @labels = args[:labels] if args.key?(:labels)
3661
+ @locations = args[:locations] if args.key?(:locations)
3187
3662
  @locations_details = args[:locations_details] if args.key?(:locations_details)
3188
3663
  @mirroring_endpoint_group = args[:mirroring_endpoint_group] if args.key?(:mirroring_endpoint_group)
3189
3664
  @name = args[:name] if args.key?(:name)
@@ -3194,16 +3669,103 @@ module Google
3194
3669
  end
3195
3670
  end
3196
3671
 
3197
- # Details about the association status in a specific cloud location.
3672
+ # The endpoint group's view of a connected association.
3673
+ class MirroringEndpointGroupAssociationDetails
3674
+ include Google::Apis::Core::Hashable
3675
+
3676
+ # Output only. The connected association's resource name, for example: `projects/
3677
+ # 123456789/locations/global/mirroringEndpointGroupAssociations/my-ega`. See
3678
+ # https://google.aip.dev/124.
3679
+ # Corresponds to the JSON property `name`
3680
+ # @return [String]
3681
+ attr_accessor :name
3682
+
3683
+ # Output only. The associated network, for example: projects/123456789/global/
3684
+ # networks/my-network. See https://google.aip.dev/124.
3685
+ # Corresponds to the JSON property `network`
3686
+ # @return [String]
3687
+ attr_accessor :network
3688
+
3689
+ # Output only. Most recent known state of the association.
3690
+ # Corresponds to the JSON property `state`
3691
+ # @return [String]
3692
+ attr_accessor :state
3693
+
3694
+ def initialize(**args)
3695
+ update!(**args)
3696
+ end
3697
+
3698
+ # Update properties of this object
3699
+ def update!(**args)
3700
+ @name = args[:name] if args.key?(:name)
3701
+ @network = args[:network] if args.key?(:network)
3702
+ @state = args[:state] if args.key?(:state)
3703
+ end
3704
+ end
3705
+
3706
+ # Contains details about the state of an association in a specific cloud
3707
+ # location.
3198
3708
  class MirroringEndpointGroupAssociationLocationDetails
3199
3709
  include Google::Apis::Core::Hashable
3200
3710
 
3201
- # Output only. The cloud location.
3711
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
3712
+ # Corresponds to the JSON property `location`
3713
+ # @return [String]
3714
+ attr_accessor :location
3715
+
3716
+ # Output only. The current state of the association in this location.
3717
+ # Corresponds to the JSON property `state`
3718
+ # @return [String]
3719
+ attr_accessor :state
3720
+
3721
+ def initialize(**args)
3722
+ update!(**args)
3723
+ end
3724
+
3725
+ # Update properties of this object
3726
+ def update!(**args)
3727
+ @location = args[:location] if args.key?(:location)
3728
+ @state = args[:state] if args.key?(:state)
3729
+ end
3730
+ end
3731
+
3732
+ # The endpoint group's view of a connected deployment group.
3733
+ class MirroringEndpointGroupConnectedDeploymentGroup
3734
+ include Google::Apis::Core::Hashable
3735
+
3736
+ # Output only. The list of locations where the deployment group is present.
3737
+ # Corresponds to the JSON property `locations`
3738
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringLocation>]
3739
+ attr_accessor :locations
3740
+
3741
+ # Output only. The connected deployment group's resource name, for example: `
3742
+ # projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See
3743
+ # https://google.aip.dev/124.
3744
+ # Corresponds to the JSON property `name`
3745
+ # @return [String]
3746
+ attr_accessor :name
3747
+
3748
+ def initialize(**args)
3749
+ update!(**args)
3750
+ end
3751
+
3752
+ # Update properties of this object
3753
+ def update!(**args)
3754
+ @locations = args[:locations] if args.key?(:locations)
3755
+ @name = args[:name] if args.key?(:name)
3756
+ end
3757
+ end
3758
+
3759
+ # Details about mirroring in a specific cloud location.
3760
+ class MirroringLocation
3761
+ include Google::Apis::Core::Hashable
3762
+
3763
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
3202
3764
  # Corresponds to the JSON property `location`
3203
3765
  # @return [String]
3204
3766
  attr_accessor :location
3205
3767
 
3206
- # Output only. The association state in this location.
3768
+ # Output only. The current state of the association in this location.
3207
3769
  # Corresponds to the JSON property `state`
3208
3770
  # @return [String]
3209
3771
  attr_accessor :state
@@ -3416,14 +3978,14 @@ module Google
3416
3978
  # @return [String]
3417
3979
  attr_accessor :create_time
3418
3980
 
3419
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
3420
- # intercept traffic to a third-party firewall in a Firewall rule.
3981
+ # CustomInterceptProfile defines in-band integration behavior (intercept). It is
3982
+ # used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
3421
3983
  # Corresponds to the JSON property `customInterceptProfile`
3422
3984
  # @return [Google::Apis::NetworksecurityV1beta1::CustomInterceptProfile]
3423
3985
  attr_accessor :custom_intercept_profile
3424
3986
 
3425
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
3426
- # s EndpointGroup
3987
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
3988
+ # It is used by mirroring rules with a MIRROR action.
3427
3989
  # Corresponds to the JSON property `customMirroringProfile`
3428
3990
  # @return [Google::Apis::NetworksecurityV1beta1::CustomMirroringProfile]
3429
3991
  attr_accessor :custom_mirroring_profile
@@ -3509,6 +4071,12 @@ module Google
3509
4071
  # @return [String]
3510
4072
  attr_accessor :custom_mirroring_profile
3511
4073
 
4074
+ # Output only. Identifier used by the data-path. Unique within `container,
4075
+ # location`.
4076
+ # Corresponds to the JSON property `dataPathId`
4077
+ # @return [Fixnum]
4078
+ attr_accessor :data_path_id
4079
+
3512
4080
  # Optional. An optional description of the profile group. Max length 2048
3513
4081
  # characters.
3514
4082
  # Corresponds to the JSON property `description`
@@ -3554,6 +4122,7 @@ module Google
3554
4122
  @create_time = args[:create_time] if args.key?(:create_time)
3555
4123
  @custom_intercept_profile = args[:custom_intercept_profile] if args.key?(:custom_intercept_profile)
3556
4124
  @custom_mirroring_profile = args[:custom_mirroring_profile] if args.key?(:custom_mirroring_profile)
4125
+ @data_path_id = args[:data_path_id] if args.key?(:data_path_id)
3557
4126
  @description = args[:description] if args.key?(:description)
3558
4127
  @etag = args[:etag] if args.key?(:etag)
3559
4128
  @labels = args[:labels] if args.key?(:labels)
@@ -3777,6 +4346,11 @@ module Google
3777
4346
  class ThreatPreventionProfile
3778
4347
  include Google::Apis::Core::Hashable
3779
4348
 
4349
+ # Optional. Configuration for overriding antivirus actions per protocol.
4350
+ # Corresponds to the JSON property `antivirusOverrides`
4351
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::AntivirusOverride>]
4352
+ attr_accessor :antivirus_overrides
4353
+
3780
4354
  # Optional. Configuration for overriding threats actions by severity match.
3781
4355
  # Corresponds to the JSON property `severityOverrides`
3782
4356
  # @return [Array<Google::Apis::NetworksecurityV1beta1::SeverityOverride>]
@@ -3795,6 +4369,7 @@ module Google
3795
4369
 
3796
4370
  # Update properties of this object
3797
4371
  def update!(**args)
4372
+ @antivirus_overrides = args[:antivirus_overrides] if args.key?(:antivirus_overrides)
3798
4373
  @severity_overrides = args[:severity_overrides] if args.key?(:severity_overrides)
3799
4374
  @threat_overrides = args[:threat_overrides] if args.key?(:threat_overrides)
3800
4375
  end