Class: Google::Cloud::ApiHub::V1::Plugin

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

Overview

A plugin resource in the API Hub.

Defined Under Namespace

Modules: OwnershipType, State Classes: ConfigTemplate, HostingService

Instance Attribute Summary collapse

Instance Attribute Details

#actions_config::Array<::Google::Cloud::ApiHub::V1::PluginActionConfig>

Returns 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.

Returns:

  • (::Array<::Google::Cloud::ApiHub::V1::PluginActionConfig>)

    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.



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#config_template::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate

Returns Optional. The configuration template for the plugin.

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

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

Returns Output only. Timestamp indicating when the plugin was created.

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#description::String

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

Returns:

  • (::String)

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



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#display_name::String

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

Returns:

  • (::String)

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



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#documentation::Google::Cloud::ApiHub::V1::Documentation

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

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#gateway_type::Google::Cloud::ApiHub::V1::GatewayType

Returns Optional. The type of the gateway.

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#hosting_service::Google::Cloud::ApiHub::V1::Plugin::HostingService

Returns 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.

Returns:

  • (::Google::Cloud::ApiHub::V1::Plugin::HostingService)

    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.



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#name::String

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

Returns:

  • (::String)

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



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#ownership_type::Google::Cloud::ApiHub::V1::Plugin::OwnershipType (readonly)

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

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#plugin_category::Google::Cloud::ApiHub::V1::PluginCategory

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

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#state::Google::Cloud::ApiHub::V1::Plugin::State (readonly)

Returns 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.

Returns:

  • (::Google::Cloud::ApiHub::V1::Plugin::State)

    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.



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

#type::Google::Cloud::ApiHub::V1::AttributeValues

Returns 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.

Returns:

  • (::Google::Cloud::ApiHub::V1::AttributeValues)

    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.



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end

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

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

Returns:



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
# File 'proto_docs/google/cloud/apihub/v1/plugin_service.rb', line 98

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

  # The information related to the service implemented by the plugin
  # developer, used to invoke the plugin's functionality.
  # @!attribute [rw] service_uri
  #   @return [::String]
  #     Optional. The URI of the service implemented by the plugin developer,
  #     used to invoke the plugin's functionality. This information is only
  #     required for user defined plugins.
  class HostingService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # ConfigTemplate represents the configuration template for a plugin.
  # @!attribute [rw] auth_config_template
  #   @return [::Google::Cloud::ApiHub::V1::Plugin::ConfigTemplate::AuthConfigTemplate]
  #     Optional. The authentication template for the plugin.
  # @!attribute [rw] additional_config_template
  #   @return [::Array<::Google::Cloud::ApiHub::V1::ConfigVariableTemplate>]
  #     Optional. The list of additional configuration variables for the plugin's
  #     configuration.
  class ConfigTemplate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # AuthConfigTemplate represents the authentication template for a plugin.
    # @!attribute [rw] supported_auth_types
    #   @return [::Array<::Google::Cloud::ApiHub::V1::AuthType>]
    #     Required. The list of authentication types supported by the plugin.
    # @!attribute [rw] service_account
    #   @return [::Google::Cloud::ApiHub::V1::GoogleServiceAccountConfig]
    #     Optional. The service account of the plugin hosting service.
    #     This service account should be granted the required permissions on the
    #     Auth Config parameters provided while creating the plugin instances
    #     corresponding to this plugin.
    #
    #     For example, if the plugin instance auth config requires a secret
    #     manager secret, the service account should be granted the
    #     secretmanager.versions.access permission on the corresponding secret,
    #     if the plugin instance auth config contains a service account, the
    #     service account should be granted the
    #     iam.serviceAccounts.getAccessToken permission on the corresponding
    #     service account.
    class AuthConfigTemplate
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Possible states a plugin can have. Note that this enum may receive new
  # values in the future. Consumers are advised to always code against the
  # enum values expecting new states can be added later on.
  module State
    # The default value. This value is used if the state is omitted.
    STATE_UNSPECIFIED = 0

    # The plugin is enabled.
    ENABLED = 1

    # The plugin is disabled.
    DISABLED = 2
  end

  # Ownership type of the plugin.
  module OwnershipType
    # Default unspecified type.
    OWNERSHIP_TYPE_UNSPECIFIED = 0

    # System owned plugins are defined by API hub and are available out of the
    # box in API hub.
    SYSTEM_OWNED = 1

    # User owned plugins are defined by the user and need to be explicitly
    # added to API hub via
    # {::Google::Cloud::ApiHub::V1::ApiHubPlugin::Rest::Client#create_plugin CreatePlugin} method.
    USER_OWNED = 2
  end
end