google-apis-networksecurity_v1beta1 0.41.0 → 0.42.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 intercept
1903
+ # collectors, for example: `projects/123456789/regions/us-central1/
1904
+ # forwardingRules/my-rule`. 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,48 @@ 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
+ # Immutable. Identifier. The resource name of this deployment group, for example:
1998
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`. See
1999
+ # https://google.aip.dev/122 for more details.
1853
2000
  # Corresponds to the JSON property `name`
1854
2001
  # @return [String]
1855
2002
  attr_accessor :name
1856
2003
 
1857
- # Required. Immutable. The network that is being used for the deployment. Format
1858
- # is: projects/`project`/global/networks/`network`.
2004
+ # Output only. The list of Intercept Deployments that belong to this group.
2005
+ # Corresponds to the JSON property `nestedDeployments`
2006
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroupDeployment>]
2007
+ attr_accessor :nested_deployments
2008
+
2009
+ # Required. Immutable. The network that will be used for all child deployments,
2010
+ # for example: `projects/`project`/global/networks/`network``. See https://
2011
+ # google.aip.dev/124.
1859
2012
  # Corresponds to the JSON property `network`
1860
2013
  # @return [String]
1861
2014
  attr_accessor :network
1862
2015
 
1863
- # Output only. Whether reconciling is in progress, recommended per https://
2016
+ # Output only. The current state of the resource does not match the user's
2017
+ # intended state, and the system is working to reconcile them. This is part of
2018
+ # the normal operation (e.g. adding a new deployment to the group) See https://
1864
2019
  # google.aip.dev/128.
1865
2020
  # Corresponds to the JSON property `reconciling`
1866
2021
  # @return [Boolean]
1867
2022
  attr_accessor :reconciling
1868
2023
  alias_method :reconciling?, :reconciling
1869
2024
 
1870
- # Output only. Current state of the deployment group.
2025
+ # Output only. The current state of the deployment group. See https://google.aip.
2026
+ # dev/216.
1871
2027
  # Corresponds to the JSON property `state`
1872
2028
  # @return [String]
1873
2029
  attr_accessor :state
1874
2030
 
1875
- # Output only. [Output only] Update time stamp
2031
+ # Output only. The timestamp when the resource was most recently updated. See
2032
+ # https://google.aip.dev/148#timestamps.
1876
2033
  # Corresponds to the JSON property `updateTime`
1877
2034
  # @return [String]
1878
2035
  attr_accessor :update_time
@@ -1888,6 +2045,7 @@ module Google
1888
2045
  @description = args[:description] if args.key?(:description)
1889
2046
  @labels = args[:labels] if args.key?(:labels)
1890
2047
  @name = args[:name] if args.key?(:name)
2048
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
1891
2049
  @network = args[:network] if args.key?(:network)
1892
2050
  @reconciling = args[:reconciling] if args.key?(:reconciling)
1893
2051
  @state = args[:state] if args.key?(:state)
@@ -1899,11 +2057,38 @@ module Google
1899
2057
  class InterceptDeploymentGroupConnectedEndpointGroup
1900
2058
  include Google::Apis::Core::Hashable
1901
2059
 
1902
- # Output only. A connected intercept endpoint group.
2060
+ # Output only. The connected endpoint group's resource name, for example: `
2061
+ # projects/123456789/locations/global/interceptEndpointGroups/my-eg`. See https:/
2062
+ # /google.aip.dev/124.
2063
+ # Corresponds to the JSON property `name`
2064
+ # @return [String]
2065
+ attr_accessor :name
2066
+
2067
+ def initialize(**args)
2068
+ update!(**args)
2069
+ end
2070
+
2071
+ # Update properties of this object
2072
+ def update!(**args)
2073
+ @name = args[:name] if args.key?(:name)
2074
+ end
2075
+ end
2076
+
2077
+ # A deployment belonging to this deployment group.
2078
+ class InterceptDeploymentGroupDeployment
2079
+ include Google::Apis::Core::Hashable
2080
+
2081
+ # Output only. The name of the Intercept Deployment, in the format: `projects/`
2082
+ # project`/locations/`location`/interceptDeployments/`intercept_deployment``.
1903
2083
  # Corresponds to the JSON property `name`
1904
2084
  # @return [String]
1905
2085
  attr_accessor :name
1906
2086
 
2087
+ # Output only. Most recent known state of the deployment.
2088
+ # Corresponds to the JSON property `state`
2089
+ # @return [String]
2090
+ attr_accessor :state
2091
+
1907
2092
  def initialize(**args)
1908
2093
  update!(**args)
1909
2094
  end
@@ -1911,20 +2096,25 @@ module Google
1911
2096
  # Update properties of this object
1912
2097
  def update!(**args)
1913
2098
  @name = args[:name] if args.key?(:name)
2099
+ @state = args[:state] if args.key?(:state)
1914
2100
  end
1915
2101
  end
1916
2102
 
1917
- # Message describing InterceptEndpointGroup object.
2103
+ # An endpoint group is a consumer frontend for a deployment group (backend). In
2104
+ # order to configure intercept for a network, consumers must create: - An
2105
+ # association between their network and the endpoint group. - A security profile
2106
+ # that points to the endpoint group. - A firewall rule that references the
2107
+ # security profile (group).
1918
2108
  class InterceptEndpointGroup
1919
2109
  include Google::Apis::Core::Hashable
1920
2110
 
1921
- # Output only. List of Intercept Endpoint Group Associations that are associated
1922
- # to this endpoint group.
2111
+ # Output only. List of associations to this endpoint group.
1923
2112
  # Corresponds to the JSON property `associations`
1924
2113
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationDetails>]
1925
2114
  attr_accessor :associations
1926
2115
 
1927
- # Output only. [Output only] Create time stamp
2116
+ # Output only. The timestamp when the resource was created. See https://google.
2117
+ # aip.dev/148#timestamps.
1928
2118
  # Corresponds to the JSON property `createTime`
1929
2119
  # @return [String]
1930
2120
  attr_accessor :create_time
@@ -1935,36 +2125,43 @@ module Google
1935
2125
  # @return [String]
1936
2126
  attr_accessor :description
1937
2127
 
