Package google.cloud.apihub.v1

Index

ApiHub

This service provides all methods related to the API hub.

CreateApi

rpc CreateApi(CreateApiRequest) returns (Api)

Create an API resource in the API hub. Once an API resource is created, versions can be added to it.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apis.create

For more information, see the IAM documentation.

CreateApiOperation

rpc CreateApiOperation(CreateApiOperationRequest) returns (ApiOperation)

Create an apiOperation in an API version. An apiOperation can be created only if the version has no apiOperations which were created by parsing a spec.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apiOperations.create

For more information, see the IAM documentation.

CreateAttribute

rpc CreateAttribute(CreateAttributeRequest) returns (Attribute)

Create a user defined attribute.

Certain pre defined attributes are already created by the API hub. These attributes will have type as SYSTEM_DEFINED and can be listed via ListAttributes method. Allowed values for the same can be updated via UpdateAttribute method.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.attributes.create

For more information, see the IAM documentation.

CreateDeployment

rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment)

Create a deployment resource in the API hub. Once a deployment resource is created, it can be associated with API versions.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.deployments.create

For more information, see the IAM documentation.

CreateExternalApi

rpc CreateExternalApi(CreateExternalApiRequest) returns (ExternalApi)

Create an External API resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.externalApis.create

For more information, see the IAM documentation.

CreateSpec

rpc CreateSpec(CreateSpecRequest) returns (Spec)

Add a spec to an API version in the API hub. Multiple specs can be added to an API version. Note, while adding a spec, at least one of contents or source_uri must be provided. If contents is provided, then spec_type must also be provided.

On adding a spec with contents to the version, the operations present in it will be added to the version.Note that the file contents in the spec should be of the same type as defined in the projects/{project}/locations/{location}/attributes/system-spec-type attribute associated with spec resource. Note that specs of various types can be uploaded, however parsing of details is supported for OpenAPI spec currently.

In order to access the information parsed from the spec, use the GetSpec method. In order to access the raw contents for a particular spec, use the GetSpecContents method. In order to access the operations parsed from the spec, use the ListAPIOperations method.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.specs.create

For more information, see the IAM documentation.

CreateVersion

rpc CreateVersion(CreateVersionRequest) returns (Version)

Create an API version for an API resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.versions.create

For more information, see the IAM documentation.

DeleteApi

rpc DeleteApi(DeleteApiRequest) returns (Empty)

Delete an API resource in the API hub. API can only be deleted if all underlying versions are deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apis.delete

For more information, see the IAM documentation.

DeleteApiOperation

rpc DeleteApiOperation(DeleteApiOperationRequest) returns (Empty)

Delete an operation in an API version and we can delete only the operations created via create API. If the operation was created by parsing the spec, then it can be deleted by editing or deleting the spec.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apiOperations.delete

For more information, see the IAM documentation.

DeleteAttribute

rpc DeleteAttribute(DeleteAttributeRequest) returns (Empty)

Delete an attribute.

Note: System defined attributes cannot be deleted. All associations of the attribute being deleted with any API hub resource will also get deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.attributes.delete

For more information, see the IAM documentation.

DeleteDeployment

rpc DeleteDeployment(DeleteDeploymentRequest) returns (Empty)

Delete a deployment resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.deployments.delete

For more information, see the IAM documentation.

DeleteExternalApi

rpc DeleteExternalApi(DeleteExternalApiRequest) returns (Empty)

Delete an External API resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.externalApis.delete

For more information, see the IAM documentation.

DeleteSpec

rpc DeleteSpec(DeleteSpecRequest) returns (Empty)

Delete a spec. Deleting a spec will also delete the associated operations from the version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.specs.delete

For more information, see the IAM documentation.

DeleteVersion

rpc DeleteVersion(DeleteVersionRequest) returns (Empty)

Delete an API version. Version can only be deleted if all underlying specs, operations, definitions and linked deployments are deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.versions.delete

For more information, see the IAM documentation.

GetApi

rpc GetApi(GetApiRequest) returns (Api)

Get API resource details including the API versions contained in it.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apis.get

For more information, see the IAM documentation.

GetApiOperation

rpc GetApiOperation(GetApiOperationRequest) returns (ApiOperation)

Get details about a particular operation in API version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apiOperations.get

For more information, see the IAM documentation.

GetAttribute

rpc GetAttribute(GetAttributeRequest) returns (Attribute)

Get details about the attribute.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.attributes.get

For more information, see the IAM documentation.

GetDefinition

rpc GetDefinition(GetDefinitionRequest) returns (Definition)

Get details about a definition in an API version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.definitions.get

For more information, see the IAM documentation.

GetDeployment

rpc GetDeployment(GetDeploymentRequest) returns (Deployment)

Get details about a deployment and the API versions linked to it.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.deployments.get

For more information, see the IAM documentation.

GetExternalApi

rpc GetExternalApi(GetExternalApiRequest) returns (ExternalApi)

Get details about an External API resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.externalApis.get

For more information, see the IAM documentation.

GetSpec

rpc GetSpec(GetSpecRequest) returns (Spec)

Get details about the information parsed from a spec. Note that this method does not return the raw spec contents. Use GetSpecContents method to retrieve the same.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.specs.get

For more information, see the IAM documentation.

GetSpecContents

rpc GetSpecContents(GetSpecContentsRequest) returns (SpecContents)

Get spec contents.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.specs.get

For more information, see the IAM documentation.

GetVersion

rpc GetVersion(GetVersionRequest) returns (Version)

Get details about the API version of an API resource. This will include information about the specs and operations present in the API version as well as the deployments linked to it.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.versions.get

For more information, see the IAM documentation.

ListApiOperations

rpc ListApiOperations(ListApiOperationsRequest) returns (ListApiOperationsResponse)

List operations in an API version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apiOperations.list

For more information, see the IAM documentation.

ListApis

rpc ListApis(ListApisRequest) returns (ListApisResponse)

List API resources in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apis.list

For more information, see the IAM documentation.

ListAttributes

rpc ListAttributes(ListAttributesRequest) returns (ListAttributesResponse)

List all attributes.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.attributes.list

For more information, see the IAM documentation.

ListDeployments

rpc ListDeployments(ListDeploymentsRequest) returns (ListDeploymentsResponse)

List deployment resources in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.deployments.list

For more information, see the IAM documentation.

ListExternalApis

rpc ListExternalApis(ListExternalApisRequest) returns (ListExternalApisResponse)

List External API resources in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.externalApis.list

For more information, see the IAM documentation.

ListSpecs

rpc ListSpecs(ListSpecsRequest) returns (ListSpecsResponse)

List specs corresponding to a particular API resource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.specs.list

For more information, see the IAM documentation.

ListVersions

rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse)

List API versions of an API resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.versions.list

For more information, see the IAM documentation.

SearchResources

rpc SearchResources(SearchResourcesRequest) returns (SearchResourcesResponse)

Search across API-Hub resources.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the location resource:

  • apihub.apis.list

For more information, see the IAM documentation.

UpdateApi

rpc UpdateApi(UpdateApiRequest) returns (Api)

Update an API resource in the API hub. The following fields in the API can be updated:

The update_mask should be used to specify the fields being updated.

Updating the owner field requires complete owner message and updates both owner and email fields.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apis.update

For more information, see the IAM documentation.

UpdateApiOperation

rpc UpdateApiOperation(UpdateApiOperationRequest) returns (ApiOperation)

Update an operation in an API version. The following fields in the ApiOperation resource can be updated:

  • [details.description][ApiOperation.details.description]
  • [details.documentation][ApiOperation.details.documentation]
  • [details.http_operation.path][ApiOperation.details.http_operation.path.path]
  • [details.http_operation.method][ApiOperation.details.http_operation.method]
  • [details.deprecated][ApiOperation.details.deprecated]
  • attributes

The update_mask should be used to specify the fields being updated.

An operation can be updated only if the operation was created via CreateApiOperation API. If the operation was created by parsing the spec, then it can be edited by updating the spec.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apiOperations.update

For more information, see the IAM documentation.

UpdateAttribute

rpc UpdateAttribute(UpdateAttributeRequest) returns (Attribute)

Update the attribute. The following fields in the Attribute resource can be updated:

  • display_name The display name can be updated for user defined attributes only.
  • description The description can be updated for user defined attributes only.
  • allowed_values To update the list of allowed values, clients need to use the fetched list of allowed values and add or remove values to or from the same list. The mutable allowed values can be updated for both user defined and System defined attributes. The immutable allowed values cannot be updated or deleted. The updated list of allowed values cannot be empty. If an allowed value that is already used by some resource's attribute is deleted, then the association between the resource and the attribute value will also be deleted.
  • cardinality The cardinality can be updated for user defined attributes only. Cardinality can only be increased during an update.

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.attributes.update

For more information, see the IAM documentation.

UpdateDeployment

rpc UpdateDeployment(UpdateDeploymentRequest) returns (Deployment)

Update a deployment resource in the API hub. The following fields in the deployment resource can be updated:

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.deployments.update

For more information, see the IAM documentation.

UpdateExternalApi

rpc UpdateExternalApi(UpdateExternalApiRequest) returns (ExternalApi)

Update an External API resource in the API hub. The following fields can be updated:

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.externalApis.update

For more information, see the IAM documentation.

UpdateSpec

rpc UpdateSpec(UpdateSpecRequest) returns (Spec)

Update spec. The following fields in the spec can be updated:

In case of an OAS spec, updating spec contents can lead to: 1. Creation, deletion and update of operations. 2. Creation, deletion and update of definitions. 3. Update of other info parsed out from the new spec.

In case of contents or source_uri being present in update mask, spec_type must also be present. Also, spec_type can not be present in update mask if contents or source_uri is not present.

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.specs.update

For more information, see the IAM documentation.

UpdateVersion

rpc UpdateVersion(UpdateVersionRequest) returns (Version)

Update API version. The following fields in the version can be updated currently:

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.versions.update

For more information, see the IAM documentation.

ApiHubCollect

This service exposes methods used for collecting various types of data from different first party and third party sources and push it to Hub's collect layer.

CollectApiData

rpc CollectApiData(CollectApiDataRequest) returns (Operation)

Collect API data from a source and push it to Hub's collect layer.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

ApiHubCurate

This service is used for managing curations for processing API data consumed from collect layer.

CreateCuration

rpc CreateCuration(CreateCurationRequest) returns (Curation)

Create a curation resource in the API hub. Once a curation resource is created, plugin instances can start using it.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
DeleteCuration

rpc DeleteCuration(DeleteCurationRequest) returns (Empty)

Delete a curation resource in the API hub. A curation can only be deleted if it's not being used by any plugin instance.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
GetCuration

rpc GetCuration(GetCurationRequest) returns (Curation)

Get curation resource details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
ListCurations

rpc ListCurations(ListCurationsRequest) returns (ListCurationsResponse)

List curation resources in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
UpdateCuration

rpc UpdateCuration(UpdateCurationRequest) returns (Curation)

Update a curation resource in the API hub. The following fields in the curation can be updated:

The update_mask should be used to specify the fields being updated.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

ApiHubDependencies

This service provides methods for various operations related to a Dependency in the API hub.

CreateDependency

rpc CreateDependency(CreateDependencyRequest) returns (Dependency)

Create a dependency between two entities in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.dependencies.create

For more information, see the IAM documentation.

DeleteDependency

rpc DeleteDependency(DeleteDependencyRequest) returns (Empty)

Delete the dependency resource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.dependencies.delete

For more information, see the IAM documentation.

GetDependency

rpc GetDependency(GetDependencyRequest) returns (Dependency)

Get details about a dependency resource in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.dependencies.get

For more information, see the IAM documentation.

ListDependencies

rpc ListDependencies(ListDependenciesRequest) returns (ListDependenciesResponse)

List dependencies based on the provided filter and pagination parameters.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.dependencies.list

For more information, see the IAM documentation.

UpdateDependency

rpc UpdateDependency(UpdateDependencyRequest) returns (Dependency)

Update a dependency based on the update_mask provided in the request.

The following fields in the dependency can be updated: * description

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.dependencies.update

For more information, see the IAM documentation.

ApiHubPlugin

This service is used for managing plugins inside the API hub.

CreatePlugin

rpc CreatePlugin(CreatePluginRequest) returns (Plugin)

Create an API hub plugin resource in the API hub. Once a plugin is created, it can be used to create plugin instances.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
CreatePluginInstance

rpc CreatePluginInstance(CreatePluginInstanceRequest) returns (Operation)

Creates a Plugin instance in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
DeletePlugin

rpc DeletePlugin(DeletePluginRequest) returns (Operation)

Delete a Plugin in API hub. Note, only user owned plugins can be deleted via this method.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
DeletePluginInstance

