google-apis-networksecurity_v1beta1 0.40.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,52 +1880,69 @@ module Google
1749
1880
  end
1750
1881
  end
1751
1882
 
1752
- # Message describing InterceptDeployment object
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
1760
1895
 
1761
- # Required. Immutable. The regional load balancer which the intercepted traffic
1762
- # should be forwarded to. Format is: projects/`project`/regions/`region`/
1763
- # forwardingRules/`forwardingRule`
1896
+ # Optional. User-provided description of the deployment. Used as additional
1897
+ # context for the deployment.
1898
+ # Corresponds to the JSON property `description`
1899
+ # @return [String]
1900
+ attr_accessor :description
1901
+
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.
1764
1905
  # Corresponds to the JSON property `forwardingRule`
1765
1906
  # @return [String]
1766
1907
  attr_accessor :forwarding_rule
1767
1908
 
1768
- # Required. Immutable. The Intercept Deployment Group that this resource is part
1769
- # of. Format is: `projects/`project`/locations/global/interceptDeploymentGroups/`
1770
- # 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.
1771
1912
  # Corresponds to the JSON property `interceptDeploymentGroup`
1772
1913
  # @return [String]
1773
1914
  attr_accessor :intercept_deployment_group
1774
1915
 
1775
- # Optional. Labels as key value pairs
1916
+ # Optional. Labels are key/value pairs that help to organize and filter
1917
+ # resources.
1776
1918
  # Corresponds to the JSON property `labels`
1777
1919
  # @return [Hash<String,String>]
1778
1920
  attr_accessor :labels
1779
1921
 
1780
- # 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.
1781
1925
  # Corresponds to the JSON property `name`
1782
1926
  # @return [String]
1783
1927
  attr_accessor :name
1784
1928
 
1785
- # Output only. Whether reconciling is in progress, recommended per https://
1786
- # 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.
1787
1933
  # Corresponds to the JSON property `reconciling`
1788
1934
  # @return [Boolean]
1789
1935
  attr_accessor :reconciling
1790
1936
  alias_method :reconciling?, :reconciling
1791
1937
 
1792
- # Output only. Current state of the deployment.
1938
+ # Output only. The current state of the deployment. See https://google.aip.dev/
1939
+ # 216.
1793
1940
  # Corresponds to the JSON property `state`
1794
1941
  # @return [String]
1795
1942
  attr_accessor :state
1796
1943
 
1797
- # 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.
1798
1946
  # Corresponds to the JSON property `updateTime`
1799
1947
  # @return [String]
1800
1948
  attr_accessor :update_time
@@ -1806,6 +1954,7 @@ module Google
1806
1954
  # Update properties of this object
1807
1955
  def update!(**args)
1808
1956
  @create_time = args[:create_time] if args.key?(:create_time)
1957
+ @description = args[:description] if args.key?(:description)
1809
1958
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
1810
1959
  @intercept_deployment_group = args[:intercept_deployment_group] if args.key?(:intercept_deployment_group)
1811
1960
  @labels = args[:labels] if args.key?(:labels)
@@ -1816,50 +1965,71 @@ module Google
1816
1965
  end
1817
1966
  end
1818
1967
 
1819
- # Message describing InterceptDeploymentGroup object
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.
1820
1971
  class InterceptDeploymentGroup
1821
1972
  include Google::Apis::Core::Hashable
1822
1973
 
1823
- # Output only. The list of Intercept Endpoint Groups that are connected to this
1824
- # resource.
1974
+ # Output only. The list of endpoint groups that are connected to this resource.
1825
1975
  # Corresponds to the JSON property `connectedEndpointGroups`
1826
1976
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroupConnectedEndpointGroup>]
1827
1977
  attr_accessor :connected_endpoint_groups
1828
1978
 
1829
- # 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.
1830
1981
  # Corresponds to the JSON property `createTime`
1831
1982
  # @return [String]
1832
1983
  attr_accessor :create_time
1833
1984
 
1834
- # Optional. Labels as key value pairs
1985
+ # Optional. User-provided description of the deployment group. Used as
1986
+ # additional context for the deployment group.
1987
+ # Corresponds to the JSON property `description`
1988
+ # @return [String]
1989
+ attr_accessor :description
1990
+
1991
+ # Optional. Labels are key/value pairs that help to organize and filter
1992
+ # resources.
1835
1993
  # Corresponds to the JSON property `labels`
1836
1994
  # @return [Hash<String,String>]
1837
1995
  attr_accessor :labels
1838
1996
 
1839
- # 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.
1840
2000
  # Corresponds to the JSON property `name`
1841
2001
  # @return [String]