1938
- # Required. Immutable. The Intercept Deployment Group that this resource is
1939
- # connected to. Format is: `projects/`project`/locations/global/
1940
- # interceptDeploymentGroups/`interceptDeploymentGroup``
2128
+ # Immutable. The deployment group that this endpoint group is connected to, for
2129
+ # example: `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2130
+ # See https://google.aip.dev/124.
1941
2131
  # Corresponds to the JSON property `interceptDeploymentGroup`
1942
2132
  # @return [String]
1943
2133
  attr_accessor :intercept_deployment_group
1944
2134
 
1945
- # Optional. Labels as key value pairs
2135
+ # Optional. Labels are key/value pairs that help to organize and filter
2136
+ # resources.
1946
2137
  # Corresponds to the JSON property `labels`
1947
2138
  # @return [Hash<String,String>]
1948
2139
  attr_accessor :labels
1949
2140
 
1950
- # Immutable. Identifier. The name of the InterceptEndpointGroup.
2141
+ # Immutable. Identifier. The resource name of this endpoint group, for example: `
2142
+ # projects/123456789/locations/global/interceptEndpointGroups/my-eg`. See https:/
2143
+ # /google.aip.dev/122 for more details.
1951
2144
  # Corresponds to the JSON property `name`
1952
2145
  # @return [String]
1953
2146
  attr_accessor :name
1954
2147
 
1955
- # Output only. Whether reconciling is in progress, recommended per https://
2148
+ # Output only. The current state of the resource does not match the user's
2149
+ # intended state, and the system is working to reconcile them. This is part of
2150
+ # the normal operation (e.g. adding a new association to the group). See https://
1956
2151
  # google.aip.dev/128.
1957
2152
  # Corresponds to the JSON property `reconciling`
1958
2153
  # @return [Boolean]
1959
2154
  attr_accessor :reconciling
1960
2155
  alias_method :reconciling?, :reconciling
1961
2156
 
1962
- # Output only. Current state of the endpoint group.
2157
+ # Output only. The current state of the endpoint group. See https://google.aip.
2158
+ # dev/216.
1963
2159
  # Corresponds to the JSON property `state`
1964
2160
  # @return [String]
1965
2161
  attr_accessor :state
1966
2162
 
1967
- # Output only. [Output only] Update time stamp
2163
+ # Output only. The timestamp when the resource was most recently updated. See
2164
+ # https://google.aip.dev/148#timestamps.
1968
2165
  # Corresponds to the JSON property `updateTime`
1969
2166
  # @return [String]
1970
2167
  attr_accessor :update_time
@@ -1987,45 +2184,59 @@ module Google
1987
2184
  end
1988
2185
  end
1989
2186
 
1990
- # Message describing InterceptEndpointGroupAssociation object
2187
+ # An endpoint group association represents a link between a network and an
2188
+ # endpoint group in the organization. Creating an association creates the
2189
+ # networking infrastructure linking the network to the endpoint group, but does
2190
+ # not enable intercept by itself. To enable intercept, the user must also create
2191
+ # a network firewall policy containing intercept rules and associate it with the
2192
+ # network.
1991
2193
  class InterceptEndpointGroupAssociation
1992
2194
  include Google::Apis::Core::Hashable
1993
2195
 
1994
- # Output only. [Output only] Create time stamp
2196
+ # Output only. The timestamp when the resource was created. See https://google.
2197
+ # aip.dev/148#timestamps.
1995
2198
  # Corresponds to the JSON property `createTime`
1996
2199
  # @return [String]
1997
2200
  attr_accessor :create_time
1998
2201
 
1999
- # Required. Immutable. The Intercept Endpoint Group that this resource is
2000
- # connected to. Format is: `projects/`project`/locations/global/
2001
- # interceptEndpointGroups/`interceptEndpointGroup``
2202
+ # Immutable. The endpoint group that this association is connected to, for
2203
+ # example: `projects/123456789/locations/global/interceptEndpointGroups/my-eg`.
2204
+ # See https://google.aip.dev/124.
2002
2205
  # Corresponds to the JSON property `interceptEndpointGroup`
2003
2206
  # @return [String]
2004
2207
  attr_accessor :intercept_endpoint_group
2005
2208
 
2006
- # Optional. Labels as key value pairs
2209
+ # Optional. Labels are key/value pairs that help to organize and filter
2210
+ # resources.
2007
2211
  # Corresponds to the JSON property `labels`
2008
2212
  # @return [Hash<String,String>]
2009
2213
  attr_accessor :labels
2010
2214
 
2011
- # Output only. The list of locations that this association is in and its details.
2215
+ # Output only. The list of locations where the association is present. This
2216
+ # information is retrieved from the linked endpoint group, and not configured as
2217
+ # part of the association itself.
2012
2218
  # Corresponds to the JSON property `locationsDetails`
2013
2219
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationLocationDetails>]
2014
2220
  attr_accessor :locations_details
2015
2221
 
2016
- # Immutable. Identifier. The name of the InterceptEndpointGroupAssociation.
2222
+ # Immutable. Identifier. The resource name of this endpoint group association,
2223
+ # for example: `projects/123456789/locations/global/
2224
+ # interceptEndpointGroupAssociations/my-eg-association`. See https://google.aip.
2225
+ # dev/122 for more details.
2017
2226
  # Corresponds to the JSON property `name`
2018
2227
  # @return [String]
2019
2228
  attr_accessor :name
2020
2229
 
2021
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
2022
- # global/networks/`network`.
2230
+ # Immutable. The VPC network that is associated. for example: `projects/
2231
+ # 123456789/global/networks/my-network`. See https://google.aip.dev/124.
2023
2232
  # Corresponds to the JSON property `network`
2024
2233
  # @return [String]
2025
2234
  attr_accessor :network
2026
2235
 
2027
- # Output only. Whether reconciling is in progress, recommended per https://
2028
- # google.aip.dev/128.
2236
+ # Output only. The current state of the resource does not match the user's
2237
+ # intended state, and the system is working to reconcile them. This part of the
2238
+ # normal operation (e.g. adding a new location to the target deployment group).
2239
+ # See https://google.aip.dev/128.
2029
2240
  # Corresponds to the JSON property `reconciling`
2030
2241
  # @return [Boolean]
2031
2242
  attr_accessor :reconciling
@@ -2036,7 +2247,8 @@ module Google
2036
2247
  # @return [String]