rpc DeletePluginInstance(DeletePluginInstanceRequest) returns (Operation)

Deletes a plugin instance in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
DisablePlugin

rpc DisablePlugin(DisablePluginRequest) returns (Plugin)

Disables a plugin. The state of the plugin after disabling is DISABLED

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.plugins.disable

For more information, see the IAM documentation.

DisablePluginInstanceAction

rpc DisablePluginInstanceAction(DisablePluginInstanceActionRequest) returns (Operation)

Disables a plugin instance in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
EnablePlugin

rpc EnablePlugin(EnablePluginRequest) returns (Plugin)

Enables a plugin. The state of the plugin after enabling is ENABLED

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.plugins.enable

For more information, see the IAM documentation.

EnablePluginInstanceAction

rpc EnablePluginInstanceAction(EnablePluginInstanceActionRequest) returns (Operation)

Enables a plugin instance in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
ExecutePluginInstanceAction

rpc ExecutePluginInstanceAction(ExecutePluginInstanceActionRequest) returns (Operation)

Executes a plugin instance in the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
GetPlugin

rpc GetPlugin(GetPluginRequest) returns (Plugin)

Get an API hub plugin.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.plugins.get

For more information, see the IAM documentation.

GetPluginInstance

rpc GetPluginInstance(GetPluginInstanceRequest) returns (PluginInstance)

Get an API hub plugin instance.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
ListPluginInstances

rpc ListPluginInstances(ListPluginInstancesRequest) returns (ListPluginInstancesResponse)

List all the plugins in a given project and location. - can be used as wildcard value for {plugin_id}

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
ListPlugins

rpc ListPlugins(ListPluginsRequest) returns (ListPluginsResponse)

List all the plugins in a given project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.plugins.list

For more information, see the IAM documentation.

HostProjectRegistrationService

This service is used for managing the host project registrations.

CreateHostProjectRegistration

rpc CreateHostProjectRegistration(CreateHostProjectRegistrationRequest) returns (HostProjectRegistration)

Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.runTimeProjectAttachments.create

For more information, see the IAM documentation.

GetHostProjectRegistration

rpc GetHostProjectRegistration(GetHostProjectRegistrationRequest) returns (HostProjectRegistration)

Get a host project registration.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.hostProjectRegistrations.get

For more information, see the IAM documentation.

ListHostProjectRegistrations

rpc ListHostProjectRegistrations(ListHostProjectRegistrationsRequest) returns (ListHostProjectRegistrationsResponse)

Lists host project registrations.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.runTimeProjectAttachments.list

For more information, see the IAM documentation.

LintingService

This service provides all methods related to the 1p Linter.

GetStyleGuide

rpc GetStyleGuide(GetStyleGuideRequest) returns (StyleGuide)

Get the style guide being used for linting.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.styleGuides.get

For more information, see the IAM documentation.

GetStyleGuideContents

rpc GetStyleGuideContents(GetStyleGuideContentsRequest) returns (StyleGuideContents)

Get the contents of the style guide.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.styleGuides.get

For more information, see the IAM documentation.

LintSpec

rpc LintSpec(LintSpecRequest) returns (Empty)

Lints the requested spec and updates the corresponding API Spec with the lint response. This lint response will be available in all subsequent Get and List Spec calls to Core service.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.specs.lint

For more information, see the IAM documentation.

UpdateStyleGuide

rpc UpdateStyleGuide(UpdateStyleGuideRequest) returns (StyleGuide)

Update the styleGuide to be used for liniting in by API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.styleGuides.update

For more information, see the IAM documentation.

Provisioning

This service is used for managing the data plane provisioning of the API hub.

CreateApiHubInstance

rpc CreateApiHubInstance(CreateApiHubInstanceRequest) returns (Operation)

Provisions instance resources for the API hub.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apiHubInstances.create

For more information, see the IAM documentation.

DeleteApiHubInstance

rpc DeleteApiHubInstance(DeleteApiHubInstanceRequest) returns (Operation)

Deletes the API hub instance.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apiHubInstances.delete

For more information, see the IAM documentation.

GetApiHubInstance

rpc GetApiHubInstance(GetApiHubInstanceRequest) returns (ApiHubInstance)

Gets details of a single API hub instance.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.apiHubInstances.get

For more information, see the IAM documentation.

LookupApiHubInstance

rpc LookupApiHubInstance(LookupApiHubInstanceRequest) returns (LookupApiHubInstanceResponse)

Looks up an Api Hub instance in a given Google Cloud project. There will always be only one Api Hub instance for a Google Cloud project across all locations.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.apiHubInstances.list

For more information, see the IAM documentation.

RuntimeProjectAttachmentService

This service is used for managing the runtime project attachments.

CreateRuntimeProjectAttachment

rpc CreateRuntimeProjectAttachment(CreateRuntimeProjectAttachmentRequest) returns (RuntimeProjectAttachment)

Attaches a runtime project to the host project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the runtimeProject resource:

  • apihub.runTimeProjectAttachments.attach

For more information, see the IAM documentation.

DeleteRuntimeProjectAttachment

rpc DeleteRuntimeProjectAttachment(DeleteRuntimeProjectAttachmentRequest) returns (Empty)

Delete a runtime project attachment in the API hub. This call will detach the runtime project from the host project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.runTimeProjectAttachments.delete

For more information, see the IAM documentation.

GetRuntimeProjectAttachment

rpc GetRuntimeProjectAttachment(GetRuntimeProjectAttachmentRequest) returns (RuntimeProjectAttachment)

Gets a runtime project attachment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.runTimeProjectAttachments.get

For more information, see the IAM documentation.

ListRuntimeProjectAttachments

rpc ListRuntimeProjectAttachments(ListRuntimeProjectAttachmentsRequest) returns (ListRuntimeProjectAttachmentsResponse)

List runtime projects attached to the host project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apihub.runTimeProjectAttachments.list

For more information, see the IAM documentation.

LookupRuntimeProjectAttachment

rpc LookupRuntimeProjectAttachment(LookupRuntimeProjectAttachmentRequest) returns (LookupRuntimeProjectAttachmentResponse)

Look up a runtime project attachment. This API can be called in the context of any project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apihub.runTimeProjectAttachments.list

For more information, see the IAM documentation.

APIMetadata

The API metadata.

Fields
api

Api

Required. The API resource to be pushed to Hub's collect layer. The ID of the API resource will be generated by Hub to ensure uniqueness across all APIs across systems.

versions[]

VersionMetadata

Optional. The list of versions present in an API resource.

original_id

string

Optional. The unique identifier of the API in the system where it was originally created.

original_create_time

Timestamp

Optional. Timestamp indicating when the API was created at the source.

original_update_time

Timestamp

Required. Timestamp indicating when the API was last updated at the source.

ActionExecutionDetail

The details for the action to execute.

Fields
action_id

string

Required. The action id of the plugin to execute.

Api

An API resource in the API hub.

Fields
name

string

Identifier. The name of the API resource in the API hub.

Format: projects/{project}/locations/{location}/apis/{api}

display_name

string

Required. The display name of the API resource.

description

string

Optional. The description of the API resource.

documentation

Documentation

Optional. The documentation for the API resource.

owner

Owner

Optional. Owner details for the API resource.

versions[]

string

Output only. The list of versions present in an API resource. Note: An API resource can be associated with more than 1 version. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}

create_time

Timestamp

Output only. The time at which the API resource was created.

update_time

Timestamp

Output only. The time at which the API resource was last updated.

target_user

AttributeValues

Optional. The target users for the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-target-user attribute. The number of 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.

team

AttributeValues

Optional. The team owning the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-team attribute. The number of 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.

business_unit

AttributeValues

Optional. The business unit owning the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-business-unit attribute. The number of 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.

maturity_level

AttributeValues

Optional. The maturity level of the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-maturity-level attribute. The number of 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.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the API resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

api_style

AttributeValues

Optional. The style of the API. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-api-style attribute. The number of 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.

selected_version

string

Optional. The selected version for an API resource. This can be used when special handling is needed on client side for particular version of the API. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}

api_requirements

AttributeValues

Optional. The api requirement doc associated with the API resource. Carinality is 1 for this attribute.

fingerprint

string

Optional. Fingerprint of the API resource.

source_metadata[]

SourceMetadata

Output only. The list of sources and metadata from the sources of the API resource.

api_functional_requirements

AttributeValues

Optional. The api functional requirements associated with the API resource. Carinality is 1 for this attribute.

api_technical_requirements

AttributeValues

Optional. The api technical requirements associated with the API resource. Carinality is 1 for this attribute.

ApiData

The API data to be collected.

Fields
Union field Data. The data to be collected. Data can be only one of the following:
api_metadata_list

ApiMetadataList

Optional. The list of API metadata.

ApiHubInstance

An ApiHubInstance represents the instance resources of the API hub. Currently, only one ApiHub instance is allowed for each project.

Fields
name

string

Identifier. Format: projects/{project}/locations/{location}/apiHubInstances/{apiHubInstance}.

create_time

Timestamp

Output only. Creation timestamp.

update_time

Timestamp

Output only. Last update timestamp.

state

State

Output only. The current state of the ApiHub instance.

state_message

string

Output only. Extra information about ApiHub instance state. Currently the message would be populated when state is FAILED.

config

Config

Required. Config of the ApiHub instance.

labels

map<string, string>

Optional. Instance labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources

description

string

Optional. Description of the ApiHub instance.

Config

Available configurations to provision an ApiHub Instance.

Fields
cmek_key_name

string

Optional. The Customer Managed Encryption Key (CMEK) used for data encryption. The CMEK name should follow the format of projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+), where the location must match the instance location. If the CMEK is not provided, a GMEK will be created for the instance.

vertex_location

string

Optional. The name of the Vertex AI location where the data store is stored.

encryption_type

EncryptionType

Optional. Encryption type for the region. If the encryption type is CMEK, the cmek_key_name must be provided. If no encryption type is provided, GMEK will be used.

EncryptionType

Types of data encryption.

Enums
ENCRYPTION_TYPE_UNSPECIFIED Encryption type unspecified.
GMEK Default encryption using Google managed encryption key.
CMEK Encryption using customer managed encryption key.

State

State of the ApiHub Instance.

Enums
STATE_UNSPECIFIED The default value. This value is used if the state is omitted.
INACTIVE The ApiHub instance has not been initialized or has been deleted.
CREATING The ApiHub instance is being created.
ACTIVE The ApiHub instance has been created and is ready for use.
UPDATING The ApiHub instance is being updated.
DELETING The ApiHub instance is being deleted.
FAILED The ApiHub instance encountered an error during a state change.

ApiHubResource

ApiHubResource is one of the resources such as Api, Operation, Deployment, Definition, Spec and Version resources stored in API-Hub.

Fields

Union field resource.

resource can be only one of the following:

api

Api

This represents Api resource in search results. Only name, display_name, description and owner fields are populated in search results.

operation

ApiOperation

This represents ApiOperation resource in search results. Only name, description, spec and details fields are populated in search results.

deployment

Deployment

This represents Deployment resource in search results. Only name, display_name, description, deployment_type and api_versions fields are populated in search results.

spec

Spec

This represents Spec resource in search results. Only name, display_name, description, spec_type and documentation fields are populated in search results.

definition

Definition

This represents Definition resource in search results. Only name field is populated in search results.

version

Version

This represents Version resource in search results. Only name, display_name, description, lifecycle, compliance and accreditation fields are populated in search results.

ApiMetadataList

The message to hold repeated API metadata.

Fields
api_metadata[]

APIMetadata

Required. The list of API metadata.

ApiOperation

Represents an operation contained in an API version in the API hub. An operation is added/updated/deleted in an API version when a new spec is added or an existing spec is updated/deleted in a version. Currently, an operation will be created only corresponding to OpenAPI spec as parsing is supported for OpenAPI spec. Alternatively operations can be managed via create,update and delete APIs, creation of apiOperation can be possible only for version with no parsed operations and update/delete can be possible only for operations created via create API.

Fields
name

string

Identifier. The name of the operation.

Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

spec

string

Output only. The name of the spec will be of the format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec} Note:The name of the spec will be empty if the operation is created via CreateApiOperation API.

details

OperationDetails

Optional. Operation details. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.

create_time

Timestamp

Output only. The time at which the operation was created.

update_time

Timestamp

Output only. The time at which the operation was last updated.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the API operation resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

source_metadata[]

SourceMetadata

Output only. The list of sources and metadata from the sources of the API operation.

ApplicationIntegrationEndpointDetails

The details of the Application Integration endpoint to be triggered for curation.

Fields
uri

string

Required. The endpoint URI should be a valid REST URI for triggering an Application Integration. Format: https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute or https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute

trigger_id