1842
2002
  attr_accessor :name
1843
2003
 
1844
- # Required. Immutable. The network that is being used for the deployment. Format
1845
- # 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.
1846
2012
  # Corresponds to the JSON property `network`
1847
2013
  # @return [String]
1848
2014
  attr_accessor :network
1849
2015
 
1850
- # 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://
1851
2019
  # google.aip.dev/128.
1852
2020
  # Corresponds to the JSON property `reconciling`
1853
2021
  # @return [Boolean]
1854
2022
  attr_accessor :reconciling
1855
2023
  alias_method :reconciling?, :reconciling
1856
2024
 
1857
- # 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.
1858
2027
  # Corresponds to the JSON property `state`
1859
2028
  # @return [String]
1860
2029
  attr_accessor :state
1861
2030
 
1862
- # 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.
1863
2033
  # Corresponds to the JSON property `updateTime`
1864
2034
  # @return [String]
1865
2035
  attr_accessor :update_time
@@ -1872,8 +2042,10 @@ module Google
1872
2042
  def update!(**args)
1873
2043
  @connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
1874
2044
  @create_time = args[:create_time] if args.key?(:create_time)
2045
+ @description = args[:description] if args.key?(:description)
1875
2046
  @labels = args[:labels] if args.key?(:labels)
1876
2047
  @name = args[:name] if args.key?(:name)
2048
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
1877
2049
  @network = args[:network] if args.key?(:network)
1878
2050
  @reconciling = args[:reconciling] if args.key?(:reconciling)
1879
2051
  @state = args[:state] if args.key?(:state)
@@ -1885,7 +2057,9 @@ module Google
1885
2057
  class InterceptDeploymentGroupConnectedEndpointGroup
1886
2058
  include Google::Apis::Core::Hashable
1887
2059
 
1888
- # 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.
1889
2063
  # Corresponds to the JSON property `name`
1890
2064
  # @return [String]
1891
2065
  attr_accessor :name
@@ -1900,17 +2074,47 @@ module Google
1900
2074
  end
1901
2075
  end
1902
2076
 
1903
- # Message describing InterceptEndpointGroup object.
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``.
2083
+ # Corresponds to the JSON property `name`
2084
+ # @return [String]
2085
+ attr_accessor :name
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
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @name = args[:name] if args.key?(:name)
2099
+ @state = args[:state] if args.key?(:state)
2100
+ end
2101
+ end
2102
+
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).
1904
2108
  class InterceptEndpointGroup
1905
2109
  include Google::Apis::Core::Hashable
1906
2110
 
1907
- # Output only. List of Intercept Endpoint Group Associations that are associated
1908
- # to this endpoint group.
2111
+ # Output only. List of associations to this endpoint group.
1909
2112
  # Corresponds to the JSON property `associations`
1910
2113
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationDetails>]
1911
2114
  attr_accessor :associations
1912
2115
 
1913
- # 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.
1914
2118
  # Corresponds to the JSON property `createTime`
1915
2119
  # @return [String]
1916
2120
  attr_accessor :create_time
@@ -1921,36 +2125,43 @@ module Google
1921
2125
  # @return [String]
1922
2126
  attr_accessor :description
1923
2127
 
1924
- # Required. Immutable. The Intercept Deployment Group that this resource is
1925
- # connected to. Format is: `projects/`project`/locations/global/
1926
- # 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.
1927
2131
  # Corresponds to the JSON property `interceptDeploymentGroup`
1928
2132
  # @return [String]
1929
2133
  attr_accessor :intercept_deployment_group
1930
2134
 
1931
- # Optional. Labels as key value pairs
2135
+ # Optional. Labels are key/value pairs that help to organize and filter
2136
+ # resources.
1932
2137
  # Corresponds to the JSON property `labels`
1933
2138
  # @return [Hash<String,String>]
1934
2139
  attr_accessor :labels
1935
2140
 
1936
- # 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.
1937
2144
  # Corresponds to the JSON property `name`
1938
2145
  # @return [String]
1939
2146
  attr_accessor :name
1940
2147
 
1941
- # 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://
1942
2151
  # google.aip.dev/128.
1943
2152
  # Corresponds to the JSON property `reconciling`
1944
2153
  # @return [Boolean]
1945
2154
  attr_accessor :reconciling
1946
2155
  alias_method :reconciling?, :reconciling
1947
2156
 
1948
- # 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.
1949
2159
  # Corresponds to the JSON property `state`
1950
2160
  # @return [String]
1951
2161
  attr_accessor :state
1952
2162
 
1953
- # 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.
1954
2165
  # Corresponds to the JSON property `updateTime`
