API hub v1 API - Class Plugin (1.1.0)

public sealed class Plugin : IMessage<Plugin>, IEquatable<Plugin>, IDeepCloneable<Plugin>, IBufferMessage, IMessage

Reference documentation and code samples for the API hub v1 API class Plugin.

A plugin resource in the API Hub.

Inheritance

object > Plugin

Namespace

Google.Cloud.ApiHub.V1

Assembly

Google.Cloud.ApiHub.V1.dll

Constructors

Plugin()

public Plugin()

Plugin(Plugin)

public Plugin(Plugin other)
Parameter
Name Description
other Plugin

Properties

ActionsConfig

public RepeatedField<PluginActionConfig> ActionsConfig { get; }

Optional. The configuration of actions supported by the plugin. REQUIRED: This field must be provided when creating or updating a Plugin. The server will reject requests if this field is missing.

Property Value
Type Description
RepeatedFieldPluginActionConfig

ConfigTemplate

public Plugin.Types.ConfigTemplate ConfigTemplate { get; set; }

Optional. The configuration template for the plugin.

Property Value
Type Description
PluginTypesConfigTemplate

CreateTime

public Timestamp CreateTime { get; set; }

Output only. Timestamp indicating when the plugin was created.

Property Value
Type Description
Timestamp

Description

public string Description { get; set; }

Optional. The plugin description. Max length is 2000 characters (Unicode code points).

Property Value
Type Description
string

DisplayName

public string DisplayName { get; set; }

Required. The display name of the plugin. Max length is 50 characters (Unicode code points).

Property Value
Type Description
string

Documentation

public Documentation Documentation { get; set; }

Optional. The documentation of the plugin, that explains how to set up and use the plugin.

Property Value
Type Description
Documentation

GatewayType

public GatewayType GatewayType { get; set; }

Optional. The type of the gateway.

Property Value
Type Description
GatewayType

HostingService

public Plugin.Types.HostingService HostingService { get; set; }

Optional. This field is optional. It is used to notify the plugin hosting service for any lifecycle changes of the plugin instance and trigger execution of plugin instance actions in case of API hub managed actions.

This field should be provided if the plugin instance lifecycle of the developed plugin needs to be managed from API hub. Also, in this case the plugin hosting service interface needs to be implemented.

This field should not be provided if the plugin wants to manage plugin instance lifecycle events outside of hub interface and use plugin framework for only registering of plugin and plugin instances to capture the source of data into hub. Note, in this case the plugin hosting service interface is not required to be implemented. Also, the plugin instance lifecycle actions will be disabled from API hub's UI.

Property Value
Type Description
PluginTypesHostingService

Name

public string Name { get; set; }

Identifier. The name of the plugin. Format: projects/{project}/locations/{location}/plugins/{plugin}

Property Value
Type Description
string

OwnershipType

public Plugin.Types.OwnershipType OwnershipType { get; set; }

Output only. The type of the plugin, indicating whether it is 'SYSTEM_OWNED' or 'USER_OWNED'.

Property Value
Type Description
PluginTypesOwnershipType

PluginCategory

public PluginCategory PluginCategory { get; set; }

Optional. The category of the plugin, identifying its primary category or purpose. This field is required for all plugins.

Property Value
Type Description
PluginCategory

PluginName

public PluginName PluginName { get; set; }

PluginName-typed view over the Name resource name property.

Property Value
Type Description
PluginName

State

public Plugin.Types.State State { get; set; }

Output only. Represents the state of the plugin. Note this field will not be set for plugins developed via plugin framework as the state will be managed at plugin instance level.

Property Value
Type Description
PluginTypesState

Type

public AttributeValues Type { get; set; }

Optional. The type of the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-plugin-type attribute. The number of allowed values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute. Note this field is not required for plugins developed via plugin framework.

Property Value
Type Description
AttributeValues

UpdateTime

public Timestamp UpdateTime { get; set; }

Output only. Timestamp indicating when the plugin was last updated.

Property Value
Type Description
Timestamp