string

Required. The API trigger ID of the Application Integration workflow.

Attribute

An attribute in the API hub. An attribute is a name value pair which can be attached to different resources in the API hub based on the scope of the attribute. Attributes can either be pre-defined by the API hub or created by users.

Fields
name

string

Identifier. The name of the attribute in the API hub.

Format: projects/{project}/locations/{location}/attributes/{attribute}

display_name

string

Required. The display name of the attribute.

description

string

Optional. The description of the attribute.

definition_type

DefinitionType

Output only. The definition type of the attribute.

scope

Scope

Required. The scope of the attribute. It represents the resource in the API hub to which the attribute can be linked.

data_type

DataType

Required. The type of the data of the attribute.

allowed_values[]

AllowedValue

Optional. The list of allowed values when the attribute value is of type enum. This is required when the data_type of the attribute is ENUM. The maximum number of allowed values of an attribute will be 1000.

cardinality

int32

Optional. The maximum number of values that the attribute can have when associated with an API hub resource. Cardinality 1 would represent a single-valued attribute. It must not be less than 1 or greater than 20. If not specified, the cardinality would be set to 1 by default and represent a single-valued attribute.

mandatory

bool

Output only. When mandatory is true, the attribute is mandatory for the resource specified in the scope. Only System defined attributes can be mandatory.

create_time

Timestamp

Output only. The time at which the attribute was created.

update_time

Timestamp

Output only. The time at which the attribute was last updated.

AllowedValue

The value that can be assigned to the attribute when the data type is enum.

Fields
id

string

Required. 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]-/.

display_name

string

Required. The display name of the allowed value.

description

string

Optional. The detailed description of the allowed value.

immutable

bool

Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.

DataType

Enumeration of attribute's data type.

Enums
DATA_TYPE_UNSPECIFIED Attribute data type unspecified.
ENUM Attribute's value is of type enum.
JSON Attribute's value is of type json.
STRING Attribute's value is of type string.
URI Attribute's value is of type uri.

DefinitionType

Enumeration of attribute definition types.

Enums
DEFINITION_TYPE_UNSPECIFIED Attribute definition type unspecified.
SYSTEM_DEFINED The attribute is predefined by the API hub. Note that only the list of allowed values can be updated in this case via UpdateAttribute method.
USER_DEFINED The attribute is defined by the user.

Scope

Enumeration for the scope of the attribute representing the resource in the API hub to which the attribute can be linked.

Enums
SCOPE_UNSPECIFIED Scope Unspecified.
API Attribute can be linked to an API.
VERSION Attribute can be linked to an API version.
SPEC Attribute can be linked to a Spec.
API_OPERATION Attribute can be linked to an API Operation.
DEPLOYMENT Attribute can be linked to a Deployment.
DEPENDENCY Attribute can be linked to a Dependency.
DEFINITION Attribute can be linked to a definition.
EXTERNAL_API Attribute can be linked to a ExternalAPI.
PLUGIN Attribute can be linked to a Plugin.

AttributeValues

The attribute values associated with resource.

Fields
attribute

string

Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}

Union field Value. The attribute values associated with the resource. Value can be only one of the following:
enum_values

EnumAttributeValues

The attribute values associated with a resource in case attribute data type is enum.

string_values

StringAttributeValues

The attribute values associated with a resource in case attribute data type is string.

json_values

StringAttributeValues

The attribute values associated with a resource in case attribute data type is JSON.

uri_values

StringAttributeValues

The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.

EnumAttributeValues

The attribute values of data type enum.

Fields
values[]

AllowedValue

Required. The attribute values in case attribute data type is enum.

StringAttributeValues

The attribute values of data type string or JSON.

Fields
values[]

string

Required. The attribute values in case attribute data type is string or JSON.

AuthConfig

AuthConfig represents the authentication information.

Fields
auth_type

AuthType

Required. The authentication type.

Union field config. Supported auth types. config can be only one of the following:
google_service_account_config

GoogleServiceAccountConfig

Google Service Account.

user_password_config

UserPasswordConfig

User Password.

api_key_config

ApiKeyConfig

Api Key Config.

oauth2_client_credentials_config

Oauth2ClientCredentialsConfig

Oauth2.0 Client Credentials.

ApiKeyConfig

Config for authentication with API key.

Fields
name

string

Required. The parameter name of the API key. E.g. If the API request is "https://example.com/act?api_key=", "api_key" would be the parameter name.

api_key

Secret

Required. The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secrete}/versions/{version}. The secretmanager.versions.access permission should be granted to the service account accessing the secret.

http_element_location

HttpElementLocation

Required. The location of the API key. The default value is QUERY.

HttpElementLocation

Enum of location an HTTP element can be.

Enums
HTTP_ELEMENT_LOCATION_UNSPECIFIED HTTP element location not specified.
QUERY Element is in the HTTP request query.
HEADER Element is in the HTTP request header.
PATH Element is in the HTTP request path.
BODY Element is in the HTTP request body.
COOKIE Element is in the HTTP request cookie.

Oauth2ClientCredentialsConfig

Parameters to support Oauth 2.0 client credentials grant authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.

Fields
client_id

string

Required. The client identifier.

client_secret

Secret

Required. Secret version reference containing the client secret. The secretmanager.versions.access permission should be granted to the service account accessing the secret.

UserPasswordConfig

Parameters to support Username and Password Authentication.

Fields
username

string

Required. Username.

password

Secret

Required. Secret version reference containing the password. The secretmanager.versions.access permission should be granted to the service account accessing the secret.

AuthType

AuthType represents the authentication type.

Enums
AUTH_TYPE_UNSPECIFIED Authentication type not specified.
NO_AUTH No authentication.
GOOGLE_SERVICE_ACCOUNT Google service account authentication.
USER_PASSWORD Username and password authentication.
API_KEY API Key authentication.
OAUTH2_CLIENT_CREDENTIALS Oauth 2.0 client credentials grant authentication.

CollectApiDataRequest

The CollectApiData method's request.

Fields
location

string

Required. The regional location of the API hub instance and its resources. Format: projects/{project}/locations/{location}

collection_type

CollectionType

Required. The type of collection. Applies to all entries in api_data.

plugin_instance

string

Required. The plugin instance collecting the API data. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}.

action_id

string

Required. The action ID to be used for collecting the API data. This should map to one of the action IDs specified in action configs in the plugin.

api_data

ApiData

Required. The API data to be collected.

CollectApiDataResponse

This type has no fields.

The CollectApiData method's response.

CollectionType

The type of the collect request.

Enums
COLLECTION_TYPE_UNSPECIFIED The default value. This value is used if the collection type is omitted.
COLLECTION_TYPE_UPSERT The collection type is upsert. This should be used when an API is created or updated at the source.
COLLECTION_TYPE_DELETE The collection type is delete. This should be used when an API is deleted at the source.

ConfigValueOption

ConfigValueOption represents an option for a config variable of type enum or multi select.

Fields
id

string

Required. Id of the option.

display_name

string

Required. Display name of the option.

description

string

Optional. Description of the option.

ConfigVariable

ConfigVariable represents a additional configuration variable present in a PluginInstance Config or AuthConfig, based on a ConfigVariableTemplate.

Fields
key

string

Output only. Key will be the id to uniquely identify the config variable.

Union field value. The values associated with the config variable. value can be only one of the following:
string_value

string

Optional. The config variable value in case of config variable of type string.

int_value

int64

Optional. The config variable value in case of config variable of type integer.

bool_value

bool

Optional. The config variable value in case of config variable of type boolean.

secret_value

Secret

Optional. The config variable value in case of config variable of type secret.

enum_value

ConfigValueOption

Optional. The config variable value in case of config variable of type enum.

multi_select_values

MultiSelectValues

Optional. The config variable value in case of config variable of type multi select.

multi_string_values

MultiStringValues

Optional. The config variable value in case of config variable of type multi string.

multi_int_values

MultiIntValues

Optional. The config variable value in case of config variable of type multi integer.

MultiIntValues

The config variable value of data type multi int.

Fields
values[]

int32

Optional. The config variable value of data type multi int.

MultiSelectValues

The config variable value of data type multi select.

Fields
values[]

ConfigValueOption

Optional. The config variable value of data type multi select.

MultiStringValues

The config variable value of data type multi string.

Fields
values[]

string

Optional. The config variable value of data type multi string.

ConfigVariableTemplate

ConfigVariableTemplate represents a configuration variable template present in a Plugin Config.

Fields
id

string

Required. ID of the config variable. Must be unique within the configuration.

value_type

ValueType

Required. Type of the parameter: string, int, bool etc.

description

string

Optional. Description.

validation_regex

string

Optional. Regular expression in RE2 syntax used for validating the value of a ConfigVariable.

required

bool

Optional. Flag represents that this ConfigVariable must be provided for a PluginInstance.

enum_options[]

ConfigValueOption

Optional. Enum options. To be populated if ValueType is ENUM.

multi_select_options[]

ConfigValueOption

Optional. Multi select options. To be populated if ValueType is MULTI_SELECT.

ValueType

ValueType indicates the data type of the value.

Enums
VALUE_TYPE_UNSPECIFIED Value type is not specified.
STRING Value type is string.
INT Value type is integer.
BOOL Value type is boolean.
SECRET Value type is secret.
ENUM Value type is enum.
MULTI_SELECT Value type is multi select.
MULTI_STRING Value type is multi string.
MULTI_INT Value type is multi int.

CreateApiHubInstanceRequest

The CreateApiHubInstance method's request.

Fields
parent

string

Required. The parent resource for the Api Hub instance resource. Format: projects/{project}/locations/{location}

api_hub_instance_id

string

Optional. Identifier to assign to the Api Hub instance. Must be unique within scope of the parent resource. If the field is not provided, system generated id will be used.

This value should be 4-40 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

api_hub_instance

ApiHubInstance

Required. The ApiHub instance.

CreateApiOperationRequest

The CreateApiOperation method's request.

Fields
parent

string

Required. The parent resource for the operation resource. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

api_operation_id

string

Optional. The ID to use for the operation resource, which will become the final component of the operation's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another operation resource in the API hub.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, overall resource name which will be of format projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}, its length is limited to 700 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

api_operation

ApiOperation

Required. The operation resource to create.

CreateApiRequest

The CreateApi method's request.

Fields
parent

string

Required. The parent resource for the API resource. Format: projects/{project}/locations/{location}

api_id

string

Optional. The ID to use for the API resource, which will become the final component of the API's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another API resource in the API hub.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

api

Api

Required. The API resource to create.

CreateAttributeRequest

The CreateAttribute method's request.

Fields
parent

string

Required. The parent resource for Attribute. Format: projects/{project}/locations/{location}

attribute_id

string

Optional. The ID to use for the attribute, which will become the final component of the attribute's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another attribute resource in the API hub.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

attribute

Attribute

Required. The attribute to create.

CreateCurationRequest

The [CreateCuration][ApiHub.CreateCuration] method's request.

Fields
parent

string

Required. The parent resource for the curation resource. Format: projects/{project}/locations/{location}

curation_id

string

Optional. The ID to use for the curation resource, which will become the final component of the curations's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified ID is already used by another curation resource in the API hub.
  • If not provided, a system generated ID will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

curation

Curation

Required. The curation resource to create.

CreateDependencyRequest

The CreateDependency method's request.

Fields
parent

string

Required. The parent resource for the dependency resource. Format: projects/{project}/locations/{location}

dependency_id

string

Optional. The ID to use for the dependency resource, which will become the final component of the dependency's resource name. This field is optional. * If provided, the same will be used. The service will throw an error if duplicate id is provided by the client. * If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are [a-z][A-Z][0-9]-_.

dependency

Dependency

Required. The dependency resource to create.

CreateDeploymentRequest

The CreateDeployment method's request.

Fields
parent

string

Required. The parent resource for the deployment resource. Format: projects/{project}/locations/{location}

deployment_id

string

Optional. The ID to use for the deployment resource, which will become the final component of the deployment's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another deployment resource in the API hub.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

deployment

Deployment

Required. The deployment resource to create.

CreateExternalApiRequest

The CreateExternalApi method's request.

Fields
parent

string

Required. The parent resource for the External API resource. Format: projects/{project}/locations/{location}

external_api_id

string

Optional. The ID to use for the External API resource, which will become the final component of the External API's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another External API resource in the API hub.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

external_api

ExternalApi

Required. The External API resource to create.

CreateHostProjectRegistrationRequest

The CreateHostProjectRegistration method's request.

Fields
parent

string

Required. The parent resource for the host project. Format: projects/{project}/locations/{location}

host_project_registration_id

string

Required. The ID to use for the Host Project Registration, which will become the final component of the host project registration's resource name. The ID must be the same as the Google cloud project specified in the host_project_registration.gcp_project field.