2037
2248
  attr_accessor :state
2038
2249
 
2039
- # Output only. [Output only] Update time stamp
2250
+ # Output only. The timestamp when the resource was most recently updated. See
2251
+ # https://google.aip.dev/148#timestamps.
2040
2252
  # Corresponds to the JSON property `updateTime`
2041
2253
  # @return [String]
2042
2254
  attr_accessor :update_time
@@ -2059,25 +2271,24 @@ module Google
2059
2271
  end
2060
2272
  end
2061
2273
 
2062
- # This is a subset of the InterceptEndpointGroupAssociation message, containing
2063
- # fields to be used by the consumer.
2274
+ # The endpoint group's view of a connected association.
2064
2275
  class InterceptEndpointGroupAssociationDetails
2065
2276
  include Google::Apis::Core::Hashable
2066
2277
 
2067
- # Output only. The resource name of the InterceptEndpointGroupAssociation.
2068
- # Format: projects/`project`/locations/`location`/
2069
- # interceptEndpointGroupAssociations/`interceptEndpointGroupAssociation`
2278
+ # Output only. The connected association's resource name, for example: `projects/
2279
+ # 123456789/locations/global/interceptEndpointGroupAssociations/my-ega`. See
2280
+ # https://google.aip.dev/124.
2070
2281
  # Corresponds to the JSON property `name`
2071
2282
  # @return [String]
2072
2283
  attr_accessor :name
2073
2284
 
2074
- # Output only. The VPC network associated. Format: projects/`project`/global/
2075
- # networks/`name`.
2285
+ # Output only. The associated network, for example: projects/123456789/global/
2286
+ # networks/my-network. See https://google.aip.dev/124.
2076
2287
  # Corresponds to the JSON property `network`
2077
2288
  # @return [String]
2078
2289
  attr_accessor :network
2079
2290
 
2080
- # Output only. Current state of the association.
2291
+ # Output only. Most recent known state of the association.
2081
2292
  # Corresponds to the JSON property `state`
2082
2293
  # @return [String]
2083
2294
  attr_accessor :state
@@ -2094,16 +2305,17 @@ module Google
2094
2305
  end
2095
2306
  end
2096
2307
 
2097
- # Details about the association status in a specific cloud location.
2308
+ # Contains details about the state of an association in a specific cloud
2309
+ # location.
2098
2310
  class InterceptEndpointGroupAssociationLocationDetails
2099
2311
  include Google::Apis::Core::Hashable
2100
2312
 
2101
- # Output only. The cloud location.
2313
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
2102
2314
  # Corresponds to the JSON property `location`
2103
2315
  # @return [String]
2104
2316
  attr_accessor :location
2105
2317
 
2106
- # Output only. The association state in this location.
2318
+ # Output only. The current state of the association in this location.
2107
2319
  # Corresponds to the JSON property `state`
2108
2320
  # @return [String]
2109
2321
  attr_accessor :state
@@ -2193,6 +2405,11 @@ module Google
2193
2405
  # @return [String]
2194
2406
  attr_accessor :next_page_token
2195
2407
 
2408
+ # Locations that could not be reached.
2409
+ # Corresponds to the JSON property `unreachable`
2410
+ # @return [Array<String>]
2411
+ attr_accessor :unreachable
2412
+
2196
2413
  def initialize(**args)
2197
2414
  update!(**args)
2198
2415
  end
@@ -2201,6 +2418,7 @@ module Google
2201
2418
  def update!(**args)
2202
2419
  @address_groups = args[:address_groups] if args.key?(:address_groups)
2203
2420
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2421
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2204
2422
  end
2205
2423
  end
2206
2424
 
@@ -2262,6 +2480,39 @@ module Google
2262
2480
  end
2263
2481
  end
2264
2482
 
2483
+ # Response returned by the ListBackendAuthenticationConfigs method.
2484
+ class ListBackendAuthenticationConfigsResponse
2485
+ include Google::Apis::Core::Hashable
2486
+
2487
+ # List of BackendAuthenticationConfig resources.
2488
+ # Corresponds to the JSON property `backendAuthenticationConfigs`
2489
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::BackendAuthenticationConfig>]
2490
+ attr_accessor :backend_authentication_configs
2491
+
2492
+ # If there might be more results than those appearing in this response, then `
2493
+ # next_page_token` is included. To get the next set of results, call this method
2494
+ # again using the value of `next_page_token` as `page_token`.
2495
+ # Corresponds to the JSON property `nextPageToken`
2496
+ # @return [String]
2497
+ attr_accessor :next_page_token
2498
+
2499
+ # Locations that could not be reached.
2500
+ # Corresponds to the JSON property `unreachable`
2501
+ # @return [Array<String>]
2502
+ attr_accessor :unreachable
2503
+
2504
+ def initialize(**args)
2505
+ update!(**args)
2506
+ end
2507
+
2508
+ # Update properties of this object
2509
+ def update!(**args)
2510
+ @backend_authentication_configs = args[:backend_authentication_configs] if args.key?(:backend_authentication_configs)
2511
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2512
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2513
+ end
2514
+ end
2515
+
2265
2516
  # Response returned by the ListClientTlsPolicies method.
2266
2517
  class ListClientTlsPoliciesResponse
2267
2518
  include Google::Apis::Core::Hashable
@@ -2417,16 +2668,18 @@ module Google
2417
2668
  end
2418
2669
  end
2419
2670
 
2420
- # Message for response to listing InterceptDeploymentGroups
2671
+ # Response message for ListInterceptDeploymentGroups.
2421
2672
  class ListInterceptDeploymentGroupsResponse
2422
2673
  include Google::Apis::Core::Hashable
2423
2674
 
2424
- # The list of InterceptDeploymentGroup
2675
+ # The deployment groups from the specified parent.
2425
2676
  # Corresponds to the JSON property `interceptDeploymentGroups`
2426
2677
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroup>]
2427
2678
  attr_accessor :intercept_deployment_groups
2428
2679
 
2429
- # A token identifying a page of results the server should return.
2680
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2681
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2682
+ # 158 for more details.
2430
2683
  # Corresponds to the JSON property `nextPageToken`
2431
2684
  # @return [String]
2432
2685
  attr_accessor :next_page_token
@@ -2442,16 +2695,18 @@ module Google
2442
2695
  end
