Class: Google::Cloud::NetworkServices::V1::WasmPlugin

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

Overview

WasmPlugin is a resource representing a service executing a customer-provided Wasm module.

Defined Under Namespace

Classes: LabelsEntry, LogConfig, UsedBy, VersionDetails, VersionsEntry

Instance Attribute Summary collapse

Instance Attribute Details

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

Returns Output only. The timestamp when the resource was created.

Returns:



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#description::String

Returns Optional. A human-readable description of the resource.

Returns:

  • (::String)

    Optional. A human-readable description of the resource.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

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

Returns Optional. Set of labels associated with the WasmPlugin resource.

The format must comply with the following requirements.

Returns:

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

    Optional. Set of labels associated with the WasmPlugin resource.

    The format must comply with the following requirements.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#log_config::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig

Returns Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code.

Returns:

  • (::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig)

    Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#main_version_id::String

Returns Optional. The ID of the WasmPluginVersion resource that is the currently serving one. The version referred to must be a child of this WasmPlugin resource.

Returns:

  • (::String)

    Optional. The ID of the WasmPluginVersion resource that is the currently serving one. The version referred to must be a child of this WasmPlugin resource.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Identifier. Name of the WasmPlugin resource in the following format: projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}.

Returns:

  • (::String)

    Identifier. Name of the WasmPlugin resource in the following format: projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

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

Returns Output only. The timestamp when the resource was updated.

Returns:



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#used_by::Array<::Google::Cloud::NetworkServices::V1::WasmPlugin::UsedBy> (readonly)

Returns Output only. List of all extensions that use this WasmPlugin resource.

Returns:



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#versions::Google::Protobuf::Map{::String => ::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails}

Returns Optional. All versions of this WasmPlugin resource in the key-value format. The key is the resource ID, and the value is the VersionDetails object.

Lets you create or update a WasmPlugin resource and its versions in a single request. When the main_version_id field is not empty, it must point to one of the VersionDetails objects in the map.

If provided in a PATCH request, the new versions replace the previous set. Any version omitted from the versions field is removed. Because the WasmPluginVersion resource is immutable, if a WasmPluginVersion resource with the same name already exists and differs, the request fails.

Note: In a GET request, this field is populated only if the field GetWasmPluginRequest.view is set to WASM_PLUGIN_VIEW_FULL.

Returns:

  • (::Google::Protobuf::Map{::String => ::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails})

    Optional. All versions of this WasmPlugin resource in the key-value format. The key is the resource ID, and the value is the VersionDetails object.

    Lets you create or update a WasmPlugin resource and its versions in a single request. When the main_version_id field is not empty, it must point to one of the VersionDetails objects in the map.

    If provided in a PATCH request, the new versions replace the previous set. Any version omitted from the versions field is removed. Because the WasmPluginVersion resource is immutable, if a WasmPluginVersion resource with the same name already exists and differs, the request fails.

    Note: In a GET request, this field is populated only if the field GetWasmPluginRequest.view is set to WASM_PLUGIN_VIEW_FULL.



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
# File 'proto_docs/google/cloud/networkservices/v1/extensibility.rb', line 80

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

  # Details of a `WasmPluginVersion` resource to be inlined in the
  # `WasmPlugin` resource.
  # @!attribute [rw] plugin_config_data
  #   @return [::String]
  #     Configuration for the plugin.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. When a new
  #     `WasmPluginVersion` version is created, the digest of the
  #     contents is saved in the `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_data`, `plugin_config_uri`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] plugin_config_uri
  #   @return [::String]
  #     URI of the plugin configuration stored in the Artifact Registry.
  #     The configuration is provided to the plugin at runtime through
  #     the `ON_CONFIGURE` callback. The container image must
  #     contain only a single file with the name
  #     `plugin.config`. When a new `WasmPluginVersion`
  #     resource is created, the digest of the container image is saved in the
  #     `plugin_config_digest` field.
  #
  #     Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [r] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was created.
  # @!attribute [r] update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The timestamp when the resource was updated.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A human-readable description of the resource.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Set of labels associated with the `WasmPluginVersion`
  #     resource.
  # @!attribute [rw] image_uri
  #   @return [::String]
  #     Optional. URI of the container image containing the Wasm module, stored
  #     in the Artifact Registry. The container image must contain only a single
  #     file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource
  #     is created, the URI gets resolved to an image digest and saved in the
  #     `image_digest` field.
  # @!attribute [r] image_digest
  #   @return [::String]
  #     Output only. The resolved digest for the image specified in `image`.
  #     The digest is resolved during the creation of a
  #     `WasmPluginVersion` resource.
  #     This field holds the digest value regardless of whether a tag or
  #     digest was originally specified in the `image` field.
  # @!attribute [r] plugin_config_digest
  #   @return [::String]
  #     Output only. This field holds the digest (usually checksum) value for the
  #     plugin configuration. The value is calculated based on the contents of
  #     the `plugin_config_data` field or the container image defined by the
  #     `plugin_config_uri` field.
  class VersionDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

  # Specifies the logging options for the activity performed by this
  # plugin. If logging is enabled, plugin logs are exported to
  # Cloud Logging.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Optional. Specifies whether to enable logging for activity by this
  #     plugin.
  #
  #     Defaults to `false`.
  # @!attribute [rw] sample_rate
  #   @return [::Float]
  #     Non-empty default. Configures the sampling rate of activity logs, where
  #     `1.0` means all logged activity is reported and `0.0` means no activity
  #     is reported. A floating point value between `0.0` and `1.0` indicates
  #     that a percentage of log messages is stored.
  #
  #     The default value when logging is enabled is `1.0`. The value of the
  #     field must be between `0` and `1` (inclusive).
  #
  #     This field can be specified only if logging is enabled for this plugin.
  # @!attribute [rw] min_log_level
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel]
  #     Non-empty default. Specificies the lowest level of the plugin logs that
  #     are exported to Cloud Logging. This setting relates to the logs generated
  #     by using logging statements in your Wasm code.
  #
  #     This field is can be set only if logging is enabled for the plugin.
  #
  #     If the field is not provided when logging is enabled, it is set to
  #     `INFO` by default.
  class LogConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Possible values to specify the lowest level of logs to be exported to
    # Cloud Logging.
    module LogLevel
      # Unspecified value. Defaults to `LogLevel.INFO`.
      LOG_LEVEL_UNSPECIFIED = 0

      # Report logs with TRACE level and above.
      TRACE = 1

      # Report logs with DEBUG level and above.
      DEBUG = 2

      # Report logs with INFO level and above.
      INFO = 3

      # Report logs with WARN level and above.
      WARN = 4

      # Report logs with ERROR level and above.
      ERROR = 5

      # Report logs with CRITICAL level only.
      CRITICAL = 6
    end
  end

  # Defines a resource that uses the `WasmPlugin` resource.
  # @!attribute [r] name
  #   @return [::String]
  #     Output only. Full name of the resource
  #     https://google.aip.dev/122#full-resource-names, for example
  #     `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`
  class UsedBy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

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

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::VersionDetails]
  class VersionsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end