host_project_registration

HostProjectRegistration

Required. The host project registration to register.

CreatePluginInstanceRequest

The CreatePluginInstance method's request.

Fields
parent

string

Required. The parent of the plugin instance resource. Format: projects/{project}/locations/{location}/plugins/{plugin}

plugin_instance_id

string

Optional. The ID to use for the plugin instance, which will become the final component of the plugin instance's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another plugin instance in the plugin resource.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, and valid characters are /[a-z][A-Z][0-9]-_/.

plugin_instance

PluginInstance

Required. The plugin instance to create.

CreatePluginRequest

The CreatePlugin method's request.

Fields
parent

string

Required. The parent resource where this plugin will be created. Format: projects/{project}/locations/{location}.

plugin_id

string

Optional. The ID to use for the Plugin resource, which will become the final component of the Plugin's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another Plugin resource in the API hub instance.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, overall resource name which will be of format projects/{project}/locations/{location}/plugins/{plugin}, its length is limited to 1000 characters and valid characters are /[a-z][A-Z][0-9]-_/.

plugin

Plugin

Required. The plugin to create.

CreateRuntimeProjectAttachmentRequest

The CreateRuntimeProjectAttachment method's request.

Fields
parent

string

Required. The parent resource for the Runtime Project Attachment. Format: projects/{project}/locations/{location}

runtime_project_attachment_id

string

Required. The ID to use for the Runtime Project Attachment, which will become the final component of the Runtime Project Attachment's name. The ID must be the same as the project ID of the Google cloud project specified in the runtime_project_attachment.runtime_project field.

runtime_project_attachment

RuntimeProjectAttachment

Required. The Runtime Project Attachment to create.

CreateSpecRequest

The CreateSpec method's request.

Fields
parent

string

Required. The parent resource for Spec. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

spec_id

string

Optional. The ID to use for the spec, which will become the final component of the spec's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another spec in the API resource.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, overall resource name which will be of format projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}, its length is limited to 1000 characters and valid characters are /[a-z][A-Z][0-9]-_/.

spec

Spec

Required. The spec to create.

CreateVersionRequest

The CreateVersion method's request.

Fields
parent

string

Required. The parent resource for API version. Format: projects/{project}/locations/{location}/apis/{api}

version_id

string

Optional. The ID to use for the API version, which will become the final component of the version's resource name. This field is optional.

  • If provided, the same will be used. The service will throw an error if the specified id is already used by another version in the API resource.
  • If not provided, a system generated id will be used.

This value should be 4-500 characters, overall resource name which will be of format projects/{project}/locations/{location}/apis/{api}/versions/{version}, its length is limited to 700 characters and valid characters are /[a-z][A-Z][0-9]-_/.

version

Version

Required. The version to create.

Curation

A curation resource in the API hub.

Fields
name

string

Identifier. The name of the curation.

Format: projects/{project}/locations/{location}/curations/{curation}

display_name

string

Required. The display name of the curation.

description

string

Optional. The description of the curation.

endpoint

Endpoint

Required. The endpoint to be triggered for curation.

plugin_instance_actions[]

PluginInstanceActionID

Output only. The plugin instances and associated actions that are using the curation. Note: A particular curation could be used by multiple plugin instances or multiple actions in a plugin instance.

last_execution_state

LastExecutionState

Output only. The last execution state of the curation.

last_execution_error_code

ErrorCode

Output only. The error code of the last execution of the curation. The error code is populated only when the last execution state is failed.

last_execution_error_message

string

Output only. Error message describing the failure, if any, during the last execution of the curation.

create_time

Timestamp

Output only. The time at which the curation was created.

update_time

Timestamp

Output only. The time at which the curation was last updated.

ErrorCode

The error codes for failed executions.

Enums
ERROR_CODE_UNSPECIFIED Default unspecified error code.
INTERNAL_ERROR The execution failed due to an internal error.
UNAUTHORIZED The curation is not authorized to trigger the endpoint uri.

LastExecutionState

The state of the last execution of the curation.

Enums
LAST_EXECUTION_STATE_UNSPECIFIED Default unspecified state.
SUCCEEDED The last curation execution was successful.
FAILED The last curation execution failed.

PluginInstanceActionID

The plugin instance and associated action that is using the curation.

Fields
plugin_instance

string

Output only. Plugin instance that is using the curation. Format is projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

action_id

string

Output only. The action ID that is using the curation. This should map to one of the action IDs specified in action configs in the plugin.

CurationConfig

The curation information for this plugin instance.

Fields
curation_type

CurationType

Required. The curation type for this plugin instance.

Union field curation_config. The curation information for this plugin instance. curation_config can be only one of the following:
custom_curation

CustomCuration

Optional. Custom curation information for this plugin instance.

CustomCuration

Custom curation information for this plugin instance.

Fields
curation

string

Required. The unique name of the curation resource. This will be the name of the curation resource in the format: projects/{project}/locations/{location}/curations/{curation}

CurationType

Enum for the curation type.

Enums
CURATION_TYPE_UNSPECIFIED Default unspecified curation type.
DEFAULT_CURATION_FOR_API_METADATA Default curation for API metadata will be used.
CUSTOM_CURATION_FOR_API_METADATA Custom curation for API metadata will be used.

Definition

Represents a definition for example schema, request, response definitions contained in an API version. A definition is added/updated/deleted in an API version when a new spec is added or an existing spec is updated/deleted in a version. Currently, definition will be created only corresponding to OpenAPI spec as parsing is supported for OpenAPI spec. Also, within OpenAPI spec, only schema object is supported.

Fields
name

string

Identifier. The name of the definition.

Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}

spec

string

Output only. The name of the spec from where the definition was parsed. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

type

Type

Output only. The type of the definition.

create_time

Timestamp

Output only. The time at which the definition was created.

update_time

Timestamp

Output only. The time at which the definition was last updated.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the definition resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

Union field value.

value can be only one of the following:

schema

Schema

Output only. The value of a schema definition.

Type

Enumeration of definition types.

Enums
TYPE_UNSPECIFIED Definition type unspecified.
SCHEMA Definition type schema.

DeleteApiHubInstanceRequest

The DeleteApiHubInstance method's request.

Fields
name

string

Required. The name of the Api Hub instance to delete. Format: projects/{project}/locations/{location}/apiHubInstances/{apiHubInstance}.

DeleteApiOperationRequest

The DeleteApiOperation method's request.

Fields
name

string

Required. The name of the operation resource to delete. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

DeleteApiRequest

The DeleteApi method's request.

Fields
name

string

Required. The name of the API resource to delete. Format: projects/{project}/locations/{location}/apis/{api}

force

bool

Optional. If set to true, any versions from this API will also be deleted. Otherwise, the request will only work if the API has no versions.

DeleteAttributeRequest

The DeleteAttribute method's request.

Fields
name

string

Required. The name of the attribute to delete. Format: projects/{project}/locations/{location}/attributes/{attribute}

DeleteCurationRequest

The [DeleteCuration][ApiHub.DeleteCuration] method's request.

Fields
name

string

Required. The name of the curation resource to delete. Format: projects/{project}/locations/{location}/curations/{curation}

DeleteDependencyRequest

The DeleteDependency method's request.

Fields
name

string

Required. The name of the dependency resource to delete. Format: projects/{project}/locations/{location}/dependencies/{dependency}

DeleteDeploymentRequest

The DeleteDeployment method's request.

Fields
name

string

Required. The name of the deployment resource to delete. Format: projects/{project}/locations/{location}/deployments/{deployment}

DeleteExternalApiRequest

The DeleteExternalApi method's request.

Fields
name

string

Required. The name of the External API resource to delete. Format: projects/{project}/locations/{location}/externalApis/{externalApi}

DeletePluginInstanceRequest

The DeletePluginInstance method's request.

Fields
name

string

Required. The name of the plugin instance to delete. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}.

DeletePluginRequest

The [DeletePlugin][ApiHub.DeletePlugin] method's request.

Fields
name

string

Required. The name of the Plugin resource to delete. Format: projects/{project}/locations/{location}/plugins/{plugin}

DeleteRuntimeProjectAttachmentRequest

The DeleteRuntimeProjectAttachment method's request.

Fields
name

string

Required. The name of the Runtime Project Attachment to delete. Format: projects/{project}/locations/{location}/runtimeProjectAttachments/{runtime_project_attachment}

DeleteSpecRequest

The DeleteSpec method's request.

Fields
name

string

Required. The name of the spec to delete. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

DeleteVersionRequest

The DeleteVersion method's request.

Fields
name

string

Required. The name of the version to delete. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

force

bool

Optional. If set to true, any specs from this version will also be deleted. Otherwise, the request will only work if the version has no specs.

Dependency

A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.

Fields
name

string

Identifier. The name of the dependency in the API hub.

Format: projects/{project}/locations/{location}/dependencies/{dependency}

consumer

DependencyEntityReference

Required. Immutable. The entity acting as the consumer in the dependency.

supplier

DependencyEntityReference

Required. Immutable. The entity acting as the supplier in the dependency.

state

State

Output only. State of the dependency.

description

string

Optional. Human readable description corresponding of the dependency.

discovery_mode

DiscoveryMode

Output only. Discovery mode of the dependency.

error_detail

DependencyErrorDetail

Output only. Error details of a dependency if the system has detected it internally.

create_time

Timestamp

Output only. The time at which the dependency was created.

update_time

Timestamp

Output only. The time at which the dependency was last updated.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

DiscoveryMode

Possible modes of discovering the dependency.

Enums
DISCOVERY_MODE_UNSPECIFIED Default value. This value is unused.
MANUAL Manual mode of discovery when the dependency is defined by the user.

State

Possible states for a dependency.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
PROPOSED Dependency will be in a proposed state when it is newly identified by the API hub on its own.
VALIDATED Dependency will be in a validated state when it is validated by the admin or manually created in the API hub.

DependencyEntityReference

Reference to an entity participating in a dependency.

Fields
display_name

string

Output only. Display name of the entity.

Union field identifier. Required. Unique identifier for the participating entity. identifier can be only one of the following:
operation_resource_name

string

The resource name of an operation in the API hub.

Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

external_api_resource_name

string

The resource name of an external API in the API hub.

Format: projects/{project}/locations/{location}/externalApis/{external_api}

DependencyErrorDetail

Details describing error condition of a dependency.

Fields
error

Error

Optional. Error in the dependency.

error_time

Timestamp

Optional. Timestamp at which the error was found.

Error

Possible values representing an error in the dependency.

Enums
ERROR_UNSPECIFIED Default value used for no error in the dependency.
SUPPLIER_NOT_FOUND Supplier entity has been deleted.
SUPPLIER_RECREATED Supplier entity has been recreated.

Deployment

Details of the deployment where APIs are hosted. A deployment could represent an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud services as well. A deployment entity is a root level entity in the API hub and exists independent of any API.

Fields
name

string

Identifier. The name of the deployment.

Format: projects/{project}/locations/{location}/deployments/{deployment}

display_name

string

Required. The display name of the deployment.

description

string

Optional. The description of the deployment.

documentation

Documentation

Optional. The documentation of the deployment.

deployment_type

AttributeValues

Required. The type of deployment. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-deployment-type attribute. The number of 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.

resource_uri

string

Required. A URI to the runtime resource. This URI can be used to manage the resource. For example, if the runtime resource is of type APIGEE_PROXY, then this field will contain the URI to the management UI of the proxy.

endpoints[]

string

Required. The endpoints at which this deployment resource is listening for API requests. This could be a list of complete URIs, hostnames or an IP addresses.

api_versions[]

string

Output only. The API versions linked to this deployment. Note: A particular deployment could be linked to multiple different API versions (of same or different APIs).

create_time

Timestamp

Output only. The time at which the deployment was created.

update_time

Timestamp

Output only. The time at which the deployment was last updated.

slo

AttributeValues

Optional. The SLO for this deployment. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-slo attribute. The number of 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.

environment

AttributeValues

Optional. The environment mapping to this deployment. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-environment attribute. The number of 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.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the deployment resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

source_metadata[]

SourceMetadata

Output only. The list of sources and metadata from the sources of the deployment.

DeploymentMetadata

The metadata associated with a deployment.

Fields
deployment

Deployment

Required. The deployment resource to be pushed to Hub's collect layer. The ID of the deployment will be generated by Hub.

original_id

string

Optional. The unique identifier of the deployment in the system where it was originally created.

original_create_time

Timestamp

Optional. Timestamp indicating when the deployment was created at the source.

original_update_time

Timestamp

Required. Timestamp indicating when the deployment was last updated at the source.

DisablePluginInstanceActionRequest

The DisablePluginInstanceAction method's request.