2443
2696
  end
2444
2697
 
2445
- # Message for response to listing InterceptDeployments
2698
+ # Response message for ListInterceptDeployments.
2446
2699
  class ListInterceptDeploymentsResponse
2447
2700
  include Google::Apis::Core::Hashable
2448
2701
 
2449
- # The list of InterceptDeployment
2702
+ # The deployments from the specified parent.
2450
2703
  # Corresponds to the JSON property `interceptDeployments`
2451
2704
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeployment>]
2452
2705
  attr_accessor :intercept_deployments
2453
2706
 
2454
- # A token identifying a page of results the server should return.
2707
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2708
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2709
+ # 158 for more details.
2455
2710
  # Corresponds to the JSON property `nextPageToken`
2456
2711
  # @return [String]
2457
2712
  attr_accessor :next_page_token
@@ -2473,16 +2728,18 @@ module Google
2473
2728
  end
2474
2729
  end
2475
2730
 
2476
- # Message for response to listing InterceptEndpointGroupAssociations
2731
+ # Response message for ListInterceptEndpointGroupAssociations.
2477
2732
  class ListInterceptEndpointGroupAssociationsResponse
2478
2733
  include Google::Apis::Core::Hashable
2479
2734
 
2480
- # The list of InterceptEndpointGroupAssociation
2735
+ # The associations from the specified parent.
2481
2736
  # Corresponds to the JSON property `interceptEndpointGroupAssociations`
2482
2737
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociation>]
2483
2738
  attr_accessor :intercept_endpoint_group_associations
2484
2739
 
2485
- # A token identifying a page of results the server should return.
2740
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2741
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2742
+ # 158 for more details.
2486
2743
  # Corresponds to the JSON property `nextPageToken`
2487
2744
  # @return [String]
2488
2745
  attr_accessor :next_page_token
@@ -2498,16 +2755,18 @@ module Google
2498
2755
  end
2499
2756
  end
2500
2757
 
2501
- # Message for response to listing InterceptEndpointGroups
2758
+ # Response message for ListInterceptEndpointGroups.
2502
2759
  class ListInterceptEndpointGroupsResponse
2503
2760
  include Google::Apis::Core::Hashable
2504
2761
 
2505
- # The list of InterceptEndpointGroup
2762
+ # The endpoint groups from the specified parent.
2506
2763
  # Corresponds to the JSON property `interceptEndpointGroups`
2507
2764
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroup>]
2508
2765
  attr_accessor :intercept_endpoint_groups
2509
2766
 
2510
- # A token identifying a page of results the server should return.
2767
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2768
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2769
+ # 158 for more details.
2511
2770
  # Corresponds to the JSON property `nextPageToken`
2512
2771
  # @return [String]
2513
2772
  attr_accessor :next_page_token
@@ -2548,16 +2807,18 @@ module Google
2548
2807
  end
2549
2808
  end
2550
2809
 
2551
- # Message for response to listing MirroringDeploymentGroups
2810
+ # Response message for ListMirroringDeploymentGroups.
2552
2811
  class ListMirroringDeploymentGroupsResponse
2553
2812
  include Google::Apis::Core::Hashable
2554
2813
 
2555
- # The list of MirroringDeploymentGroup
2814
+ # The deployment groups from the specified parent.
2556
2815
  # Corresponds to the JSON property `mirroringDeploymentGroups`
2557
2816
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroup>]
2558
2817
  attr_accessor :mirroring_deployment_groups
2559
2818
 
2560
- # A token identifying a page of results the server should return.
2819
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2820
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2821
+ # 158 for more details.
2561
2822
  # Corresponds to the JSON property `nextPageToken`
2562
2823
  # @return [String]
2563
2824
  attr_accessor :next_page_token
@@ -2573,16 +2834,18 @@ module Google
2573
2834
  end
2574
2835
  end
2575
2836
 
2576
- # Message for response to listing MirroringDeployments
2837
+ # Response message for ListMirroringDeployments.
2577
2838
  class ListMirroringDeploymentsResponse
2578
2839
  include Google::Apis::Core::Hashable
2579
2840
 
2580
- # The list of MirroringDeployment
2841
+ # The deployments from the specified parent.
2581
2842
  # Corresponds to the JSON property `mirroringDeployments`
2582
2843
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeployment>]
2583
2844
  attr_accessor :mirroring_deployments
2584
2845
 
2585
- # A token identifying a page of results the server should return.
2846
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2847
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2848
+ # 158 for more details.
2586
2849
  # Corresponds to the JSON property `nextPageToken`
2587
2850
  # @return [String]
2588
2851
  attr_accessor :next_page_token
@@ -2604,16 +2867,18 @@ module Google
2604
2867
  end
2605
2868
  end
2606
2869
 
2607
- # Message for response to listing MirroringEndpointGroupAssociations
2870
+ # Response message for ListMirroringEndpointGroupAssociations.
2608
2871
  class ListMirroringEndpointGroupAssociationsResponse
2609
2872
  include Google::Apis::Core::Hashable
2610
2873
 
2611
- # The list of MirroringEndpointGroupAssociation
2874
+ # The associations from the specified parent.
2612
2875
  # Corresponds to the JSON property `mirroringEndpointGroupAssociations`
2613
2876
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociation>]
2614
2877
  attr_accessor :mirroring_endpoint_group_associations
2615
2878
 
2616
- # A token identifying a page of results the server should return.
2879
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2880
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2881
+ # 158 for more details.
2617
2882
  # Corresponds to the JSON property `nextPageToken`
2618
2883
  # @return [String]
2619
2884
  attr_accessor :next_page_token
@@ -2629,16 +2894,18 @@ module Google
2629
2894
  end
2630
2895
  end
2631
2896
 
2632
- # Message for response to listing MirroringEndpointGroups
2897
+ # Response message for ListMirroringEndpointGroups.
2633
2898
  class ListMirroringEndpointGroupsResponse
2634
2899
  include Google::Apis::Core::Hashable
2635
2900
 
2636
- # The list of MirroringEndpointGroup
2901
+ # The endpoint groups from the specified parent.
2637
2902
  # Corresponds to the JSON property `mirroringEndpointGroups`
2638
2903
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroup>]
2639
2904
  attr_accessor :mirroring_endpoint_groups
