Class: Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb

Overview

The ServiceConnectionMap resource.

Defined Under Namespace

Classes: ConsumerPscConfig, ConsumerPscConnection, LabelsEntry, ProducerPscConfig

Instance Attribute Summary collapse

Instance Attribute Details

#consumer_psc_configs::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig>

Returns The PSC configurations on consumer side.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#consumer_psc_connections::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection> (readonly)

Returns Output only. PSC connection details on consumer side.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Time when the ServiceConnectionMap was created.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#description::String

Returns A description of this resource.

Returns:

  • (::String)

    A description of this resource.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#etag::String

Returns Optional. The etag is computed by the server, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

Returns:

  • (::String)

    Optional. The etag is computed by the server, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#infrastructure::Google::Cloud::NetworkConnectivity::V1::Infrastructure (readonly)

Returns Output only. The infrastructure used for connections between consumers/producers.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns User-defined labels.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    User-defined labels.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Immutable. The name of a ServiceConnectionMap. Format: projects/{project}/locations/{location}/serviceConnectionMaps/{service_connection_map} See: https://google.aip.dev/122#fields-representing-resource-names.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#producer_psc_configs::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ProducerPscConfig>

Returns The PSC configurations on producer side.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#service_class::String

Returns The service class identifier this ServiceConnectionMap is for. The user of ServiceConnectionMap create API needs to have networkconnecitivty.serviceclasses.use iam permission for the service class.

Returns:

  • (::String)

    The service class identifier this ServiceConnectionMap is for. The user of ServiceConnectionMap create API needs to have networkconnecitivty.serviceclasses.use iam permission for the service class.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#service_class_uri::String (readonly)

Returns Output only. The service class uri this ServiceConnectionMap is for.

Returns:

  • (::String)

    Output only. The service class uri this ServiceConnectionMap is for.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#token::String

Returns The token provided by the consumer. This token authenticates that the consumer can create a connection within the specified project and network.

Returns:

  • (::String)

    The token provided by the consumer. This token authenticates that the consumer can create a connection within the specified project and network.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Time when the ServiceConnectionMap was updated.

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb', line 74

class ServiceConnectionMap
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The PSC configurations on producer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The resource path of a service attachment.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
  class ProducerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Allow the producer to specify which consumers can connect to it.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project where PSC connections are allowed to be created in.
  # @!attribute [rw] network
  #   @return [::String]
  #     The resource path of the consumer network where PSC connections are
  #     allowed to be created in. Note, this network does not need be in the
  #     ConsumerPscConfig.project in the case of SharedVPC.
  #     Example:
  #     projects/\\{projectNumOrId}/global/networks/\\{networkId}.
  # @!attribute [rw] disable_global_access
  #   @return [::Boolean]
  #     This is used in PSC consumer ForwardingRule to control whether the PSC
  #     endpoint can be accessed from another region.
  # @!attribute [r] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
  #     Output only. Overall state of PSC Connections management for this
  #     consumer psc config.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [r] service_attachment_ip_address_map
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. A map to store mapping between customer vip and target
  #     service attachment. Only service attachment with producer specified ip
  #     addresses are stored here.
  # @!attribute [rw] consumer_instance_project
  #   @return [::String]
  #     Required. The project ID or project number of the consumer project. This
  #     project is the one that the consumer uses to interact with the producer
  #     instance. From the perspective of a consumer who's created a producer
  #     instance, this is the project of the producer instance. Format:
  #     'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
  #     'projects/1234'
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceAttachmentIpAddressMapEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # PSC Consumer Config State.
    module State
      # Default state, when Connection Map is created initially.
      STATE_UNSPECIFIED = 0

      # Set when policy and map configuration is valid,
      # and their matching can lead to allowing creation of PSC Connections
      # subject to other constraints like connections limit.
      VALID = 1

      # No Service Connection Policy found for this network and Service
      # Class
      CONNECTION_POLICY_MISSING = 2

      # Service Connection Policy limit reached for this network and Service
      # Class
      POLICY_LIMIT_REACHED = 3

      # The consumer instance project is not in
      # AllowedGoogleProducersResourceHierarchyLevels of the matching
      # ServiceConnectionPolicy.
      CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
    end
  end

  # PSC connection details on consumer side.
  # @!attribute [rw] service_attachment_uri
  #   @return [::String]
  #     The URI of a service attachment which is the target of the PSC
  #     connection.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
  #     The state of the PSC connection.
  # @!attribute [rw] project
  #   @return [::String]
  #     The consumer project whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  # @!attribute [rw] network
  #   @return [::String]
  #     The consumer network whose PSC forwarding rule is connected to the
  #     service attachments in this service connection map.
  #     Note that the network could be on a different project (shared VPC).
  # @!attribute [rw] psc_connection_id
  #   @return [::String]
  #     The PSC connection id of the PSC forwarding rule connected
  #     to the service attachments in this service connection map.
  # @!attribute [rw] ip
  #   @return [::String]
  #     The IP literal allocated on the consumer network for the PSC forwarding
  #     rule that is created to connect to the producer service attachment in
  #     this service connection map.
  # @!attribute [rw] error_type
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
  #     The error type indicates whether the error is consumer facing, producer
  #     facing or system internal.
  # @!attribute [rw] error
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::Google::Rpc::Status]
  #     The most recent error during operating this connection.
  # @!attribute [rw] gce_operation
  #   @return [::String]
  #     The last Compute Engine operation to setup PSC connection.
  # @!attribute [rw] forwarding_rule
  #   @return [::String]
  #     The URI of the consumer forwarding rule created.
  #     Example:
  #     projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
  # @!attribute [r] error_info
  #   @return [::Google::Rpc::ErrorInfo]
  #     Output only. The error info for the latest error during operating this
  #     connection.
  # @!attribute [r] selected_subnetwork
  #   @return [::String]
  #     Output only. The URI of the selected subnetwork selected to allocate IP
  #     address for this connection.
  # @!attribute [rw] producer_instance_id
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Immutable. Deprecated. Use producer_instance_metadata instead.
  #     An immutable identifier for the producer instance.
  # @!attribute [rw] producer_instance_metadata
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Immutable. An immutable map for the producer instance metadata.
  # @!attribute [rw] ip_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
  #     The requested IP version for the PSC connection.
  class ConsumerPscConnection
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ProducerInstanceMetadataEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The state of the PSC connection.
    # We reserve the right to add more states without notice in the future.
    # Users should not use exhaustive switch statements on this enum.
    # See https://google.aip.dev/216.
    module State
      # An invalid state as the default case.
      STATE_UNSPECIFIED = 0

      # The connection has been created successfully. However, for the
      # up-to-date connection status, please use the service attachment's
      # "ConnectedEndpoint.status" as the source of truth.
      ACTIVE = 1

      # The connection is not functional since some resources on the connection
      # fail to be created.
      FAILED = 2

      # The connection is being created.
      CREATING = 3

      # The connection is being deleted.
      DELETING = 4

      # The connection is being repaired to complete creation.
      CREATE_REPAIRING = 5

      # The connection is being repaired to complete deletion.
      DELETE_REPAIRING = 6
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end