1955
2166
  # @return [String]
1956
2167
  attr_accessor :update_time
@@ -1973,45 +2184,59 @@ module Google
1973
2184
  end
1974
2185
  end
1975
2186
 
1976
- # 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.
1977
2193
  class InterceptEndpointGroupAssociation
1978
2194
  include Google::Apis::Core::Hashable
1979
2195
 
1980
- # 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.
1981
2198
  # Corresponds to the JSON property `createTime`
1982
2199
  # @return [String]
1983
2200
  attr_accessor :create_time
1984
2201
 
1985
- # Required. Immutable. The Intercept Endpoint Group that this resource is
1986
- # connected to. Format is: `projects/`project`/locations/global/
1987
- # 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.
1988
2205
  # Corresponds to the JSON property `interceptEndpointGroup`
1989
2206
  # @return [String]
1990
2207
  attr_accessor :intercept_endpoint_group
1991
2208
 
1992
- # Optional. Labels as key value pairs
2209
+ # Optional. Labels are key/value pairs that help to organize and filter
2210
+ # resources.
1993
2211
  # Corresponds to the JSON property `labels`
1994
2212
  # @return [Hash<String,String>]
1995
2213
  attr_accessor :labels
1996
2214
 
1997
- # 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.
1998
2218
  # Corresponds to the JSON property `locationsDetails`
1999
2219
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociationLocationDetails>]
2000
2220
  attr_accessor :locations_details
2001
2221
 
2002
- # 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.
2003
2226
  # Corresponds to the JSON property `name`
2004
2227
  # @return [String]
2005
2228
  attr_accessor :name
2006
2229
 
2007
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
2008
- # 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.
2009
2232
  # Corresponds to the JSON property `network`
2010
2233
  # @return [String]
2011
2234
  attr_accessor :network
2012
2235
 
2013
- # Output only. Whether reconciling is in progress, recommended per https://
2014
- # 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.
2015
2240
  # Corresponds to the JSON property `reconciling`
2016
2241
  # @return [Boolean]
2017
2242
  attr_accessor :reconciling
@@ -2022,7 +2247,8 @@ module Google
2022
2247
  # @return [String]
2023
2248
  attr_accessor :state
2024
2249
 
2025
- # 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.
2026
2252
  # Corresponds to the JSON property `updateTime`
2027
2253
  # @return [String]
2028
2254
  attr_accessor :update_time
@@ -2045,25 +2271,24 @@ module Google
2045
2271
  end
2046
2272
  end
2047
2273
 
2048
- # This is a subset of the InterceptEndpointGroupAssociation message, containing
2049
- # fields to be used by the consumer.
2274
+ # The endpoint group's view of a connected association.
2050
2275
  class InterceptEndpointGroupAssociationDetails
2051
2276
  include Google::Apis::Core::Hashable
2052
2277
 
2053
- # Output only. The resource name of the InterceptEndpointGroupAssociation.
2054
- # Format: projects/`project`/locations/`location`/
2055
- # 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.
2056
2281
  # Corresponds to the JSON property `name`
2057
2282
  # @return [String]
2058
2283
  attr_accessor :name
2059
2284
 
2060
- # Output only. The VPC network associated. Format: projects/`project`/global/
2061
- # networks/`name`.
2285
+ # Output only. The associated network, for example: projects/123456789/global/
2286
+ # networks/my-network. See https://google.aip.dev/124.
2062
2287
  # Corresponds to the JSON property `network`
2063
2288
  # @return [String]
2064
2289
  attr_accessor :network
2065
2290
 
2066
- # Output only. Current state of the association.
2291
+ # Output only. Most recent known state of the association.
2067
2292
  # Corresponds to the JSON property `state`
2068
2293
  # @return [String]
2069
2294
  attr_accessor :state
@@ -2080,16 +2305,17 @@ module Google
2080
2305
  end
2081
2306
  end
2082
2307
 
2083
- # 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.
2084
2310
  class InterceptEndpointGroupAssociationLocationDetails
2085
2311
  include Google::Apis::Core::Hashable
2086
2312
 
2087
- # Output only. The cloud location.
2313
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
2088
2314
  # Corresponds to the JSON property `location`
2089
2315
  # @return [String]
2090
2316
  attr_accessor :location
2091
2317
 
2092
- # Output only. The association state in this location.
2318
+ # Output only. The current state of the association in this location.
2093
2319
  # Corresponds to the JSON property `state`
2094
2320
  # @return [String]
2095
2321
  attr_accessor :state
@@ -2179,6 +2405,11 @@ module Google
2179
2405
  # @return [String]