2640
2905
 
2641
- # A token identifying a page of results the server should return.
2906
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2907
+ # field is omitted, there are no subsequent pages. See https://google.aip.dev/
2908
+ # 158 for more details.
2642
2909
  # Corresponds to the JSON property `nextPageToken`
2643
2910
  # @return [String]
2644
2911
  attr_accessor :next_page_token
@@ -2912,52 +3179,69 @@ module Google
2912
3179
  end
2913
3180
  end
2914
3181
 
2915
- # Message describing MirroringDeployment object NEXT ID: 10
3182
+ # A deployment represents a zonal mirroring backend ready to accept GENEVE-
3183
+ # encapsulated replica traffic, e.g. a zonal instance group fronted by an
3184
+ # internal passthrough load balancer. Deployments are always part of a global
3185
+ # deployment group which represents a global mirroring service.
2916
3186
  class MirroringDeployment
2917
3187
  include Google::Apis::Core::Hashable
2918
3188
 
2919
- # Output only. [Output only] Create time stamp
3189
+ # Output only. The timestamp when the resource was created. See https://google.
3190
+ # aip.dev/148#timestamps.
2920
3191
  # Corresponds to the JSON property `createTime`
2921
3192
  # @return [String]
2922
3193
  attr_accessor :create_time
2923
3194
 
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`
3195
+ # Optional. User-provided description of the deployment. Used as additional
3196
+ # context for the deployment.
3197
+ # Corresponds to the JSON property `description`
3198
+ # @return [String]
3199
+ attr_accessor :description
3200
+
3201
+ # Required. Immutable. The regional forwarding rule that fronts the mirroring
3202
+ # collectors, for example: `projects/123456789/regions/us-central1/
3203
+ # forwardingRules/my-rule`. See https://google.aip.dev/124.
2927
3204
  # Corresponds to the JSON property `forwardingRule`
2928
3205
  # @return [String]
2929
3206
  attr_accessor :forwarding_rule
2930
3207
 
2931
- # Optional. Labels as key value pairs
3208
+ # Optional. Labels are key/value pairs that help to organize and filter
3209
+ # resources.
2932
3210
  # Corresponds to the JSON property `labels`
2933
3211
  # @return [Hash<String,String>]
2934
3212
  attr_accessor :labels
2935
3213
 
2936
- # Required. Immutable. The Mirroring Deployment Group that this resource is part
2937
- # of. Format is: `projects/`project`/locations/global/mirroringDeploymentGroups/`
2938
- # mirroringDeploymentGroup``
3214
+ # Required. Immutable. The deployment group that this deployment is a part of,
3215
+ # for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-
3216
+ # dg`. See https://google.aip.dev/124.
2939
3217
  # Corresponds to the JSON property `mirroringDeploymentGroup`
2940
3218
  # @return [String]
2941
3219
  attr_accessor :mirroring_deployment_group
2942
3220
 
2943
- # Immutable. Identifier. The name of the MirroringDeployment.
3221
+ # Immutable. Identifier. The resource name of this deployment, for example: `
3222
+ # projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. See
3223
+ # https://google.aip.dev/122 for more details.
2944
3224
  # Corresponds to the JSON property `name`
2945
3225
  # @return [String]
2946
3226
  attr_accessor :name
2947
3227
 
2948
- # Output only. Whether reconciling is in progress, recommended per https://
2949
- # google.aip.dev/128.
3228
+ # Output only. The current state of the resource does not match the user's
3229
+ # intended state, and the system is working to reconcile them. This part of the
3230
+ # normal operation (e.g. linking a new association to the parent group). See
3231
+ # https://google.aip.dev/128.
2950
3232
  # Corresponds to the JSON property `reconciling`
2951
3233
  # @return [Boolean]
2952
3234
  attr_accessor :reconciling
2953
3235
  alias_method :reconciling?, :reconciling
2954
3236
 
2955
- # Output only. Current state of the deployment.
3237
+ # Output only. The current state of the deployment. See https://google.aip.dev/
3238
+ # 216.
2956
3239
  # Corresponds to the JSON property `state`
2957
3240
  # @return [String]
2958
3241
  attr_accessor :state
2959
3242
 
2960
- # Output only. [Output only] Update time stamp
3243
+ # Output only. The timestamp when the resource was most recently updated. See
3244
+ # https://google.aip.dev/148#timestamps.
2961
3245
  # Corresponds to the JSON property `updateTime`
2962
3246
  # @return [String]
2963
3247
  attr_accessor :update_time
@@ -2969,6 +3253,7 @@ module Google
2969
3253
  # Update properties of this object
2970
3254
  def update!(**args)
2971
3255
  @create_time = args[:create_time] if args.key?(:create_time)
3256
+ @description = args[:description] if args.key?(:description)
2972
3257
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2973
3258
  @labels = args[:labels] if args.key?(:labels)
2974
3259
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
@@ -2979,50 +3264,71 @@ module Google
2979
3264
  end
2980
3265
  end
2981
3266
 
2982
- # Message describing MirroringDeploymentGroup object NEXT ID: 10
3267
+ # A deployment group aggregates many zonal mirroring backends (deployments) into
3268
+ # a single global mirroring service. Consumers can connect this service using an
3269
+ # endpoint group.
2983
3270
  class MirroringDeploymentGroup
2984
3271
  include Google::Apis::Core::Hashable
2985
3272
 
2986
- # Output only. The list of Mirroring Endpoint Groups that are connected to this
2987
- # resource.
3273
+ # Output only. The list of endpoint groups that are connected to this resource.
2988
3274
  # Corresponds to the JSON property `connectedEndpointGroups`
2989
3275
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupConnectedEndpointGroup>]
2990
3276
  attr_accessor :connected_endpoint_groups
2991
3277
 
2992
- # Output only. [Output only] Create time stamp
3278
+ # Output only. The timestamp when the resource was created. See https://google.
3279
+ # aip.dev/148#timestamps.
2993
3280
  # Corresponds to the JSON property `createTime`
2994
3281
  # @return [String]
2995
3282
  attr_accessor :create_time
2996
3283
 