Fields
name

string

Required. The name of the plugin instance to disable. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

action_id

string

Required. The action id to disable.

DisablePluginInstanceActionResponse

This type has no fields.

The DisablePluginInstanceAction method's response.

DisablePluginRequest

The DisablePlugin method's request.

Fields
name

string

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

Documentation

Documentation details.

Fields
external_uri

string

Optional. The uri of the externally hosted documentation.

EnablePluginInstanceActionRequest

The EnablePluginInstanceAction method's request.

Fields
name

string

Required. The name of the plugin instance to enable. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

action_id

string

Required. The action id to enable.

EnablePluginInstanceActionResponse

This type has no fields.

The EnablePluginInstanceAction method's response.

EnablePluginRequest

The EnablePlugin method's request.

Fields
name

string

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

Endpoint

The endpoint to be triggered for curation. The endpoint will be invoked with a request payload containing [ApiMetadata][google.cloud.apihub.v1.ApiHub.ApiMetadata]. Response should contain curated data in the form of [ApiMetadata][google.cloud.apihub.v1.ApiHub.ApiMetadata].

Fields
Union field endpoint_details. The details of the endpoint to be triggered for curation. endpoint_details can be only one of the following:
application_integration_endpoint_details

ApplicationIntegrationEndpointDetails

Required. The details of the Application Integration endpoint to be triggered for curation.

ExecutePluginInstanceActionRequest

The ExecutePluginInstanceAction method's request.

Fields
name

string

Required. The name of the plugin instance to execute. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

action_execution_detail

ActionExecutionDetail

Required. The execution details for the action to execute.

ExecutePluginInstanceActionResponse

This type has no fields.

The ExecutePluginInstanceAction method's response.

ExecutionStatus

The execution status for the plugin instance.

Fields
current_execution_state

CurrentExecutionState

Output only. The current state of the execution.

last_execution

LastExecution

Output only. The last execution of the plugin instance.

CurrentExecutionState

Enum for the current state of the execution.

Enums
CURRENT_EXECUTION_STATE_UNSPECIFIED Default unspecified execution state.
RUNNING The plugin instance is executing.
NOT_RUNNING The plugin instance is not running an execution.

LastExecution

The result of the last execution of the plugin instance.

Fields
result

Result

Output only. The result of the last execution of the plugin instance.

error_message

string

Output only. Error message describing the failure, if any, during the last execution.

start_time

Timestamp

Output only. The last execution start time of the plugin instance.

end_time

Timestamp

Output only. The last execution end time of the plugin instance.

Result

Enum for the result of the last execution of the plugin instance.

Enums
RESULT_UNSPECIFIED Default unspecified execution result.
SUCCEEDED The plugin instance executed successfully.
FAILED The plugin instance execution failed.

ExtendedApi

An extended API contains the API and its set of features which are derived from the associated data it has.

Fields
api

Api

The API which is extended.

spec_count

int32

The number of specs across all versions.

lint_error_count

int32

The number of lint errors across all specs.

ExternalApi

An external API represents an API being provided by external sources. This can be used to model third-party APIs and can be used to define dependencies.

Fields
name

string

Identifier. Format: projects/{project}/locations/{location}/externalApi/{externalApi}.

display_name

string

Required. Display name of the external API. Max length is 63 characters (Unicode Code Points).

description

string

Optional. Description of the external API. Max length is 2000 characters (Unicode Code Points).

endpoints[]

string

Optional. List of endpoints on which this API is accessible.

paths[]

string

Optional. List of paths served by this API.

documentation

Documentation

Optional. Documentation of the external API.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the Version resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

create_time

Timestamp

Output only. Creation timestamp.

update_time

Timestamp

Output only. Last update timestamp.

GetApiHubInstanceRequest

The GetApiHubInstance method's request.

Fields
name

string

Required. The name of the Api Hub instance to retrieve. Format: projects/{project}/locations/{location}/apiHubInstances/{apiHubInstance}.

GetApiOperationRequest

The GetApiOperation method's request.

Fields
name

string

Required. The name of the operation to retrieve. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

GetApiRequest

The GetApi method's request.

Fields
name

string

Required. The name of the API resource to retrieve. Format: projects/{project}/locations/{location}/apis/{api}

GetAttributeRequest

The GetAttribute method's request.

Fields
name

string

Required. The name of the attribute to retrieve. Format: projects/{project}/locations/{location}/attributes/{attribute}

GetCurationRequest

The [GetCuration][ApiHub.GetCuration] method's request.

Fields
name

string

Required. The name of the curation resource to retrieve. Format: projects/{project}/locations/{location}/curations/{curation}

GetDefinitionRequest

The GetDefinition method's request.

Fields
name

string

Required. The name of the definition to retrieve. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}

GetDependencyRequest

The [GetDependency][.ApiHubDependencies.GetDependency] method's request.

Fields
name

string

Required. The name of the dependency resource to retrieve. Format: projects/{project}/locations/{location}/dependencies/{dependency}

GetDeploymentRequest

The GetDeployment method's request.

Fields
name

string

Required. The name of the deployment resource to retrieve. Format: projects/{project}/locations/{location}/deployments/{deployment}

GetExternalApiRequest

The GetExternalApi method's request.

Fields
name

string

Required. The name of the External API resource to retrieve. Format: projects/{project}/locations/{location}/externalApis/{externalApi}

GetHostProjectRegistrationRequest

The GetHostProjectRegistration method's request.

Fields
name

string

Required. Host project registration resource name. projects/{project}/locations/{location}/hostProjectRegistrations/{host_project_registration_id}

GetPluginInstanceRequest

The GetPluginInstance method's request.

Fields
name

string

Required. The name of the plugin instance to retrieve. Format: projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

GetPluginRequest

The GetPlugin method's request.

Fields
name

string

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

GetRuntimeProjectAttachmentRequest

The GetRuntimeProjectAttachment method's request.

Fields
name

string

Required. The name of the API resource to retrieve. Format: projects/{project}/locations/{location}/runtimeProjectAttachments/{runtime_project_attachment}

GetSpecContentsRequest

The GetSpecContents method's request.

Fields
name

string

Required. The name of the spec whose contents need to be retrieved. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

GetSpecRequest

The GetSpec method's request.

Fields
name

string

Required. The name of the spec to retrieve. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

GetStyleGuideContentsRequest

The GetStyleGuideContents method's request.

Fields
name

string

Required. The name of the StyleGuide whose contents need to be retrieved. There is exactly one style guide resource per project per location. The expected format is projects/{project}/locations/{location}/plugins/{plugin}/styleGuide.

GetStyleGuideRequest

The GetStyleGuide method's request.

Fields
name

string

Required. The name of the spec to retrieve. Format: projects/{project}/locations/{location}/plugins/{plugin}/styleGuide.

GetVersionRequest

The GetVersion method's request.

Fields
name

string

Required. The name of the API version to retrieve. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

GoogleServiceAccountConfig

Config for Google service account authentication.

Fields
service_account

string

Required. The service account to be used for authenticating request.

The iam.serviceAccounts.getAccessToken permission should be granted on this service account to the impersonator service account.

HostProjectRegistration

Host project registration refers to the registration of a Google cloud project with Api Hub as a host project. This is the project where Api Hub is provisioned. It acts as the consumer project for the Api Hub instance provisioned. Multiple runtime projects can be attached to the host project and these attachments define the scope of Api Hub.

Fields
name

string

Identifier. The name of the host project registration. Format: "projects/{project}/locations/{location}/hostProjectRegistrations/{host_project_registration}".

gcp_project

string

Required. Immutable. Google cloud project name in the format: "projects/abc" or "projects/123". As input, project name with either project id or number are accepted. As output, this field will contain project number.

create_time

Timestamp

Output only. The time at which the host project registration was created.

HttpOperation

The HTTP Operation.

Fields
path

Path

Optional. The path details for the Operation. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.

method

Method

Optional. Operation method Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.

Method

Enumeration of Method types.

Enums
METHOD_UNSPECIFIED Method unspecified.
GET Get Operation type.
PUT Put Operation type.
POST Post Operation type.
DELETE Delete Operation type.
OPTIONS Options Operation type.
HEAD Head Operation type.
PATCH Patch Operation type.
TRACE Trace Operation type.

InsightsMetric

The metric and its aggregation function.

Fields
metric

string

Required. Name of the metric.

aggregation

AggregationFunction

Required. Aggregation function associated with the metric.

AggregationFunction

The aggregation function associated with the metric.

Enums
AGGREGATION_FUNCTION_UNSPECIFIED Unspecified Aggregation function.
COUNT_DISTINCT Count distinct function.

Issue

Issue contains the details of a single issue found by the linter.

Fields
code

string

Required. Rule code unique to each rule defined in linter.

path[]

string

Required. An array of strings indicating the location in the analyzed document where the rule was triggered.

message

string

Required. Human-readable message describing the issue found by the linter.

severity

Severity

Required. Severity level of the rule violation.

range

Range

Required. Object describing where in the file the issue was found.

LintResponse

LintResponse contains the response from the linter.

Fields
issues[]

Issue

Optional. Array of issues found in the analyzed document.

summary[]

SummaryEntry

Optional. Summary of all issue types and counts for each severity level.

state

LintState

Required. Lint state represents success or failure for linting.

source

string

Required. Name of the linting application.

linter

Linter

Required. Name of the linter used.

create_time

Timestamp

Required. Timestamp when the linting response was generated.

SummaryEntry

Count of issues with a given severity.

Fields
severity

Severity

Required. Severity of the issue.

count

int32

Required. Count of issues with the given severity.

LintSpecRequest

The LintSpec method's request.

Fields
name

string

Required. The name of the spec to be linted. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

LintState

Lint state represents success or failure for linting.

Enums
LINT_STATE_UNSPECIFIED Lint state unspecified.
LINT_STATE_SUCCESS Linting was completed successfully.
LINT_STATE_ERROR Linting encountered errors.

Linter

Enumeration of linter types.

Enums
LINTER_UNSPECIFIED Linter type unspecified.
SPECTRAL Linter type spectral.
OTHER Linter type other.

ListApiOperationsRequest

The ListApiOperations method's request.

Fields
parent

string

Required. The parent which owns this collection of operations i.e., the API version. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

filter

string

Optional. An expression that filters the list of ApiOperations.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string or a boolean. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the ApiOperation are eligible for filtering: * name - The ApiOperation resource name. Allowed comparison operators: =. * details.http_operation.path.path - The http operation's complete path relative to server endpoint. Allowed comparison operators: =. * details.http_operation.method - The http operation method type. Allowed comparison operators: =. * details.deprecated - Indicates if the ApiOperation is deprecated. Allowed values are True / False indicating the deprycation status of the ApiOperation. Allowed comparison operators: =. * create_time - The time at which the ApiOperation was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <. * attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • details.deprecated = True - The ApiOperation is deprecated.
  • details.http_operation.method = GET AND create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The method of the http operation of the ApiOperation is GET and the spec was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • details.http_operation.method = GET OR details.http_operation.method = POST. - The http operation of the method of ApiOperation is GET or POST.
  • details.deprecated = True AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test - The filter string specifies that the ApiOperation is deprecated and the value of the user defined attribute of type string is test.
page_size

int32

Optional. The maximum number of operations to return. The service may return fewer than this value. If unspecified, at most 50 operations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListApiOperations call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListApiOperations must match the call that provided the page token.

ListApiOperationsResponse

The ListApiOperations method's response.

Fields
api_operations[]

ApiOperation

The operations corresponding to an API version.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListApisRequest

The ListApis method's request.

Fields
parent

string

Required. The parent, which owns this collection of API resources. Format: projects/{project}/locations/{location}

filter

string

Optional. An expression that filters the list of ApiResources.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, >, : or =. Filters are not case sensitive.

