Class: Google::Apis::NetworkservicesV1beta1::WasmPlugin

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ WasmPlugin

Returns a new instance of WasmPlugin.



4806
4807
4808
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4806

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


4718
4719
4720
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4718

def create_time
  @create_time
end

#descriptionString

Optional. A human-readable description of the resource. Corresponds to the JSON property description

Returns:

  • (String)


4723
4724
4725
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4723

def description
  @description
end

#kms_key_nameString

Optional. The name of the customer-managed CryptoKey to be used to encrypt the WasmPlugin image (provided by image_uri) and configuration (provided by plugin_config_data or plugin_config_uri) that are stored by the Service Extensions product at rest. Format: projects/project /locations/location/keyRings/keyring/cryptoKeys/key`By default, Google Cloud automatically encrypts all data at rest using Google-owned and Google- managed encryption keys. If you need ownership and control of the keys that protect your data at rest, you can specify a customer-managed encryption key ( CMEK) to encrypt yourWasmPlugindata. For more information, see [Using customer-managed encryption keys](https://cloud.google.com/service-extensions/ docs/cmek). Corresponds to the JSON propertykmsKeyName`

Returns:

  • (String)


4739
4740
4741
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4739

def kms_key_name
  @kms_key_name
end

#kms_key_versionString

Output only. The name of the specific CryptoKeyVersion used to encrypt the WasmPlugin data, if the kms_key_name field is set. Format: projects/project/locations/location/keyRings/ keyring/cryptoKeys/key/cryptoKeyVersions/version`This is a read-only field.WasmPlugindata is automatically encrypted using the most recent CryptoKeyVersionof theCryptoKeyprovided in thekms_key_namefield. See [Cloud KMS resources](https://cloud.google.com/kms/docs/resource-hierarchy) for more information. Corresponds to the JSON propertykmsKeyVersion`

Returns:

  • (String)


4752
4753
4754
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4752

def kms_key_version
  @kms_key_version
end

#labelsHash<String,String>

Optional. Set of labels associated with the WasmPlugin resource. The format must comply with the following requirements. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


4759
4760
4761
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4759

def labels
  @labels
end

#log_configGoogle::Apis::NetworkservicesV1beta1::WasmPluginLogConfig

Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Corresponds to the JSON property logConfig



4765
4766
4767
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4765

def log_config
  @log_config
end

#main_version_idString

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. Corresponds to the JSON property mainVersionId

Returns:

  • (String)


4772
4773
4774
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4772

def main_version_id
  @main_version_id
end

#nameString

Identifier. Name of the WasmPlugin resource in the following format: projects/project/locations/location/wasmPlugins/wasm_plugin`. Corresponds to the JSON propertyname`

Returns:

  • (String)


4778
4779
4780
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4778

def name
  @name
end

#update_timeString

Output only. The timestamp when the resource was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


4783
4784
4785
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4783

def update_time
  @update_time
end

#used_byArray<Google::Apis::NetworkservicesV1beta1::WasmPluginUsedBy>

Output only. List of all extensions that use this WasmPlugin resource. Corresponds to the JSON property usedBy



4789
4790
4791
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4789

def used_by
  @used_by
end

#versionsHash<String,Google::Apis::NetworkservicesV1beta1::WasmPluginVersionDetails>

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. Corresponds to the JSON property versions



4804
4805
4806
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4804

def versions
  @versions
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 4811

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
  @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
  @labels = args[:labels] if args.key?(:labels)
  @log_config = args[:log_config] if args.key?(:log_config)
  @main_version_id = args[:main_version_id] if args.key?(:main_version_id)
  @name = args[:name] if args.key?(:name)
  @update_time = args[:update_time] if args.key?(:update_time)
  @used_by = args[:used_by] if args.key?(:used_by)
  @versions = args[:versions] if args.key?(:versions)
end