2997
- # Optional. Labels as key value pairs
3284
+ # Optional. User-provided description of the deployment group. Used as
3285
+ # additional context for the deployment group.
3286
+ # Corresponds to the JSON property `description`
3287
+ # @return [String]
3288
+ attr_accessor :description
3289
+
3290
+ # Optional. Labels are key/value pairs that help to organize and filter
3291
+ # resources.
2998
3292
  # Corresponds to the JSON property `labels`
2999
3293
  # @return [Hash<String,String>]
3000
3294
  attr_accessor :labels
3001
3295
 
3002
- # Immutable. Identifier. Then name of the MirroringDeploymentGroup.
3296
+ # Immutable. Identifier. The resource name of this deployment group, for example:
3297
+ # `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See
3298
+ # https://google.aip.dev/122 for more details.
3003
3299
  # Corresponds to the JSON property `name`
3004
3300
  # @return [String]
3005
3301
  attr_accessor :name
3006
3302
 
3007
- # Required. Immutable. The network that is being used for the deployment. Format
3008
- # is: projects/`project`/global/networks/`network`.
3303
+ # Output only. The list of Mirroring Deployments that belong to this group.
3304
+ # Corresponds to the JSON property `nestedDeployments`
3305
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupDeployment>]
3306
+ attr_accessor :nested_deployments
3307
+
3308
+ # Required. Immutable. The network that will be used for all child deployments,
3309
+ # for example: `projects/`project`/global/networks/`network``. See https://
3310
+ # google.aip.dev/124.
3009
3311
  # Corresponds to the JSON property `network`
3010
3312
  # @return [String]
3011
3313
  attr_accessor :network
3012
3314
 
3013
- # Output only. Whether reconciling is in progress, recommended per https://
3315
+ # Output only. The current state of the resource does not match the user's
3316
+ # intended state, and the system is working to reconcile them. This is part of
3317
+ # the normal operation (e.g. adding a new deployment to the group) See https://
3014
3318
  # google.aip.dev/128.
3015
3319
  # Corresponds to the JSON property `reconciling`
3016
3320
  # @return [Boolean]
3017
3321
  attr_accessor :reconciling
3018
3322
  alias_method :reconciling?, :reconciling
3019
3323
 
3020
- # Output only. Current state of the deployment group.
3324
+ # Output only. The current state of the deployment group. See https://google.aip.
3325
+ # dev/216.
3021
3326
  # Corresponds to the JSON property `state`
3022
3327
  # @return [String]
3023
3328
  attr_accessor :state
3024
3329
 
3025
- # Output only. [Output only] Update time stamp
3330
+ # Output only. The timestamp when the resource was most recently updated. See
3331
+ # https://google.aip.dev/148#timestamps.
3026
3332
  # Corresponds to the JSON property `updateTime`
3027
3333
  # @return [String]
3028
3334
  attr_accessor :update_time
@@ -3035,8 +3341,10 @@ module Google
3035
3341
  def update!(**args)
3036
3342
  @connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
3037
3343
  @create_time = args[:create_time] if args.key?(:create_time)
3344
+ @description = args[:description] if args.key?(:description)
3038
3345
  @labels = args[:labels] if args.key?(:labels)
3039
3346
  @name = args[:name] if args.key?(:name)
3347
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
3040
3348
  @network = args[:network] if args.key?(:network)
3041
3349
  @reconciling = args[:reconciling] if args.key?(:reconciling)
3042
3350
  @state = args[:state] if args.key?(:state)
@@ -3048,7 +3356,9 @@ module Google
3048
3356
  class MirroringDeploymentGroupConnectedEndpointGroup
3049
3357
  include Google::Apis::Core::Hashable
3050
3358
 
3051
- # Output only. A connected mirroring endpoint group.
3359
+ # Output only. The connected endpoint group's resource name, for example: `
3360
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
3361
+ # /google.aip.dev/124.
3052
3362
  # Corresponds to the JSON property `name`
3053
3363
  # @return [String]
3054
3364
  attr_accessor :name
@@ -3063,45 +3373,94 @@ module Google
3063
3373
  end
3064
3374
  end
3065
3375
 
3066
- # Message describing MirroringEndpointGroup object.
3376
+ # A deployment belonging to this deployment group.
3377
+ class MirroringDeploymentGroupDeployment
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # Output only. The name of the Mirroring Deployment, in the format: `projects/`
3381
+ # project`/locations/`location`/mirroringDeployments/`mirroring_deployment``.
3382
+ # Corresponds to the JSON property `name`
3383
+ # @return [String]
3384
+ attr_accessor :name
3385
+
3386
+ # Output only. Most recent known state of the deployment.
3387
+ # Corresponds to the JSON property `state`
3388
+ # @return [String]
3389
+ attr_accessor :state
3390
+
3391
+ def initialize(**args)
3392
+ update!(**args)
3393
+ end
3394
+
3395
+ # Update properties of this object
3396
+ def update!(**args)
3397
+ @name = args[:name] if args.key?(:name)
3398
+ @state = args[:state] if args.key?(:state)
3399
+ end
3400
+ end
3401
+
3402
+ # An endpoint group is a consumer frontend for a deployment group (backend). In
3403
+ # order to configure mirroring for a network, consumers must create: - An
3404
+ # association between their network and the endpoint group. - A security profile
3405
+ # that points to the endpoint group. - A mirroring rule that references the
3406
+ # security profile (group).
3067
3407
  class MirroringEndpointGroup
3068
3408
  include Google::Apis::Core::Hashable
3069
3409
 
3070
- # Output only. [Output only] Create time stamp
3410
+ # Output only. List of associations to this endpoint group.
3411
+ # Corresponds to the JSON property `associations`
3412
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationDetails>]
3413
+ attr_accessor :associations
3414
+
3415
+ # Output only. The timestamp when the resource was created. See https://google.
3416
+ # aip.dev/148#timestamps.
3071
3417
  # Corresponds to the JSON property `createTime`
3072
3418
  # @return [String]
3073
3419
  attr_accessor :create_time
3074
3420
 
3075
- # Optional. Labels as key value pairs
3421
+ # Optional. User-provided description of the endpoint group. Used as additional
3422
+ # context for the endpoint group.
3423
+ # Corresponds to the JSON property `description`
3424
+ # @return [String]
3425
+ attr_accessor :description
3426
+
3427
+ # Optional. Labels are key/value pairs that help to organize and filter
3428
+ # resources.
3076
3429
  # Corresponds to the JSON property `labels`