2180
2406
  attr_accessor :next_page_token
2181
2407
 
2408
+ # Locations that could not be reached.
2409
+ # Corresponds to the JSON property `unreachable`
2410
+ # @return [Array<String>]
2411
+ attr_accessor :unreachable
2412
+
2182
2413
  def initialize(**args)
2183
2414
  update!(**args)
2184
2415
  end
@@ -2187,6 +2418,7 @@ module Google
2187
2418
  def update!(**args)
2188
2419
  @address_groups = args[:address_groups] if args.key?(:address_groups)
2189
2420
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2421
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2190
2422
  end
2191
2423
  end
2192
2424
 
@@ -2248,6 +2480,39 @@ module Google
2248
2480
  end
2249
2481
  end
2250
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
+
2251
2516
  # Response returned by the ListClientTlsPolicies method.
2252
2517
  class ListClientTlsPoliciesResponse
2253
2518
  include Google::Apis::Core::Hashable
@@ -2403,16 +2668,18 @@ module Google
2403
2668
  end
2404
2669
  end
2405
2670
 
2406
- # Message for response to listing InterceptDeploymentGroups
2671
+ # Response message for ListInterceptDeploymentGroups.
2407
2672
  class ListInterceptDeploymentGroupsResponse
2408
2673
  include Google::Apis::Core::Hashable
2409
2674
 
2410
- # The list of InterceptDeploymentGroup
2675
+ # The deployment groups from the specified parent.
2411
2676
  # Corresponds to the JSON property `interceptDeploymentGroups`
2412
2677
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeploymentGroup>]
2413
2678
  attr_accessor :intercept_deployment_groups
2414
2679
 
2415
- # 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.
2416
2683
  # Corresponds to the JSON property `nextPageToken`
2417
2684
  # @return [String]
2418
2685
  attr_accessor :next_page_token
@@ -2428,16 +2695,18 @@ module Google
2428
2695
  end
2429
2696
  end
2430
2697
 
2431
- # Message for response to listing InterceptDeployments
2698
+ # Response message for ListInterceptDeployments.
2432
2699
  class ListInterceptDeploymentsResponse
2433
2700
  include Google::Apis::Core::Hashable
2434
2701
 
2435
- # The list of InterceptDeployment
2702
+ # The deployments from the specified parent.
2436
2703
  # Corresponds to the JSON property `interceptDeployments`
2437
2704
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptDeployment>]
2438
2705
  attr_accessor :intercept_deployments
2439
2706
 
2440
- # 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.
2441
2710
  # Corresponds to the JSON property `nextPageToken`
2442
2711
  # @return [String]
2443
2712
  attr_accessor :next_page_token
@@ -2459,16 +2728,18 @@ module Google
2459
2728
  end
2460
2729
  end
2461
2730
 
2462
- # Message for response to listing InterceptEndpointGroupAssociations
2731
+ # Response message for ListInterceptEndpointGroupAssociations.
2463
2732
  class ListInterceptEndpointGroupAssociationsResponse
2464
2733
  include Google::Apis::Core::Hashable
2465
2734
 
2466
- # The list of InterceptEndpointGroupAssociation
2735
+ # The associations from the specified parent.
2467
2736
  # Corresponds to the JSON property `interceptEndpointGroupAssociations`
2468
2737
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroupAssociation>]
2469
2738
  attr_accessor :intercept_endpoint_group_associations
2470
2739
 
2471
- # 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.
2472
2743
  # Corresponds to the JSON property `nextPageToken`
2473
2744
  # @return [String]
2474
2745
  attr_accessor :next_page_token
@@ -2484,16 +2755,18 @@ module Google
2484
2755
  end
2485
2756
  end
2486
2757
 
2487
- # Message for response to listing InterceptEndpointGroups
2758
+ # Response message for ListInterceptEndpointGroups.
2488
2759
  class ListInterceptEndpointGroupsResponse
2489
2760
  include Google::Apis::Core::Hashable
2490
2761
 
2491
- # The list of InterceptEndpointGroup
2762
+ # The endpoint groups from the specified parent.
2492
2763
  # Corresponds to the JSON property `interceptEndpointGroups`
2493
2764
  # @return [Array<Google::Apis::NetworksecurityV1beta1::InterceptEndpointGroup>]
2494
2765
  attr_accessor :intercept_endpoint_groups
2495
2766
 
2496
- # 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.
2497
2770
  # Corresponds to the JSON property `nextPageToken`
2498
2771
  # @return [String]
2499
2772
  attr_accessor :next_page_token
@@ -2534,16 +2807,18 @@ module Google
2534
2807
  end