The following fields in the ApiResource are eligible for filtering:

  • owner.email - The email of the team which owns the ApiResource. Allowed comparison operators: =.
  • create_time - The time at which the ApiResource was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.
  • display_name - The display name of the ApiResource. Allowed comparison operators: =.
  • target_user.enum_values.values.id - The allowed value id of the target users attribute associated with the ApiResource. Allowed comparison operator is :.
  • target_user.enum_values.values.display_name - The allowed value display name of the target users attribute associated with the ApiResource. Allowed comparison operator is :.
  • team.enum_values.values.id - The allowed value id of the team attribute associated with the ApiResource. Allowed comparison operator is :.
  • team.enum_values.values.display_name - The allowed value display name of the team attribute associated with the ApiResource. Allowed comparison operator is :.
  • business_unit.enum_values.values.id - The allowed value id of the business unit attribute associated with the ApiResource. Allowed comparison operator is :.
  • business_unit.enum_values.values.display_name - The allowed value display name of the business unit attribute associated with the ApiResource. Allowed comparison operator is :.
  • maturity_level.enum_values.values.id - The allowed value id of the maturity level attribute associated with the ApiResource. Allowed comparison operator is :.
  • maturity_level.enum_values.values.display_name - The allowed value display name of the maturity level attribute associated with the ApiResource. Allowed comparison operator is :.
  • api_style.enum_values.values.id - The allowed value id of the api style attribute associated with the ApiResource. Allowed comparison operator is :.
  • api_style.enum_values.values.display_name - The allowed value display name of the api style attribute associated with the ApiResource. Allowed comparison operator is :.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name
  • The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • owner.email = \"[email protected]\" - - The owner team email is [email protected]_.
  • owner.email = \"[email protected]\" AND create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The owner team email is [email protected]_ and the api was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • owner.email = \"[email protected]\" OR team.enum_values.values.id: apihub-team-id - The filter string specifies the APIs where the owner team email is [email protected]_ or the id of the allowed value associated with the team attribute is apihub-team-id.
  • owner.email = \"[email protected]\" OR team.enum_values.values.display_name: ApiHub Team - The filter string specifies the APIs where the owner team email is [email protected]_ or the display name of the allowed value associated with the team attribute is ApiHub Team.
  • owner.email = \"[email protected]\" AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.enum_values.values.id: test_enum_id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/1765\0f90-4a29-5431-b3d0-d5532da3764c.string_values.values: test_string_value - The filter string specifies the APIs where the owner team email is [email protected]_ and the id of the allowed value associated with the user defined attribute of type enum is test_enum_id and the value of the user defined attribute of type string is test..
page_size

int32

Optional. The maximum number of API resources to return. The service may return fewer than this value. If unspecified, at most 50 Apis will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListApis call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListApis must match the call that provided the page token.

ListApisResponse

The ListApis method's response.

Fields
apis[]

Api

The API resources present in the API hub.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListAttributesRequest

The ListAttributes method's request.

Fields
parent

string

Required. The parent resource for Attribute. Format: projects/{project}/locations/{location}

filter

string