3077
3430
  # @return [Hash<String,String>]
3078
3431
  attr_accessor :labels
3079
3432
 
3080
- # Required. Immutable. The Mirroring Deployment Group that this resource is
3081
- # connected to. Format is: `projects/`project`/locations/global/
3082
- # mirroringDeploymentGroups/`mirroringDeploymentGroup``
3433
+ # Immutable. The deployment group that this DIRECT endpoint group is connected
3434
+ # to, for example: `projects/123456789/locations/global/
3435
+ # mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/124.
3083
3436
  # Corresponds to the JSON property `mirroringDeploymentGroup`
3084
3437
  # @return [String]
3085
3438
  attr_accessor :mirroring_deployment_group
3086
3439
 
3087
- # Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup.
3440
+ # Immutable. Identifier. The resource name of this endpoint group, for example: `
3441
+ # projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https:/
3442
+ # /google.aip.dev/122 for more details.
3088
3443
  # Corresponds to the JSON property `name`
3089
3444
  # @return [String]
3090
3445
  attr_accessor :name
3091
3446
 
3092
- # Output only. Whether reconciling is in progress, recommended per https://
3447
+ # Output only. The current state of the resource does not match the user's
3448
+ # intended state, and the system is working to reconcile them. This is part of
3449
+ # the normal operation (e.g. adding a new association to the group). See https://
3093
3450
  # google.aip.dev/128.
3094
3451
  # Corresponds to the JSON property `reconciling`
3095
3452
  # @return [Boolean]
3096
3453
  attr_accessor :reconciling
3097
3454
  alias_method :reconciling?, :reconciling
3098
3455
 
3099
- # Output only. Current state of the endpoint group.
3456
+ # Output only. The current state of the endpoint group. See https://google.aip.
3457
+ # dev/216.
3100
3458
  # Corresponds to the JSON property `state`
3101
3459
  # @return [String]
3102
3460
  attr_accessor :state
3103
3461
 
3104
- # Output only. [Output only] Update time stamp
3462
+ # Output only. The timestamp when the resource was most recently updated. See
3463
+ # https://google.aip.dev/148#timestamps.
3105
3464
  # Corresponds to the JSON property `updateTime`
3106
3465
  # @return [String]
3107
3466
  attr_accessor :update_time
@@ -3112,7 +3471,9 @@ module Google
3112
3471
 
3113
3472
  # Update properties of this object
3114
3473
  def update!(**args)
3474
+ @associations = args[:associations] if args.key?(:associations)
3115
3475
  @create_time = args[:create_time] if args.key?(:create_time)
3476
+ @description = args[:description] if args.key?(:description)
3116
3477
  @labels = args[:labels] if args.key?(:labels)
3117
3478
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
3118
3479
  @name = args[:name] if args.key?(:name)
@@ -3122,45 +3483,59 @@ module Google
3122
3483
  end
3123
3484
  end
3124
3485
 
3125
- # Message describing MirroringEndpointGroupAssociation object
3486
+ # An endpoint group association represents a link between a network and an
3487
+ # endpoint group in the organization. Creating an association creates the
3488
+ # networking infrastructure linking the network to the endpoint group, but does
3489
+ # not enable mirroring by itself. To enable mirroring, the user must also create
3490
+ # a network firewall policy containing mirroring rules and associate it with the
3491
+ # network.
3126
3492
  class MirroringEndpointGroupAssociation
3127
3493
  include Google::Apis::Core::Hashable
3128
3494
 
3129
- # Output only. [Output only] Create time stamp
3495
+ # Output only. The timestamp when the resource was created. See https://google.
3496
+ # aip.dev/148#timestamps.
3130
3497
  # Corresponds to the JSON property `createTime`
3131
3498
  # @return [String]
3132
3499
  attr_accessor :create_time
3133
3500
 
3134
- # Optional. Labels as key value pairs
3501
+ # Optional. Labels are key/value pairs that help to organize and filter
3502
+ # resources.
3135
3503
  # Corresponds to the JSON property `labels`
3136
3504
  # @return [Hash<String,String>]
3137
3505
  attr_accessor :labels
3138
3506
 
3139
- # Output only. The list of locations that this association is in and its details.
3507
+ # Output only. The list of locations where the association is present. This
3508
+ # information is retrieved from the linked endpoint group, and not configured as
3509
+ # part of the association itself.
3140
3510
  # Corresponds to the JSON property `locationsDetails`
3141
3511
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationLocationDetails>]
3142
3512
  attr_accessor :locations_details
3143
3513
 
3144
- # Required. Immutable. The Mirroring Endpoint Group that this resource is
3145
- # connected to. Format is: `projects/`project`/locations/global/
3146
- # mirroringEndpointGroups/`mirroringEndpointGroup``
3514
+ # Immutable. The endpoint group that this association is connected to, for
3515
+ # example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`.
3516
+ # See https://google.aip.dev/124.
3147
3517
  # Corresponds to the JSON property `mirroringEndpointGroup`
3148
3518
  # @return [String]
3149
3519
  attr_accessor :mirroring_endpoint_group
3150
3520
 
3151
- # Immutable. Identifier. The name of the MirroringEndpointGroupAssociation.
3521
+ # Immutable. Identifier. The resource name of this endpoint group association,
3522
+ # for example: `projects/123456789/locations/global/
3523
+ # mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.
3524
+ # dev/122 for more details.
3152
3525
  # Corresponds to the JSON property `name`
3153
3526
  # @return [String]
3154
3527
  attr_accessor :name
3155
3528
 
3156
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
3157
- # global/networks/`network`.
3529
+ # Immutable. The VPC network that is associated. for example: `projects/
3530
+ # 123456789/global/networks/my-network`. See https://google.aip.dev/124.
3158
3531
  # Corresponds to the JSON property `network`
3159
3532
  # @return [String]
3160
3533
  attr_accessor :network
3161
3534
 
3162
- # Output only. Whether reconciling is in progress, recommended per https://
3163
- # google.aip.dev/128.
3535
+ # Output only. The current state of the resource does not match the user's
3536
+ # intended state, and the system is working to reconcile them. This part of the
3537
+ # normal operation (e.g. adding a new location to the target deployment group).
3538
+ # See https://google.aip.dev/128.
3164
3539
  # Corresponds to the JSON property `reconciling`