2535
2808
  end
2536
2809
 
2537
- # Message for response to listing MirroringDeploymentGroups
2810
+ # Response message for ListMirroringDeploymentGroups.
2538
2811
  class ListMirroringDeploymentGroupsResponse
2539
2812
  include Google::Apis::Core::Hashable
2540
2813
 
2541
- # The list of MirroringDeploymentGroup
2814
+ # The deployment groups from the specified parent.
2542
2815
  # Corresponds to the JSON property `mirroringDeploymentGroups`
2543
2816
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroup>]
2544
2817
  attr_accessor :mirroring_deployment_groups
2545
2818
 
2546
- # 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.
2547
2822
  # Corresponds to the JSON property `nextPageToken`
2548
2823
  # @return [String]
2549
2824
  attr_accessor :next_page_token
@@ -2559,16 +2834,18 @@ module Google
2559
2834
  end
2560
2835
  end
2561
2836
 
2562
- # Message for response to listing MirroringDeployments
2837
+ # Response message for ListMirroringDeployments.
2563
2838
  class ListMirroringDeploymentsResponse
2564
2839
  include Google::Apis::Core::Hashable
2565
2840
 
2566
- # The list of MirroringDeployment
2841
+ # The deployments from the specified parent.
2567
2842
  # Corresponds to the JSON property `mirroringDeployments`
2568
2843
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeployment>]
2569
2844
  attr_accessor :mirroring_deployments
2570
2845
 
2571
- # 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.
2572
2849
  # Corresponds to the JSON property `nextPageToken`
2573
2850
  # @return [String]
2574
2851
  attr_accessor :next_page_token
@@ -2590,16 +2867,18 @@ module Google
2590
2867
  end
2591
2868
  end
2592
2869
 
2593
- # Message for response to listing MirroringEndpointGroupAssociations
2870
+ # Response message for ListMirroringEndpointGroupAssociations.
2594
2871
  class ListMirroringEndpointGroupAssociationsResponse
2595
2872
  include Google::Apis::Core::Hashable
2596
2873
 
2597
- # The list of MirroringEndpointGroupAssociation
2874
+ # The associations from the specified parent.
2598
2875
  # Corresponds to the JSON property `mirroringEndpointGroupAssociations`
2599
2876
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociation>]
2600
2877
  attr_accessor :mirroring_endpoint_group_associations
2601
2878
 
2602
- # 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.
2603
2882
  # Corresponds to the JSON property `nextPageToken`
2604
2883
  # @return [String]
2605
2884
  attr_accessor :next_page_token
@@ -2615,16 +2894,18 @@ module Google
2615
2894
  end
2616
2895
  end
2617
2896
 
2618
- # Message for response to listing MirroringEndpointGroups
2897
+ # Response message for ListMirroringEndpointGroups.
2619
2898
  class ListMirroringEndpointGroupsResponse
2620
2899
  include Google::Apis::Core::Hashable
2621
2900
 
2622
- # The list of MirroringEndpointGroup
2901
+ # The endpoint groups from the specified parent.
2623
2902
  # Corresponds to the JSON property `mirroringEndpointGroups`
2624
2903
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroup>]
2625
2904
  attr_accessor :mirroring_endpoint_groups
2626
2905
 
2627
- # 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.
2628
2909
  # Corresponds to the JSON property `nextPageToken`
2629
2910
  # @return [String]
2630
2911
  attr_accessor :next_page_token
@@ -2898,52 +3179,69 @@ module Google
2898
3179
  end
2899
3180
  end
2900
3181
 
2901
- # 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.
2902
3186
  class MirroringDeployment
2903
3187
  include Google::Apis::Core::Hashable
2904
3188
 
2905
- # 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.
2906
3191
  # Corresponds to the JSON property `createTime`
2907
3192
  # @return [String]
2908
3193
  attr_accessor :create_time
2909
3194
 
2910
- # Required. Immutable. The regional load balancer which the mirrored traffic
2911
- # should be forwarded to. Format is: projects/`project`/regions/`region`/
2912
- # 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.
2913
3204
  # Corresponds to the JSON property `forwardingRule`
2914
3205
  # @return [String]
2915
3206
  attr_accessor :forwarding_rule
2916
3207
 
2917
- # Optional. Labels as key value pairs
3208
+ # Optional. Labels are key/value pairs that help to organize and filter
3209
+ # resources.
2918
3210
  # Corresponds to the JSON property `labels`
2919
3211
  # @return [Hash<String,String>]
2920
3212
  attr_accessor :labels
2921
3213
 