Optional. An expression that filters the list of Attributes.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string or a boolean. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the Attribute are eligible for filtering:

  • display_name - The display name of the Attribute. Allowed comparison operators: =.
  • definition_type - The definition type of the attribute. Allowed comparison operators: =.
  • scope - The scope of the attribute. Allowed comparison operators: =.
  • data_type - The type of the data of the attribute. Allowed comparison operators: =.
  • mandatory - Denotes whether the attribute is mandatory or not. Allowed comparison operators: =.
  • create_time - The time at which the Attribute was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • display_name = production - - The display name of the attribute is production.
  • (display_name = production) AND (create_time < \"2021-08-15T14:50:00Z\") AND (create_time > \"2021-08-10T12:00:00Z\") - The display name of the attribute is production and the attribute was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • display_name = production OR scope = api - The attribute where the display name is production or the scope is api.
page_size

int32

Optional. The maximum number of attribute resources to return. The service may return fewer than this value. If unspecified, at most 50 attributes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListAttributes call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListAttributes must match the call that provided the page token.

ListAttributesResponse

The ListAttributes method's response.

Fields
attributes[]

Attribute

The list of all attributes.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListCurationsRequest

The [ListCurations][ApiHub.ListCurations] method's request.

Fields
parent

string

Required. The parent, which owns this collection of curation resources. Format: projects/{project}/locations/{location}

filter

string

Optional. An expression that filters the list of curation resources.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, >, : or =. Filters are case insensitive.

The following fields in the curation resource are eligible for filtering:

  • create_time - The time at which the curation was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.
  • display_name - The display name of the curation. Allowed comparison operators: =.
  • state - The state of the curation. Allowed comparison operators: =.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The curation resource was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
page_size

int32

Optional. The maximum number of curation resources to return. The service may return fewer than this value. If unspecified, at most 50 curations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListCurations call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListCurations must match the call that provided the page token.

ListCurationsResponse

The [ListCurations][ApiHub.ListCurations] method's response.

Fields
curations[]

Curation

The curation resources present in the API hub.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListDependenciesRequest

The ListDependencies method's request.

Fields
parent

string

Required. The parent which owns this collection of dependency resources. Format: projects/{project}/locations/{location}

filter

string

Optional. An expression that filters the list of Dependencies.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. Allowed comparison operator is =. Filters are not case sensitive.

The following fields in the Dependency are eligible for filtering:

  • consumer.operation_resource_name - The operation resource name for the consumer entity involved in a dependency. Allowed comparison operators: =.
  • consumer.external_api_resource_name - The external api resource name for the consumer entity involved in a dependency. Allowed comparison operators: =.
  • supplier.operation_resource_name - The operation resource name for the supplier entity involved in a dependency. Allowed comparison operators: =.
  • supplier.external_api_resource_name - The external api resource name for the supplier entity involved in a dependency. Allowed comparison operators: =.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

For example, consumer.operation_resource_name = \"projects/p1/locations/global/apis/a1/versions/v1/operations/o1\" OR supplier.operation_resource_name = \"projects/p1/locations/global/apis/a1/versions/v1/operations/o1\" - The dependencies with either consumer or supplier operation resource name as projects/p1/locations/global/apis/a1/versions/v1/operations/o1.

page_size

int32

Optional. The maximum number of dependency resources to return. The service may return fewer than this value. If unspecified, at most 50 dependencies will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListDependencies call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListDependencies must match the call that provided the page token.

ListDependenciesResponse

The ListDependencies method's response.

Fields
dependencies[]

Dependency

The dependency resources present in the API hub.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListDeploymentsRequest

The ListDeployments method's request.

Fields
parent

string

Required. The parent, which owns this collection of deployment resources. Format: projects/{project}/locations/{location}

filter

string

Optional. An expression that filters the list of Deployments.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the Deployments are eligible for filtering:

  • display_name - The display name of the Deployment. Allowed comparison operators: =.
  • create_time - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.
  • resource_uri - A URI to the deployment resource. Allowed comparison operators: =.
  • api_versions - The API versions linked to this deployment. Allowed comparison operators: :.
  • deployment_type.enum_values.values.id - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: :.
  • deployment_type.enum_values.values.display_name - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: :.
  • slo.string_values.values -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: :.
  • environment.enum_values.values.id - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: :.
  • environment.enum_values.values.display_name - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: :.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name
  • The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • environment.enum_values.values.id: staging-id - The allowed value id of the environment attribute associated with the Deployment is staging-id.
  • environment.enum_values.values.display_name: \"Staging Deployment\" - The allowed value display name of the environment attribute associated with the Deployment is Staging Deployment.
  • environment.enum_values.values.id: production-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The allowed value id of the environment attribute associated with the Deployment is production-id and Deployment was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • environment.enum_values.values.id: production-id OR slo.string_values.values: \"99.99%\"
  • The allowed value id of the environment attribute Deployment is production-id or string value of the slo attribute is 99.99%.
  • environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is staging-id and the value of the user defined attribute of type string is test.
page_size

int32

Optional. The maximum number of deployment resources to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListDeployments call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListDeployments must match the call that provided the page token.

ListDeploymentsResponse

The ListDeployments method's response.

Fields
deployments[]

Deployment

The deployment resources present in the API hub.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListExternalApisRequest

The ListExternalApis method's request.

Fields
parent

string

Required. The parent, which owns this collection of External API resources. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of External API resources to return. The service may return fewer than this value. If unspecified, at most 50 ExternalApis will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListExternalApis call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListExternalApis must match the call that provided the page token.

ListExternalApisResponse

The ListExternalApis method's response.

Fields
external_apis[]

ExternalApi

The External API resources present in the API hub.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListHostProjectRegistrationsRequest

The ListHostProjectRegistrations method's request.

Fields
parent

string

Required. The parent, which owns this collection of host projects. Format: projects/*/locations/*

page_size

int32

Optional. The maximum number of host project registrations to return. The service may return fewer than this value. If unspecified, at most 50 host project registrations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListHostProjectRegistrations call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListHostProjectRegistrations must match the call that provided the page token.

filter

string

Optional. An expression that filters the list of HostProjectRegistrations.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. All standard operators as documented at https://google.aip.dev/160 are supported.

The following fields in the HostProjectRegistration are eligible for filtering:

  • name - The name of the HostProjectRegistration.
  • create_time - The time at which the HostProjectRegistration was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format.
  • gcp_project - The Google cloud project associated with the HostProjectRegistration.
order_by

string

Optional. Hint for how to order the results.

ListHostProjectRegistrationsResponse

The ListHostProjectRegistrations method's response.

Fields
host_project_registrations[]

HostProjectRegistration

The list of host project registrations.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListPluginInstancesRequest

The ListPluginInstances method's request.

Fields
parent

string

Required. The parent resource where this plugin will be created. Format: projects/{project}/locations/{location}/plugins/{plugin}. To list plugin instances for multiple plugins, use the - character instead of the plugin ID.

filter

string

Optional. An expression that filters the list of plugin instances.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the PluginInstances are eligible for filtering:

  • state - The state of the Plugin Instance. Allowed comparison operators: =.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API. Here are a few examples:

  • state = ENABLED - The plugin instance is in enabled state.
page_size

int32

Optional. The maximum number of hub plugins to return. The service may return fewer than this value. If unspecified, at most 50 hub plugins will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListPluginInstances call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListPluginInstances must match the call that provided the page token.

ListPluginInstancesResponse

The ListPluginInstances method's response.

Fields
plugin_instances[]

PluginInstance

The plugin instances from the specified parent resource.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListPluginsRequest

The ListPlugins method's request.

Fields
parent

string

Required. The parent resource where this plugin will be created. Format: projects/{project}/locations/{location}.

filter

string

Optional. An expression that filters the list of plugins.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the Plugins are eligible for filtering:

  • plugin_category - The category of the Plugin. Allowed comparison operators: =.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API. Here are a few examples:

  • plugin_category = ON_RAMP - The plugin is of category on ramp.
page_size

int32

Optional. The maximum number of hub plugins to return. The service may return fewer than this value. If unspecified, at most 50 hub plugins will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListPlugins call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListPlugins must match the call that provided the page token.

ListPluginsResponse

The ListPlugins method's response.

Fields
plugins[]

Plugin

The plugins from the specified parent resource.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListRuntimeProjectAttachmentsRequest

The ListRuntimeProjectAttachments method's request.

Fields
parent

string

Required. The parent, which owns this collection of runtime project attachments. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of runtime project attachments to return. The service may return fewer than this value. If unspecified, at most 50 runtime project attachments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListRuntimeProjectAttachments call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListRuntimeProjectAttachments must match the call that provided the page token.

filter

string

Optional. An expression that filters the list of RuntimeProjectAttachments.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. All standard operators as documented at https://google.aip.dev/160 are supported.

The following fields in the RuntimeProjectAttachment are eligible for filtering:

  • name - The name of the RuntimeProjectAttachment.
  • create_time - The time at which the RuntimeProjectAttachment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format.
  • runtime_project - The Google cloud project associated with the RuntimeProjectAttachment.
order_by

string

Optional. Hint for how to order the results.

ListRuntimeProjectAttachmentsResponse

The ListRuntimeProjectAttachments method's response.

Fields
runtime_project_attachments[]

RuntimeProjectAttachment

List of runtime project attachments.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListSpecsRequest

The [ListSpecs][ListSpecs] method's request.

Fields
parent

string

Required. The parent, which owns this collection of specs. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

filter

string

Optional. An expression that filters the list of Specs.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: <, >, : or =. Filters are not case sensitive.

The following fields in the Spec are eligible for filtering:

  • display_name - The display name of the Spec. Allowed comparison operators: =.
  • create_time - The time at which the Spec was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.
  • spec_type.enum_values.values.id - The allowed value id of the spec_type attribute associated with the Spec. Allowed comparison operators: :.
  • spec_type.enum_values.values.display_name - The allowed value display name of the spec_type attribute associated with the Spec. Allowed comparison operators: :.
  • lint_response.json_values.values - The json value of the lint_response attribute associated with the Spec. Allowed comparison operators: :.
  • mime_type - The MIME type of the Spec. Allowed comparison operators: =.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name
  • The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • spec_type.enum_values.values.id: rest-id - The filter string specifies that the id of the allowed value associated with the spec_type attribute is rest-id.
  • spec_type.enum_values.values.display_name: \"Rest Display Name\" - The filter string specifies that the display name of the allowed value associated with the spec_type attribute is Rest Display Name.
  • spec_type.enum_values.values.id: grpc-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The id of the allowed value associated with the spec_type attribute is grpc-id and the spec was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • spec_type.enum_values.values.id: rest-id OR spec_type.enum_values.values.id: grpc-id
  • The id of the allowed value associated with the spec_type attribute is rest-id or grpc-id.
  • spec_type.enum_values.values.id: rest-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.enum_values.values.id: test - The filter string specifies that the id of the allowed value associated with the spec_type attribute is rest-id and the id of the allowed value associated with the user defined attribute of type enum is test.
page_size

int32

Optional. The maximum number of specs to return. The service may return fewer than this value. If unspecified, at most 50 specs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListSpecs call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListSpecs must match the call that provided the page token.

ListSpecsResponse

The ListSpecs method's response.

Fields
specs[]

Spec

The specs corresponding to an API Version.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListVersionsRequest

The ListVersions method's request.

Fields
parent

string

Required. The parent which owns this collection of API versions i.e., the API resource Format: projects/{project}/locations/{location}/apis/{api}

filter

string

Optional. An expression that filters the list of Versions.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: <, > or =. Filters are not case sensitive.

The following fields in the Version are eligible for filtering:

  • display_name - The display name of the Version. Allowed comparison operators: =.
  • create_time - The time at which the Version was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: > and <.
  • lifecycle.enum_values.values.id - The allowed value id of the lifecycle attribute associated with the Version. Allowed comparison operators: :.
  • lifecycle.enum_values.values.display_name - The allowed value display name of the lifecycle attribute associated with the Version. Allowed comparison operators: :.
  • compliance.enum_values.values.id - The allowed value id of the compliances attribute associated with the Version. Allowed comparison operators: :.
  • compliance.enum_values.values.display_name - The allowed value display name of the compliances attribute associated with the Version. Allowed comparison operators: :.
  • accreditation.enum_values.values.id - The allowed value id of the accreditations attribute associated with the Version. Allowed comparison operators: :.
  • accreditation.enum_values.values.display_name - The allowed value display name of the accreditations attribute associated with the Version. Allowed comparison operators: :.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name
  • The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name.
  • attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is :. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name.

Expressions are combined with either AND logic operator or OR logical operator but not both of them together i.e. only one of the AND or OR operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then INVALID_ARGUMENT error is returned by the API.

Here are a few examples:

  • lifecycle.enum_values.values.id: preview-id - The filter string specifies that the id of the allowed value associated with the lifecycle attribute of the Version is preview-id.
  • lifecycle.enum_values.values.display_name: \"Preview Display Name\" - The filter string specifies that the display name of the allowed value associated with the lifecycle attribute of the Version is Preview Display Name.
  • lifecycle.enum_values.values.id: preview-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time > \"2021-08-10T12:00:00Z\" - The id of the allowed value associated with the lifecycle attribute of the Version is preview-id and it was created before 2021-08-15 14:50:00 UTC and after 2021-08-10 12:00:00 UTC.
  • compliance.enum_values.values.id: gdpr-id OR compliance.enum_values.values.id: pci-dss-id
  • The id of the allowed value associated with the compliance attribute is gdpr-id or pci-dss-id.
  • lifecycle.enum_values.values.id: preview-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test - The filter string specifies that the id of the allowed value associated with the lifecycle attribute of the Version is preview-id and the value of the user defined attribute of type string is test.
page_size

int32

Optional. The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListVersions call. Provide this to retrieve the subsequent page.

When paginating, all other parameters (except page_size) provided to ListVersions must match the call that provided the page token.

ListVersionsResponse

The ListVersions method's response.

Fields
versions[]

Version

The versions corresponding to an API.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

LookupApiHubInstanceRequest

The LookupApiHubInstance method's request.

Fields
parent

string

Required. There will always be only one Api Hub instance for a Google Cloud project across all locations. The parent resource for the Api Hub instance resource. Format: projects/{project}/locations/{location}

LookupApiHubInstanceResponse

The LookupApiHubInstance method's response.`

Fields
api_hub_instance

ApiHubInstance

API hub instance for a project if it exists, empty otherwise.

LookupRuntimeProjectAttachmentRequest

The LookupRuntimeProjectAttachment method's request.

Fields
name

string

Required. Runtime project ID to look up runtime project attachment for. Lookup happens across all regions. Expected format: projects/{project}/locations/{location}.

LookupRuntimeProjectAttachmentResponse

The ListRuntimeProjectAttachments method's response.

Fields
runtime_project_attachment

RuntimeProjectAttachment

Runtime project attachment for a project if exists, empty otherwise.

OpenApiSpecDetails

OpenApiSpecDetails contains the details parsed from an OpenAPI spec in addition to the fields mentioned in SpecDetails.

Fields
format

Format

Output only. The format of the spec.

version

string

Output only. The version in the spec. This maps to info.version in OpenAPI spec.

owner

Owner

Output only. Owner details for the spec. This maps to info.contact in OpenAPI spec.

Format

Enumeration of spec formats.

Enums
FORMAT_UNSPECIFIED SpecFile type unspecified.
OPEN_API_SPEC_2_0 OpenAPI Spec v2.0.
OPEN_API_SPEC_3_0 OpenAPI Spec v3.0.
OPEN_API_SPEC_3_1 OpenAPI Spec v3.1.

OperationDetails

The operation details parsed from the spec.

Fields
description

string

Optional. Description of the operation behavior. For OpenAPI spec, this will map to operation.description in the spec, in case description is empty, operation.summary will be used.

documentation

Documentation

Optional. Additional external documentation for this operation. For OpenAPI spec, this will map to operation.documentation in the spec.

deprecated

bool

Optional. For OpenAPI spec, this will be set if operation.deprecatedis marked as true in the spec.

Union field operation.

operation can be only one of the following:

http_operation

HttpOperation

The HTTP Operation.

OperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

target

string

Output only. Server-defined resource path for the target of the operation.

verb

string

Output only. Name of the verb executed by the operation.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

Output only. API version used to start the operation.

Owner

Owner details.

Fields
display_name

string

Optional. The name of the owner.

email

string

Required. The email of the owner.

Path

The path details derived from the spec.

Fields
path

string

Optional. Complete path relative to server endpoint. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.

description

string

Optional. A short description for the path applicable to all operations.

Plugin

A plugin resource in the API hub.

Fields
name

string

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

display_name

string

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

type

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.

description

string

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

state

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.

ownership_type

OwnershipType

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

hosting_service

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.

actions_config[]

PluginActionConfig

Optional. The configuration of actions supported by the plugin.

documentation

Documentation

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

plugin_category

PluginCategory

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

config_template

ConfigTemplate

Optional. The configuration template for the plugin.

create_time

Timestamp

Output only. Timestamp indicating when the plugin was created.

update_time

Timestamp

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

ConfigTemplate

ConfigTemplate represents the configuration template for a plugin.

Fields
auth_config_template

AuthConfigTemplate

Optional. The authentication template for the plugin.

additional_config_template[]

ConfigVariableTemplate

Optional. The list of additional configuration variables for the plugin's configuration.

AuthConfigTemplate

AuthConfigTemplate represents the authentication template for a plugin.

Fields
supported_auth_types[]

AuthType

Required. The list of authentication types supported by the plugin.

service_account

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.

HostingService

The information related to the service implemented by the plugin developer, used to invoke the plugin's functionality.

Fields
service_uri

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.

OwnershipType

Ownership type of the plugin.

Enums
OWNERSHIP_TYPE_UNSPECIFIED Default unspecified type.
SYSTEM_OWNED System owned plugins are defined by API hub and are available out of the box in API hub.
USER_OWNED User owned plugins are defined by the user and need to be explicitly added to API hub via CreatePlugin method.

State

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.

Enums
STATE_UNSPECIFIED The default value. This value is used if the state is omitted.
ENABLED The plugin is enabled.
DISABLED The plugin is disabled.

PluginActionConfig

PluginActionConfig represents the configuration of an action supported by a plugin.

Fields
id

string

Required. The id of the action.

display_name

string

Required. The display name of the action.

description

string

Required. The description of the operation performed by the action.

trigger_mode

TriggerMode

Required. The trigger mode supported by the action.

TriggerMode

Execution mode of the action.

Enums
TRIGGER_MODE_UNSPECIFIED Default unspecified mode.
API_HUB_ON_DEMAND_TRIGGER This action can be executed by invoking ExecutePluginInstanceAction API with the given action id. To support this, the plugin hosting service should handle this action id as part of execute call.
API_HUB_SCHEDULE_TRIGGER This action will be executed on schedule by invoking ExecutePluginInstanceAction API with the given action id. To set the schedule, the user can provide the cron expression in the [PluginAction][PluginAction.schedule_cron_expression] field for a given plugin instance. To support this, the plugin hosting service should handle this action id as part of execute call. Note, on demand execution will be supported by default in this trigger mode.
NON_API_HUB_MANAGED The execution of this plugin is not handled by API hub. In this case, the plugin hosting service need not handle this action id as part of the execute call.

PluginCategory

Enum for the plugin category.

Enums
PLUGIN_CATEGORY_UNSPECIFIED Default unspecified plugin type.
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.

PluginInstance

Represents a plugin instance resource in the API hub. A PluginInstance is a specific instance of a hub plugin with its own configuration, state, and execution details.

Fields
name

string

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

display_name

string

Required. The display name for this plugin instance. Max length is 255 characters.

auth_config

AuthConfig

Optional. The authentication information for this plugin instance.

additional_config

map<string, ConfigVariable>

Optional. The additional information for this plugin instance corresponding to the additional config template of the plugin. This information will be sent to plugin hosting service on each call to plugin hosted service. The key will be the config_variable_template.display_name to uniquely identify the config variable.

state

State

Output only. The current state of the plugin instance (e.g., enabled, disabled, provisioning).

error_message

string

Output only. Error message describing the failure, if any, during Create, Delete or ApplyConfig operation corresponding to the plugin instance.This field will only be populated if the plugin instance is in the ERROR or FAILED state.

actions[]

PluginInstanceAction

Required. The action status for the plugin instance.

create_time

Timestamp

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

update_time

Timestamp

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

State

State represents the state of the plugin instance.

Enums
STATE_UNSPECIFIED Default unspecified state.
CREATING The plugin instance is being created.
ACTIVE The plugin instance is active and ready for executions. This is the only state where executions can run on the plugin instance.
APPLYING_CONFIG The updated config that contains additional_config and auth_config is being applied.
ERROR The ERROR state can come while applying config. Users can retrigger ApplyPluginInstanceConfig to restore the plugin instance back to active state. Note, In case the ERROR state happens while applying config (auth_config, additional_config), the plugin instance will reflect the config which was trying to be applied while error happened. In order to overwrite, trigger ApplyConfig with a new config.
FAILED The plugin instance is in a failed state. This indicates that an unrecoverable error occurred during a previous operation (Create, Delete).
DELETING The plugin instance is being deleted. Delete is only possible if there is no other operation running on the plugin instance and plugin instance action.

PluginInstanceAction

PluginInstanceAction represents an action which can be executed in the plugin instance.

Fields
action_id

string

Required. This should map to one of the action id specified in actions_config in the plugin.

state

State

Output only. The current state of the plugin action in the plugin instance.

schedule_cron_expression

string

Optional. The schedule for this plugin instance action. This can only be set if the plugin supports API_HUB_SCHEDULE_TRIGGER mode for this action.

curation_config

CurationConfig

Optional. This configuration should be provided if the plugin action is publishing data to API hub curate layer.

schedule_time_zone

string

Optional. The time zone for the schedule cron expression. If not provided, UTC will be used.

Union field action_status. The status of the plugin action. action_status can be only one of the following:
hub_instance_action

ExecutionStatus

Optional. The execution information for the plugin instance action done corresponding to an API hub instance.

State

State represents the state of the plugin instance action.

Enums
STATE_UNSPECIFIED Default unspecified state.
ENABLED The action is enabled in the plugin instance i.e., executions can be triggered for this action.
DISABLED The action is disabled in the plugin instance i.e., no executions can be triggered for this action. This state indicates that the user explicitly disabled the instance, and no further action is needed unless the user wants to re-enable it.
ENABLING The action in the plugin instance is being enabled.
DISABLING The action in the plugin instance is being disabled.
ERROR The ERROR state can come while enabling/disabling plugin instance action. Users can retrigger enable, disable via EnablePluginInstanceAction and DisablePluginInstanceAction to restore the action back to enabled/disabled state. Note enable/disable on actions can only be triggered if plugin instance is in Active state.

Point

Point within the file (line and character).

Fields
line

int32

Required. Line number (zero-indexed).

character

int32

Required. Character position within the line (zero-indexed).

Range

Object describing where in the file the issue was found.

Fields
start

Point

Required. Start of the issue.

end

Point

Required. End of the issue.

RuntimeProjectAttachment

Runtime project attachment represents an attachment from the runtime project to the host project. Api Hub looks for deployments in the attached runtime projects and creates corresponding resources in Api Hub for the discovered deployments.

Fields
name

string

Identifier. The resource name of a runtime project attachment. Format: "projects/{project}/locations/{location}/runtimeProjectAttachments/{runtime_project_attachment}".

runtime_project

string

Required. Immutable. Google cloud project name in the format: "projects/abc" or "projects/123". As input, project name with either project id or number are accepted. As output, this field will contain project number.

create_time

Timestamp

Output only. Create time.

Schema

The schema details derived from the spec. Currently, this entity is supported for OpenAPI spec only. For OpenAPI spec, this maps to the schema defined in the definitions section for OpenAPI 2.0 version and in components.schemas section for OpenAPI 3.0 and 3.1 version.

Fields
display_name

string

Output only. The display name of the schema. This will map to the name of the schema in the spec.

raw_value

bytes

Output only. The raw value of the schema definition corresponding to the schema name in the spec.

SearchResourcesRequest

The SearchResources method's request.

Fields
location

string

Required. The resource name of the location which will be of the type projects/{project_id}/locations/{location_id}. This field is used to identify the instance of API-Hub in which resources should be searched.

query

string

Required. The free text search query. This query can contain keywords which could be related to any detail of the API-Hub resources such display names, descriptions, attributes etc.

filter

string

Optional. An expression that filters the list of search results.

A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be =. Filters are not case sensitive.

The following field names are eligible for filtering: * resource_type - The type of resource in the search results. Must be one of the following: Api, ApiOperation, Deployment, Definition, Spec or Version. This field can only be specified once in the filter.

Here are is an example:

  • resource_type = Api - The resource_type is Api.
page_size

int32

Optional. The maximum number of search results to return. The service may return fewer than this value. If unspecified at most 10 search results will be returned. If value is negative then INVALID_ARGUMENT error is returned. The maximum value is 25; values above 25 will be coerced to 25. While paginating, you can specify a new page size parameter for each page of search results to be listed.

page_token

string

Optional. A page token, received from a previous [SearchResources][SearchResources] call. Specify this parameter to retrieve the next page of transactions.

When paginating, you must specify the page_token parameter and all the other parameters except page_size should be specified with the same value which was used in the previous call. If the other fields are set with a different value than the previous call then INVALID_ARGUMENT error is returned.

SearchResourcesResponse

Response for the SearchResources method.

Fields
search_results[]

SearchResult

List of search results according to the filter and search query specified. The order of search results represents the ranking.

next_page_token

string

Pass this token in the SearchResourcesRequest to continue to list results. If all results have been returned, this field is an empty string or not present in the response.

SearchResult

Represents the search results.

Fields
resource

ApiHubResource

This represents the ApiHubResource. Note: Only selected fields of the resources are populated in response.

Secret

Secret provides a reference to entries in Secret Manager.

Fields
secret_version

string

Required. The resource name of the secret version in the format, format as: projects/*/secrets/*/versions/*.

Severity

Severity of the issue.

Enums
SEVERITY_UNSPECIFIED Severity unspecified.
SEVERITY_ERROR Severity error.
SEVERITY_WARNING Severity warning.
SEVERITY_INFO Severity info.
SEVERITY_HINT Severity hint.

SourceMetadata

SourceMetadata represents the metadata for a resource at the source.

Fields
source_type

SourceType

Output only. The type of the source.

original_resource_id

string

Output only. The unique identifier of the resource at the source.

original_resource_create_time

Timestamp

Output only. The time at which the resource was created at the source.

original_resource_update_time

Timestamp

Output only. The time at which the resource was last updated at the source.

Union field source. The source of the resource. source can be only one of the following:
plugin_instance_action_source

PluginInstanceActionSource

Output only. The source of the resource is a plugin instance action.

PluginInstanceActionSource

PluginInstanceActionSource represents the plugin instance action source.

Fields
plugin_instance

string

Output only. The resource name of the source plugin instance. Format is projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}

action_id

string

Output only. The id of the plugin instance action.

SourceType

The possible types of the source.

Enums
SOURCE_TYPE_UNSPECIFIED Source type not specified.
PLUGIN Source type plugin.

Spec

Represents a spec associated with an API version in the API hub. Note that specs of various types can be uploaded, however parsing of details is supported for OpenAPI spec currently.

Fields
name

string

Identifier. The name of the spec.

Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

display_name

string

Required. The display name of the spec. This can contain the file name of the spec.

spec_type

AttributeValues

Required. The type of spec. The value should be one of the allowed values defined for projects/{project}/locations/{location}/attributes/system-spec-type attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API.

Note, this field is mandatory if content is provided.

contents

SpecContents

Optional. Input only. The contents of the uploaded spec.

details

SpecDetails

Output only. Details parsed from the spec.

source_uri

string

Optional. The URI of the spec source in case file is uploaded from an external version control system.

create_time

Timestamp

Output only. The time at which the spec was created.

update_time

Timestamp

Output only. The time at which the spec was last updated.

lint_response

LintResponse

Optional. The lint response for the spec.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the spec. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

documentation

Documentation

Optional. The documentation of the spec. For OpenAPI spec, this will be populated from externalDocs in OpenAPI spec.

parsing_mode

ParsingMode

Optional. Input only. Enum specifying the parsing mode for OpenAPI Specification (OAS) parsing.

source_metadata[]

SourceMetadata

Output only. The list of sources and metadata from the sources of the spec.

ParsingMode

Specifies the parsing mode for API specifications during creation and update. - RELAXED: Parsing errors in the specification content do not fail the API call. - STRICT: Parsing errors in the specification content result in failure of the API call. If not specified, defaults to RELAXED.

Enums
PARSING_MODE_UNSPECIFIED Defaults to RELAXED.
RELAXED Parsing of the Spec on create and update is relaxed, meaning that parsing errors the spec contents will not fail the API call.
STRICT Parsing of the Spec on create and update is strict, meaning that parsing errors in the spec contents will fail the API call.

SpecContents

The spec contents.

Fields
contents

bytes

Required. The contents of the spec.

mime_type

string

Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc.

SpecDetails

SpecDetails contains the details parsed from supported spec types.

Fields
description

string

Output only. The description of the spec.

Union field details.

details can be only one of the following:

open_api_spec_details

OpenApiSpecDetails

Output only. Additional details apart from OperationDetails parsed from an OpenAPI spec. The OperationDetails parsed from the spec can be obtained by using ListAPIOperations method.

SpecMetadata

The metadata associated with a spec of the API version.

Fields
spec

Spec

Required. The spec resource to be pushed to Hub's collect layer. The ID of the spec will be generated by Hub.

original_id

string

Optional. The unique identifier of the spec in the system where it was originally created.

original_create_time

Timestamp

Optional. Timestamp indicating when the spec was created at the source.

original_update_time

Timestamp

Required. Timestamp indicating when the spec was last updated at the source.

StyleGuide

Represents a singleton style guide resource to be used for linting Open API specs.

Fields
name

string

Identifier. The name of the style guide.

Format: projects/{project}/locations/{location}/plugins/{plugin}/styleGuide

linter

Linter

Required. Target linter for the style guide.

contents

StyleGuideContents

Required. Input only. The contents of the uploaded style guide.

StyleGuideContents

The style guide contents.

Fields
contents

bytes

Required. The contents of the style guide.

mime_type

string

Required. The mime type of the content.

UpdateApiOperationRequest

The UpdateApiOperation method's request.

Fields
api_operation

ApiOperation

Required. The apiOperation resource to update.

The operation resource's name field is used to identify the operation resource to update. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

update_mask

FieldMask

Required. The list of fields to update.

UpdateApiRequest

The UpdateApi method's request.

Fields
api

Api

Required. The API resource to update.

The API resource's name field is used to identify the API resource to update. Format: projects/{project}/locations/{location}/apis/{api}

update_mask

FieldMask

Required. The list of fields to update.

UpdateAttributeRequest

The UpdateAttribute method's request.

Fields
attribute

Attribute

Required. The attribute to update.

The attribute's name field is used to identify the attribute to update. Format: projects/{project}/locations/{location}/attributes/{attribute}

update_mask

FieldMask

Required. The list of fields to update.

UpdateCurationRequest

The [UpdateCuration][ApiHub.UpdateCuration] method's request.

Fields
curation

Curation

Required. The curation resource to update.

The curation resource's name field is used to identify the curation resource to update. Format: projects/{project}/locations/{location}/curations/{curation}

update_mask

FieldMask

Optional. The list of fields to update.

UpdateDependencyRequest

The UpdateDependency method's request.

Fields
dependency

Dependency

Required. The dependency resource to update.

The dependency's name field is used to identify the dependency to update. Format: projects/{project}/locations/{location}/dependencies/{dependency}

update_mask

FieldMask

Required. The list of fields to update.

UpdateDeploymentRequest

The UpdateDeployment method's request.

Fields
deployment

Deployment

Required. The deployment resource to update.

The deployment resource's name field is used to identify the deployment resource to update. Format: projects/{project}/locations/{location}/deployments/{deployment}

update_mask

FieldMask

Required. The list of fields to update.

UpdateExternalApiRequest

The UpdateExternalApi method's request.

Fields
external_api

ExternalApi

Required. The External API resource to update.

The External API resource's name field is used to identify the External API resource to update. Format: projects/{project}/locations/{location}/externalApis/{externalApi}

update_mask

FieldMask

Required. The list of fields to update.

UpdateSpecRequest

The UpdateSpec method's request.

Fields
spec

Spec

Required. The spec to update.

The spec's name field is used to identify the spec to update. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

update_mask

FieldMask

Required. The list of fields to update.

UpdateStyleGuideRequest

The UpdateStyleGuide method's request.

Fields
style_guide

StyleGuide

Required. The Style guide resource to update.

update_mask

FieldMask

Optional. The list of fields to update.

UpdateVersionRequest

The UpdateVersion method's request.

Fields
version

Version

Required. The API version to update.

The version's name field is used to identify the API version to update. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

update_mask

FieldMask

Required. The list of fields to update.

Version

Represents a version of the API resource in API hub. This is also referred to as the API version.

Fields
name

string

Identifier. The name of the version.

Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}

display_name

string

Required. The display name of the version.

description

string

Optional. The description of the version.

documentation

Documentation

Optional. The documentation of the version.

specs[]

string

Output only. The specs associated with this version. Note that an API version can be associated with multiple specs. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}

api_operations[]

string

Output only. The operations contained in the API version. These operations will be added to the version when a new spec is added or when an existing spec is updated. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}

definitions[]

string

Output only. The definitions contained in the API version. These definitions will be added to the version when a new spec is added or when an existing spec is updated. Format is projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}

deployments[]

string

Optional. The deployments linked to this API version. Note: A particular API version could be deployed to multiple deployments (for dev deployment, UAT deployment, etc) Format is projects/{project}/locations/{location}/deployments/{deployment}

create_time

Timestamp

Output only. The time at which the version was created.

update_time

Timestamp

Output only. The time at which the version was last updated.

lifecycle

AttributeValues

Optional. The lifecycle of the API version. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-lifecycle attribute. The number of 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.

compliance

AttributeValues

Optional. The compliance associated with the API version. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-compliance attribute. The number of 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.

accreditation

AttributeValues

Optional. The accreditations associated with the API version. This maps to the following system defined attribute: projects/{project}/locations/{location}/attributes/system-accreditation attribute. The number of 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.

attributes

map<string, AttributeValues>

Optional. The list of user defined attributes associated with the Version resource. The key is the attribute name. It will be of the format: projects/{project}/locations/{location}/attributes/{attribute}. The value is the attribute values associated with the resource.

selected_deployment

string

Optional. The selected deployment for a Version resource. This can be used when special handling is needed on client side for a particular deployment linked to the version. Format is projects/{project}/locations/{location}/deployments/{deployment}

source_metadata[]

SourceMetadata

Output only. The list of sources and metadata from the sources of the version.

VersionMetadata

The metadata associated with a version of the API resource.

Fields
version

Version

Required. Represents a version of the API resource in API hub. The ID of the version will be generated by Hub.

specs[]

SpecMetadata

Optional. The specs associated with this version. Note that an API version can be associated with multiple specs.

deployments[]

DeploymentMetadata

Optional. The deployments linked to this API version. Note: A particular API version could be deployed to multiple deployments (for dev deployment, UAT deployment, etc.)

original_id

string

Optional. The unique identifier of the version in the system where it was originally created.

original_create_time

Timestamp

Optional. Timestamp indicating when the version was created at the source.

original_update_time

Timestamp

Required. Timestamp indicating when the version was last updated at the source.