3165
3540
  # @return [Boolean]
3166
3541
  attr_accessor :reconciling
@@ -3171,7 +3546,8 @@ module Google
3171
3546
  # @return [String]
3172
3547
  attr_accessor :state
3173
3548
 
3174
- # Output only. [Output only] Update time stamp
3549
+ # Output only. The timestamp when the resource was most recently updated. See
3550
+ # https://google.aip.dev/148#timestamps.
3175
3551
  # Corresponds to the JSON property `updateTime`
3176
3552
  # @return [String]
3177
3553
  attr_accessor :update_time
@@ -3194,16 +3570,51 @@ module Google
3194
3570
  end
3195
3571
  end
3196
3572
 
3197
- # Details about the association status in a specific cloud location.
3573
+ # The endpoint group's view of a connected association.
3574
+ class MirroringEndpointGroupAssociationDetails
3575
+ include Google::Apis::Core::Hashable
3576
+
3577
+ # Output only. The connected association's resource name, for example: `projects/
3578
+ # 123456789/locations/global/mirroringEndpointGroupAssociations/my-ega`. See
3579
+ # https://google.aip.dev/124.
3580
+ # Corresponds to the JSON property `name`
3581
+ # @return [String]
3582
+ attr_accessor :name
3583
+
3584
+ # Output only. The associated network, for example: projects/123456789/global/
3585
+ # networks/my-network. See https://google.aip.dev/124.
3586
+ # Corresponds to the JSON property `network`
3587
+ # @return [String]
3588
+ attr_accessor :network
3589
+
3590
+ # Output only. Most recent known state of the association.
3591
+ # Corresponds to the JSON property `state`
3592
+ # @return [String]
3593
+ attr_accessor :state
3594
+
3595
+ def initialize(**args)
3596
+ update!(**args)
3597
+ end
3598
+
3599
+ # Update properties of this object
3600
+ def update!(**args)
3601
+ @name = args[:name] if args.key?(:name)
3602
+ @network = args[:network] if args.key?(:network)
3603
+ @state = args[:state] if args.key?(:state)
3604
+ end
3605
+ end
3606
+
3607
+ # Contains details about the state of an association in a specific cloud
3608
+ # location.
3198
3609
  class MirroringEndpointGroupAssociationLocationDetails
3199
3610
  include Google::Apis::Core::Hashable
3200
3611
 
3201
- # Output only. The cloud location.
3612
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
3202
3613
  # Corresponds to the JSON property `location`
3203
3614
  # @return [String]
3204
3615
  attr_accessor :location
3205
3616
 
3206
- # Output only. The association state in this location.
3617
+ # Output only. The current state of the association in this location.
3207
3618
  # Corresponds to the JSON property `state`
3208
3619
  # @return [String]
3209
3620
  attr_accessor :state
@@ -3416,14 +3827,14 @@ module Google
3416
3827
  # @return [String]
3417
3828
  attr_accessor :create_time
3418
3829
 
3419
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
3420
- # intercept traffic to a third-party firewall in a Firewall rule.
3830
+ # CustomInterceptProfile defines in-band integration behavior (intercept). It is
3831
+ # used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
3421
3832
  # Corresponds to the JSON property `customInterceptProfile`
3422
3833
  # @return [Google::Apis::NetworksecurityV1beta1::CustomInterceptProfile]
3423
3834
  attr_accessor :custom_intercept_profile
3424
3835
 
3425
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
3426
- # s EndpointGroup
3836
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
3837
+ # It is used by mirroring rules with a MIRROR action.
3427
3838
  # Corresponds to the JSON property `customMirroringProfile`
3428
3839
  # @return [Google::Apis::NetworksecurityV1beta1::CustomMirroringProfile]
3429
3840
  attr_accessor :custom_mirroring_profile
@@ -3509,6 +3920,12 @@ module Google
3509
3920
  # @return [String]
3510
3921
  attr_accessor :custom_mirroring_profile
3511
3922
 
3923
+ # Output only. Identifier used by the data-path. Unique within `container,
3924
+ # location`.
3925
+ # Corresponds to the JSON property `dataPathId`
3926
+ # @return [Fixnum]
3927
+ attr_accessor :data_path_id
3928
+
3512
3929
  # Optional. An optional description of the profile group. Max length 2048
3513
3930
  # characters.
3514
3931
  # Corresponds to the JSON property `description`
@@ -3554,6 +3971,7 @@ module Google
3554
3971
  @create_time = args[:create_time] if args.key?(:create_time)
3555
3972
  @custom_intercept_profile = args[:custom_intercept_profile] if args.key?(:custom_intercept_profile)
3556
3973
  @custom_mirroring_profile = args[:custom_mirroring_profile] if args.key?(:custom_mirroring_profile)
3974
+ @data_path_id = args[:data_path_id] if args.key?(:data_path_id)
3557
3975
  @description = args[:description] if args.key?(:description)
3558
3976
  @etag = args[:etag] if args.key?(:etag)
3559
3977
  @labels = args[:labels] if args.key?(:labels)
@@ -3777,6 +4195,11 @@ module Google
3777
4195
  class ThreatPreventionProfile
3778
4196
  include Google::Apis::Core::Hashable
3779
4197
 
4198
+ # Optional. Configuration for overriding antivirus actions per protocol.
4199
+ # Corresponds to the JSON property `antivirusOverrides`
4200
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::AntivirusOverride>]
4201
+ attr_accessor :antivirus_overrides
4202
+
3780
4203
  # Optional. Configuration for overriding threats actions by severity match.
3781
4204
  # Corresponds to the JSON property `severityOverrides`
3782
4205
  # @return [Array<Google::Apis::NetworksecurityV1beta1::SeverityOverride>]
@@ -3795,6 +4218,7 @@ module Google
3795
4218
 
3796
4219
  # Update properties of this object
3797
4220
  def update!(**args)
4221
+ @antivirus_overrides = args[:antivirus_overrides] if args.key?(:antivirus_overrides)
3798
4222
  @severity_overrides = args[:severity_overrides] if args.key?(:severity_overrides)
3799
4223
  @threat_overrides = args[:threat_overrides] if args.key?(:threat_overrides)
3800
4224
  end