2922
- # Required. Immutable. The Mirroring Deployment Group that this resource is part
2923
- # of. Format is: `projects/`project`/locations/global/mirroringDeploymentGroups/`
2924
- # 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.
2925
3217
  # Corresponds to the JSON property `mirroringDeploymentGroup`
2926
3218
  # @return [String]
2927
3219
  attr_accessor :mirroring_deployment_group
2928
3220
 
2929
- # 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.
2930
3224
  # Corresponds to the JSON property `name`
2931
3225
  # @return [String]
2932
3226
  attr_accessor :name
2933
3227
 
2934
- # Output only. Whether reconciling is in progress, recommended per https://
2935
- # 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.
2936
3232
  # Corresponds to the JSON property `reconciling`
2937
3233
  # @return [Boolean]
2938
3234
  attr_accessor :reconciling
2939
3235
  alias_method :reconciling?, :reconciling
2940
3236
 
2941
- # Output only. Current state of the deployment.
3237
+ # Output only. The current state of the deployment. See https://google.aip.dev/
3238
+ # 216.
2942
3239
  # Corresponds to the JSON property `state`
2943
3240
  # @return [String]
2944
3241
  attr_accessor :state
2945
3242
 
2946
- # 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.
2947
3245
  # Corresponds to the JSON property `updateTime`
2948
3246
  # @return [String]
2949
3247
  attr_accessor :update_time
@@ -2955,6 +3253,7 @@ module Google
2955
3253
  # Update properties of this object
2956
3254
  def update!(**args)
2957
3255
  @create_time = args[:create_time] if args.key?(:create_time)
3256
+ @description = args[:description] if args.key?(:description)
2958
3257
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2959
3258
  @labels = args[:labels] if args.key?(:labels)
2960
3259
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
@@ -2965,50 +3264,71 @@ module Google
2965
3264
  end
2966
3265
  end
2967
3266
 
2968
- # 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.
2969
3270
  class MirroringDeploymentGroup
2970
3271
  include Google::Apis::Core::Hashable
2971
3272
 
2972
- # Output only. The list of Mirroring Endpoint Groups that are connected to this
2973
- # resource.
3273
+ # Output only. The list of endpoint groups that are connected to this resource.
2974
3274
  # Corresponds to the JSON property `connectedEndpointGroups`
2975
3275
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupConnectedEndpointGroup>]
2976
3276
  attr_accessor :connected_endpoint_groups
2977
3277
 
2978
- # 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.
2979
3280
  # Corresponds to the JSON property `createTime`
2980
3281
  # @return [String]
2981
3282
  attr_accessor :create_time
2982
3283
 
2983
- # 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.
2984
3292
  # Corresponds to the JSON property `labels`
2985
3293
  # @return [Hash<String,String>]
2986
3294
  attr_accessor :labels
2987
3295
 
2988
- # 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.
2989
3299
  # Corresponds to the JSON property `name`
2990
3300
  # @return [String]
2991
3301
  attr_accessor :name
2992
3302
 
2993
- # Required. Immutable. The network that is being used for the deployment. Format
2994
- # 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.
2995
3311
  # Corresponds to the JSON property `network`
2996
3312
  # @return [String]
2997
3313
  attr_accessor :network
2998
3314
 
2999
- # 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://
3000
3318
  # google.aip.dev/128.
3001
3319
  # Corresponds to the JSON property `reconciling`
3002
3320
  # @return [Boolean]
3003
3321
  attr_accessor :reconciling
3004
3322
  alias_method :reconciling?, :reconciling
3005
3323
 
3006
- # 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.
3007
3326
  # Corresponds to the JSON property `state`
3008
3327
  # @return [String]
3009
3328
  attr_accessor :state
3010
3329
 
3011
- # 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.
3012
3332
  # Corresponds to the JSON property `updateTime`
3013
3333
  # @return [String]
3014
3334
  attr_accessor :update_time
@@ -3021,8 +3341,10 @@ module Google
3021
3341
  def update!(**args)
3022
3342
  @connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
3023
3343
  @create_time = args[:create_time] if args.key?(:create_time)
3344
+ @description = args[:description] if args.key?(:description)
3024
3345
  @labels = args[:labels] if args.key?(:labels)
3025
3346
  @name = args[:name] if args.key?(:name)
3347
+ @nested_deployments = args[:nested_deployments] if args.key?(:nested_deployments)
3026
3348
  @network = args[:network] if args.key?(:network)
3027
3349
  @reconciling = args[:reconciling] if args.key?(:reconciling)
3028
3350
  @state = args[:state] if args.key?(:state)
@@ -3034,11 +3356,38 @@ module Google
3034
3356
  class MirroringDeploymentGroupConnectedEndpointGroup
