- NAME
-
- gcloud apihub plugins create - create a Plugin
- SYNOPSIS
-
-
gcloud apihub plugins create(PLUGIN:--location=LOCATION)--display-name=DISPLAY_NAME[--actions-config=[description=DESCRIPTION],[displayName=DISPLAYNAME],[id=ID],[triggerMode=TRIGGERMODE]] [--description=DESCRIPTION] [--documentation-external-uri=DOCUMENTATION_EXTERNAL_URI] [--gateway-type=GATEWAY_TYPE] [--hosting-service-uri=HOSTING_SERVICE_URI] [--plugin-category=PLUGIN_CATEGORY] [--auth-config-template-supported-types=[AUTH_CONFIG_TEMPLATE_SUPPORTED_TYPES,…]--config-template-additional=[description=DESCRIPTION],[enumOptions=ENUMOPTIONS],[id=ID],[multiSelectOptions=MULTISELECTOPTIONS],[required=REQUIRED],[validationRegex=VALIDATIONREGEX],[valueType=VALUETYPE]] [--enum-values=[description=DESCRIPTION],[displayName=DISPLAYNAME],[id=ID],[immutable=IMMUTABLE] |--json-values=[JSON_VALUES,…] |--string-values=[STRING_VALUES,…] |--uri-values=[URI_VALUES,…]] [GCLOUD_WIDE_FLAG …]
-
- DESCRIPTION
-
Create a plugin
Note: The positional argument for Plugin ID is currently not supported. Please use the --plugin flag to specify the Plugin ID.
- EXAMPLES
-
To create a plugin with the ID
my-plugin, run:gcloud apihub plugins create --plugin=my-plugin --display-name="My Plugin" --type=apigee --project=my-project --location=us-central1 - POSITIONAL ARGUMENTS
-
-
Plugin resource - Identifier. The name of the plugin. Format:
projects/{project}/locations/{location}/plugins/{plugin}The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.To set the
projectattribute:-
provide the argument
pluginon the command line with a fully specified name; -
provide the argument
--projecton the command line; -
set the property
core/project.
This must be specified.
PLUGIN-
ID of the plugin or fully qualified identifier for the plugin.
To set the
pluginattribute:-
provide the argument
pluginon the command line.
This positional argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--location=LOCATION-
The location id of the plugin resource.
To set the
locationattribute:-
provide the argument
pluginon the command line with a fully specified name; -
provide the argument
--locationon the command line.
-
provide the argument
-
provide the argument
-
Plugin resource - Identifier. The name of the plugin. Format:
- REQUIRED FLAGS
-
--display-name=DISPLAY_NAME- The display name of the plugin. Max length is 50 characters (Unicode code points).
- OPTIONAL FLAGS
-
--actions-config=[description=DESCRIPTION],[displayName=DISPLAYNAME],[id=ID],[triggerMode=TRIGGERMODE]-
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.
description- The description of the operation performed by the action.
displayName- The display name of the action.
id- The id of the action.
triggerMode- The trigger mode supported by the action.
Shorthand Example:--actions-config=description=string,displayName=string,id=string,triggerMode=string --actions-config=description=string,displayName=string,id=string,triggerMode=string
JSON Example:--actions-config='[{"description": "string", "displayName": "string", "id": "string", "triggerMode": "string"}]'
File Example:--actions-config=path_to_file.(yaml|json)
--description=DESCRIPTION- The plugin description. Max length is 2000 characters (Unicode code points).
- Documentation details.
--documentation-external-uri=DOCUMENTATION_EXTERNAL_URI- The uri of the externally hosted documentation.
--gateway-type=GATEWAY_TYPE-
The type of the gateway.
GATEWAY_TYPEmust be one of:api-discovery- The gateway type is API Discovery.
apigee-edge-private-cloud- The gateway type is Apigee Edge Private Cloud.
apigee-edge-public-cloud- The gateway type is Apigee Edge Public Cloud.
apigee-x-and-hybrid- The gateway type is Apigee X and Hybrid.
cloud-api-gateway- The gateway type is Cloud API Gateway.
cloud-endpoints- The gateway type is Cloud Endpoints.
others- The gateway type for any other types of gateways.
- The information related to the service implemented by the plugin developer, used to invoke the plugin's functionality.
--hosting-service-uri=HOSTING_SERVICE_URI- 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.
--plugin-category=PLUGIN_CATEGORY-
The category of the plugin, identifying its primary category or purpose. This
field is required for all plugins.
PLUGIN_CATEGORYmust be one of:api-gateway- API_GATEWAY plugins represent plugins built for API Gateways like Apigee.
api-producer- API_PRODUCER plugins represent plugins built for API Producers like Cloud Run, Application Integration etc.
- ConfigTemplate represents the configuration template for a plugin.
- AuthConfigTemplate represents the authentication template for a plugin.
--auth-config-template-supported-types=[AUTH_CONFIG_TEMPLATE_SUPPORTED_TYPES,…]-
The list of authentication types supported by the plugin.
AUTH_CONFIG_TEMPLATE_SUPPORTED_TYPESmust be one of:api-key- API Key authentication.
google-service-account- Google service account authentication.
no-auth- No authentication.
oauth2-client-credentials- Oauth 2.0 client credentials grant authentication.
user-password- Username and password authentication.
--config-template-additional=[description=DESCRIPTION],[enumOptions=ENUMOPTIONS],[id=ID],[multiSelectOptions=MULTISELECTOPTIONS],[required=REQUIRED],[validationRegex=VALIDATIONREGEX],[valueType=VALUETYPE]-
The list of additional configuration variables for the plugin's configuration.
description- Description.
enumOptions-
Enum options. To be populated if
ValueTypeisENUM.description- Description of the option.
displayName- Display name of the option.
id- Id of the option.
id- ID of the config variable. Must be unique within the configuration.
multiSelectOptions-
Multi select options. To be populated if
ValueTypeisMULTI_SELECT.description- Description of the option.
displayName- Display name of the option.
id- Id of the option.
required-
Flag represents that this
ConfigVariablemust be provided for a PluginInstance. validationRegex-
Regular expression in RE2 syntax used for validating the
valueof aConfigVariable. valueType- Type of the parameter: string, int, bool etc.
Shorthand Example:--config-template-additional=description=string,enumOptions=[{description=string,displayName=string,id=string}],id=string,multiSelectOptions=[{description=string,displayName=string,id=string}],required=boolean,validationRegex=string,valueType=string --config-template-additional=description=string,enumOptions=[{description=string,displayName=string,id=string}],id=string,multiSelectOptions=[{description=string,displayName=string,id=string}],required=boolean,validationRegex=string,valueType=string
JSON Example:--config-template-additional='[{"description": "string", "enumOptions": [{"description": "string", "displayName": "string", "id": "string"}], "id": "string", "multiSelectOptions": [{"description": "string", "displayName": "string", "id": "string"}], "required": boolean, "validationRegex": "string", "valueType": "string"}]'
File Example:--config-template-additional=path_to_file.(yaml|json)
- The attribute values associated with resource.
-
Arguments for the Value.
At most one of these can be specified:
- The attribute values of data type enum.
--enum-values=[description=DESCRIPTION],[displayName=DISPLAYNAME],[id=ID],[immutable=IMMUTABLE]-
Required, The attribute values in case attribute data type is enum.
description- The detailed description of the allowed value.
displayName- The display name of the allowed value.
id-
The ID of the allowed value.
- If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource.
- If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates.
This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/.
immutable- When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
Shorthand Example:--enum-values=description=string,displayName=string,id=string,immutable=boolean --enum-values=description=string,displayName=string,id=string,immutable=boolean
JSON Example:--enum-values='[{"description": "string", "displayName": "string", "id": "string", "immutable": boolean}]'
File Example:--enum-values=path_to_file.(yaml|json)
- The attribute values of data type string or JSON.
--json-values=[JSON_VALUES,…]- The attribute values in case attribute data type is string or JSON.
- The attribute values of data type string or JSON.
--string-values=[STRING_VALUES,…]- The attribute values in case attribute data type is string or JSON.
- The attribute values of data type string or JSON.
--uri-values=[URI_VALUES,…]- The attribute values in case attribute data type is string or JSON.
- GCLOUD WIDE FLAGS
-
These flags are available to all commands:
--access-token-file,--account,--billing-project,--configuration,--flags-file,--flatten,--format,--help,--impersonate-service-account,--log-http,--project,--quiet,--trace-token,--user-output-enabled,--verbosity.Run
$ gcloud helpfor details. - API REFERENCE
-
This command uses the
apihub/v1API. The full documentation for this API can be found at: https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub - NOTES
-
This variant is also available:
gcloud alpha apihub plugins create
gcloud apihub plugins create
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-24 UTC.