3035
3357
  include Google::Apis::Core::Hashable
3036
3358
 
3037
- # 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.
3362
+ # Corresponds to the JSON property `name`
3363
+ # @return [String]
3364
+ attr_accessor :name
3365
+
3366
+ def initialize(**args)
3367
+ update!(**args)
3368
+ end
3369
+
3370
+ # Update properties of this object
3371
+ def update!(**args)
3372
+ @name = args[:name] if args.key?(:name)
3373
+ end
3374
+ end
3375
+
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``.
3038
3382
  # Corresponds to the JSON property `name`
3039
3383
  # @return [String]
3040
3384
  attr_accessor :name
3041
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
+
3042
3391
  def initialize(**args)
3043
3392
  update!(**args)
3044
3393
  end
@@ -3046,48 +3395,72 @@ module Google
3046
3395
  # Update properties of this object
3047
3396
  def update!(**args)
3048
3397
  @name = args[:name] if args.key?(:name)
3398
+ @state = args[:state] if args.key?(:state)
3049
3399
  end
3050
3400
  end
3051
3401
 
3052
- # Message describing MirroringEndpointGroup object.
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).
3053
3407
  class MirroringEndpointGroup
3054
3408
  include Google::Apis::Core::Hashable
3055
3409
 
3056
- # 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.
3057
3417
  # Corresponds to the JSON property `createTime`
3058
3418
  # @return [String]
3059
3419
  attr_accessor :create_time
3060
3420
 
3061
- # 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.
3062
3429
  # Corresponds to the JSON property `labels`
3063
3430
  # @return [Hash<String,String>]
3064
3431
  attr_accessor :labels
3065
3432
 
3066
- # Required. Immutable. The Mirroring Deployment Group that this resource is
3067
- # connected to. Format is: `projects/`project`/locations/global/
3068
- # 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.
3069
3436
  # Corresponds to the JSON property `mirroringDeploymentGroup`
3070
3437
  # @return [String]
3071
3438
  attr_accessor :mirroring_deployment_group
3072
3439
 
3073
- # 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.
3074
3443
  # Corresponds to the JSON property `name`
3075
3444
  # @return [String]
3076
3445
  attr_accessor :name
3077
3446
 
3078
- # 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://
3079
3450
  # google.aip.dev/128.
3080
3451
  # Corresponds to the JSON property `reconciling`
3081
3452
  # @return [Boolean]
3082
3453
  attr_accessor :reconciling
3083
3454
  alias_method :reconciling?, :reconciling
3084
3455
 
3085
- # 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.
3086
3458
  # Corresponds to the JSON property `state`
3087
3459
  # @return [String]
3088
3460
  attr_accessor :state
3089
3461
 
3090
- # 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.
3091
3464
  # Corresponds to the JSON property `updateTime`
3092
3465
  # @return [String]
3093
3466
  attr_accessor :update_time
@@ -3098,7 +3471,9 @@ module Google
3098
3471
 
3099
3472
  # Update properties of this object
3100
3473
  def update!(**args)
3474
+ @associations = args[:associations] if args.key?(:associations)
3101
3475
  @create_time = args[:create_time] if args.key?(:create_time)
3476
+ @description = args[:description] if args.key?(:description)
3102
3477
  @labels = args[:labels] if args.key?(:labels)
3103
3478
  @mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
3104
3479
  @name = args[:name] if args.key?(:name)
@@ -3108,45 +3483,59 @@ module Google
3108
3483
  end
3109
3484
  end
3110
3485
 
3111
- # 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.
3112
3492
  class MirroringEndpointGroupAssociation
3113
3493
  include Google::Apis::Core::Hashable
3114
3494
 
3115
- # 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.
3116
3497
  # Corresponds to the JSON property `createTime`
3117
3498
  # @return [String]
3118
3499
  attr_accessor :create_time
3119
3500
 
3120
- # Optional. Labels as key value pairs
3501
+ # Optional. Labels are key/value pairs that help to organize and filter
3502
+ # resources.
3121
3503
  # Corresponds to the JSON property `labels`
3122
3504
  # @return [Hash<String,String>]
3123
3505
  attr_accessor :labels
3124
3506
 
3125
- # 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.
3126
3510
  # Corresponds to the JSON property `locationsDetails`
3127
3511
  # @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationLocationDetails>]
3128
3512
  attr_accessor :locations_details
3129
3513
 
3130
- # Required. Immutable. The Mirroring Endpoint Group that this resource is
3131
- # connected to. Format is: `projects/`project`/locations/global/
3132
- # 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.
3133
3517
  # Corresponds to the JSON property `mirroringEndpointGroup`
3134
3518
  # @return [String]
3135
3519
  attr_accessor :mirroring_endpoint_group
3136
3520
 
3137
- # 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.
3138
3525
  # Corresponds to the JSON property `name`
3139
3526
  # @return [String]
3140
3527
  attr_accessor :name
3141
3528
 
3142
- # Required. Immutable. The VPC network associated. Format: projects/`project`/
3143
- # 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.
3144
3531
  # Corresponds to the JSON property `network`
3145
3532
  # @return [String]
3146
3533
  attr_accessor :network
3147
3534
 
3148
- # Output only. Whether reconciling is in progress, recommended per https://
3149
- # 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.
3150
3539
  # Corresponds to the JSON property `reconciling`
3151
3540
  # @return [Boolean]
3152
3541
  attr_accessor :reconciling
@@ -3157,7 +3546,8 @@ module Google
3157
3546
  # @return [String]
3158
3547
  attr_accessor :state
3159
3548
 
3160
- # 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.
3161
3551
  # Corresponds to the JSON property `updateTime`
3162
3552
  # @return [String]
3163
3553
  attr_accessor :update_time
@@ -3180,16 +3570,51 @@ module Google
3180
3570
  end
3181
3571
  end
3182
3572
 
3183
- # 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.
3184
3609
  class MirroringEndpointGroupAssociationLocationDetails
3185
3610
  include Google::Apis::Core::Hashable
3186
3611
 
3187
- # Output only. The cloud location.
3612
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
3188
3613
  # Corresponds to the JSON property `location`
3189
3614
  # @return [String]
3190
3615
  attr_accessor :location
3191
3616
 
3192
- # Output only. The association state in this location.
3617
+ # Output only. The current state of the association in this location.
3193
3618
  # Corresponds to the JSON property `state`
3194
3619
  # @return [String]
3195
3620
  attr_accessor :state
@@ -3402,14 +3827,14 @@ module Google
3402
3827
  # @return [String]
3403
3828
  attr_accessor :create_time
3404
3829
 
3405
- # CustomInterceptProfile defines the Packet Intercept Endpoint Group used to
3406
- # 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.
3407
3832
  # Corresponds to the JSON property `customInterceptProfile`
3408
3833
  # @return [Google::Apis::NetworksecurityV1beta1::CustomInterceptProfile]
3409
3834
  attr_accessor :custom_intercept_profile
3410
3835
 
3411
- # CustomMirroringProfile defines an action for mirroring traffic to a collector'
3412
- # s EndpointGroup
3836
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
3837
+ # It is used by mirroring rules with a MIRROR action.
3413
3838
  # Corresponds to the JSON property `customMirroringProfile`
3414
3839
  # @return [Google::Apis::NetworksecurityV1beta1::CustomMirroringProfile]
3415
3840
  attr_accessor :custom_mirroring_profile
@@ -3495,6 +3920,12 @@ module Google
3495
3920
  # @return [String]
3496
3921
  attr_accessor :custom_mirroring_profile
3497
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
+
3498
3929
  # Optional. An optional description of the profile group. Max length 2048
3499
3930
  # characters.
3500
3931
  # Corresponds to the JSON property `description`
@@ -3540,6 +3971,7 @@ module Google
3540
3971
  @create_time = args[:create_time] if args.key?(:create_time)
3541
3972
  @custom_intercept_profile = args[:custom_intercept_profile] if args.key?(:custom_intercept_profile)
3542
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)
3543
3975
  @description = args[:description] if args.key?(:description)
3544
3976
  @etag = args[:etag] if args.key?(:etag)
3545
3977
  @labels = args[:labels] if args.key?(:labels)
@@ -3763,6 +4195,11 @@ module Google
3763
4195
  class ThreatPreventionProfile
3764
4196
  include Google::Apis::Core::Hashable
3765
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
+
3766
4203
  # Optional. Configuration for overriding threats actions by severity match.
3767
4204
  # Corresponds to the JSON property `severityOverrides`
3768
4205
  # @return [Array<Google::Apis::NetworksecurityV1beta1::SeverityOverride>]
@@ -3781,6 +4218,7 @@ module Google
3781
4218
 
3782
4219
  # Update properties of this object
3783
4220
  def update!(**args)
4221
+ @antivirus_overrides = args[:antivirus_overrides] if args.key?(:antivirus_overrides)
3784
4222
  @severity_overrides = args[:severity_overrides] if args.key?(:severity_overrides)
3785
4223
  @threat_overrides = args[:threat_overrides] if args.key?(:threat_overrides)
3786
4224
  end