    Patch.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}',
        http_method='PATCH',
        method_id='apihub.projects.locations.deployments.patch',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['updateMask'],
        relative_path='v1/{+name}',
        request_field='googleCloudApihubV1Deployment',
        request_type_name='ApihubProjectsLocationsDeploymentsPatchRequest',
        response_type_name='GoogleCloudApihubV1Deployment',
        supports_download=False,
    )

  class ProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsService(base_api.BaseApiService):
    """Service class for the projects_locations_discoveredApiObservations_discoveredApiOperations resource."""

    _NAME = 'projects_locations_discoveredApiObservations_discoveredApiOperations'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsService, self).__init__(client)
      self._upload_configs = {
          }

    def Get(self, request, global_params=None):
      r"""Gets a DiscoveredAPIOperation in a given project, location, ApiObservation and ApiOperation.

      Args:
        request: (ApihubProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1DiscoveredApiOperation) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}/discoveredApiOperations/{discoveredApiOperationsId}',
        http_method='GET',
        method_id='apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsGetRequest',
        response_type_name='GoogleCloudApihubV1DiscoveredApiOperation',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""Lists all the DiscoveredAPIOperations in a given project, location and ApiObservation.

      Args:
        request: (ApihubProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListDiscoveredApiOperationsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}/discoveredApiOperations',
        http_method='GET',
        method_id='apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['pageSize', 'pageToken'],
        relative_path='v1/{+parent}/discoveredApiOperations',
        request_field='',
        request_type_name='ApihubProjectsLocationsDiscoveredApiObservationsDiscoveredApiOperationsListRequest',
        response_type_name='GoogleCloudApihubV1ListDiscoveredApiOperationsResponse',
        supports_download=False,
    )

  class ProjectsLocationsDiscoveredApiObservationsService(base_api.BaseApiService):
    """Service class for the projects_locations_discoveredApiObservations resource."""

    _NAME = 'projects_locations_discoveredApiObservations'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsDiscoveredApiObservationsService, self).__init__(client)
      self._upload_configs = {
          }

    def Get(self, request, global_params=None):
      r"""Gets a DiscoveredAPIObservation in a given project, location and ApiObservation.

      Args:
        request: (ApihubProjectsLocationsDiscoveredApiObservationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1DiscoveredApiObservation) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}',
        http_method='GET',
        method_id='apihub.projects.locations.discoveredApiObservations.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsDiscoveredApiObservationsGetRequest',
        response_type_name='GoogleCloudApihubV1DiscoveredApiObservation',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""Lists all the DiscoveredAPIObservations in a given project and location.

      Args:
        request: (ApihubProjectsLocationsDiscoveredApiObservationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListDiscoveredApiObservationsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations',
        http_method='GET',
        method_id='apihub.projects.locations.discoveredApiObservations.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['pageSize', 'pageToken'],
        relative_path='v1/{+parent}/discoveredApiObservations',
        request_field='',
        request_type_name='ApihubProjectsLocationsDiscoveredApiObservationsListRequest',
        response_type_name='GoogleCloudApihubV1ListDiscoveredApiObservationsResponse',
        supports_download=False,
    )

  class ProjectsLocationsExternalApisService(base_api.BaseApiService):
    """Service class for the projects_locations_externalApis resource."""

    _NAME = 'projects_locations_externalApis'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsExternalApisService, self).__init__(client)
      self._upload_configs = {
          }

    def Create(self, request, global_params=None):
      r"""Create an External API resource in the API hub.

      Args:
        request: (ApihubProjectsLocationsExternalApisCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ExternalApi) The response message.
      """
      config = self.GetMethodConfig('Create')
      return self._RunMethod(
          config, request, global_params=global_params)

    Create.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/externalApis',
        http_method='POST',
        method_id='apihub.projects.locations.externalApis.create',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['externalApiId'],
        relative_path='v1/{+parent}/externalApis',
        request_field='googleCloudApihubV1ExternalApi',
        request_type_name='ApihubProjectsLocationsExternalApisCreateRequest',
        response_type_name='GoogleCloudApihubV1ExternalApi',
        supports_download=False,
    )

    def Delete(self, request, global_params=None):
      r"""Delete an External API resource in the API hub.

      Args:
        request: (ApihubProjectsLocationsExternalApisDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Empty) The response message.
      """
      config = self.GetMethodConfig('Delete')
      return self._RunMethod(
          config, request, global_params=global_params)

    Delete.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/externalApis/{externalApisId}',
        http_method='DELETE',
        method_id='apihub.projects.locations.externalApis.delete',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsExternalApisDeleteRequest',
        response_type_name='Empty',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Get details about an External API resource in the API hub.

      Args:
        request: (ApihubProjectsLocationsExternalApisGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ExternalApi) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/externalApis/{externalApisId}',
        http_method='GET',
        method_id='apihub.projects.locations.externalApis.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsExternalApisGetRequest',
        response_type_name='GoogleCloudApihubV1ExternalApi',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""List External API resources in the API hub.

      Args:
        request: (ApihubProjectsLocationsExternalApisListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListExternalApisResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/externalApis',
        http_method='GET',
        method_id='apihub.projects.locations.externalApis.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['pageSize', 'pageToken'],
        relative_path='v1/{+parent}/externalApis',
        request_field='',
        request_type_name='ApihubProjectsLocationsExternalApisListRequest',
        response_type_name='GoogleCloudApihubV1ListExternalApisResponse',
        supports_download=False,
    )

    def Patch(self, request, global_params=None):
      r"""Update an External API resource in the API hub. The following fields can be updated: * display_name * description * documentation * endpoints * paths The update_mask should be used to specify the fields being updated.

      Args:
        request: (ApihubProjectsLocationsExternalApisPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ExternalApi) The response message.
      """
      config = self.GetMethodConfig('Patch')
      return self._RunMethod(
          config, request, global_params=global_params)

    Patch.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/externalApis/{externalApisId}',
        http_method='PATCH',
        method_id='apihub.projects.locations.externalApis.patch',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['updateMask'],
        relative_path='v1/{+name}',
        request_field='googleCloudApihubV1ExternalApi',
        request_type_name='ApihubProjectsLocationsExternalApisPatchRequest',
        response_type_name='GoogleCloudApihubV1ExternalApi',
        supports_download=False,
    )

  class ProjectsLocationsHostProjectRegistrationsService(base_api.BaseApiService):
    """Service class for the projects_locations_hostProjectRegistrations resource."""

    _NAME = 'projects_locations_hostProjectRegistrations'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsHostProjectRegistrationsService, self).__init__(client)
      self._upload_configs = {
          }

    def Create(self, request, global_params=None):
      r"""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.

      Args:
        request: (ApihubProjectsLocationsHostProjectRegistrationsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1HostProjectRegistration) The response message.
      """
      config = self.GetMethodConfig('Create')
      return self._RunMethod(
          config, request, global_params=global_params)

    Create.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/hostProjectRegistrations',
        http_method='POST',
        method_id='apihub.projects.locations.hostProjectRegistrations.create',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['hostProjectRegistrationId'],
        relative_path='v1/{+parent}/hostProjectRegistrations',
        request_field='googleCloudApihubV1HostProjectRegistration',
        request_type_name='ApihubProjectsLocationsHostProjectRegistrationsCreateRequest',
        response_type_name='GoogleCloudApihubV1HostProjectRegistration',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Get a host project registration.

      Args:
        request: (ApihubProjectsLocationsHostProjectRegistrationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1HostProjectRegistration) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/hostProjectRegistrations/{hostProjectRegistrationsId}',
        http_method='GET',
        method_id='apihub.projects.locations.hostProjectRegistrations.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsHostProjectRegistrationsGetRequest',
        response_type_name='GoogleCloudApihubV1HostProjectRegistration',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""Lists host project registrations.

      Args:
        request: (ApihubProjectsLocationsHostProjectRegistrationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListHostProjectRegistrationsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/hostProjectRegistrations',
        http_method='GET',
        method_id='apihub.projects.locations.hostProjectRegistrations.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['filter', 'orderBy', 'pageSize', 'pageToken'],
        relative_path='v1/{+parent}/hostProjectRegistrations',
        request_field='',
        request_type_name='ApihubProjectsLocationsHostProjectRegistrationsListRequest',
        response_type_name='GoogleCloudApihubV1ListHostProjectRegistrationsResponse',
        supports_download=False,
    )

  class ProjectsLocationsOperationsService(base_api.BaseApiService):
    """Service class for the projects_locations_operations resource."""

    _NAME = 'projects_locations_operations'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsOperationsService, self).__init__(client)
      self._upload_configs = {
          }

    def Cancel(self, request, global_params=None):
      r"""Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.

      Args:
        request: (ApihubProjectsLocationsOperationsCancelRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Empty) The response message.
      """
      config = self.GetMethodConfig('Cancel')
      return self._RunMethod(
          config, request, global_params=global_params)

    Cancel.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel',
        http_method='POST',
        method_id='apihub.projects.locations.operations.cancel',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:cancel',
        request_field='googleLongrunningCancelOperationRequest',
        request_type_name='ApihubProjectsLocationsOperationsCancelRequest',
        response_type_name='Empty',
        supports_download=False,
    )

    def Delete(self, request, global_params=None):
      r"""Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

      Args:
        request: (ApihubProjectsLocationsOperationsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Empty) The response message.
      """
      config = self.GetMethodConfig('Delete')
      return self._RunMethod(
          config, request, global_params=global_params)

    Delete.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}',
        http_method='DELETE',
        method_id='apihub.projects.locations.operations.delete',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsOperationsDeleteRequest',
        response_type_name='Empty',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

      Args:
        request: (ApihubProjectsLocationsOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}',
        http_method='GET',
        method_id='apihub.projects.locations.operations.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsOperationsGetRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

      Args:
        request: (ApihubProjectsLocationsOperationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningListOperationsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/operations',
        http_method='GET',
        method_id='apihub.projects.locations.operations.list',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['filter', 'pageSize', 'pageToken', 'returnPartialSuccess'],
        relative_path='v1/{+name}/operations',
        request_field='',
        request_type_name='ApihubProjectsLocationsOperationsListRequest',
        response_type_name='GoogleLongrunningListOperationsResponse',
        supports_download=False,
    )

  class ProjectsLocationsPluginsInstancesService(base_api.BaseApiService):
    """Service class for the projects_locations_plugins_instances resource."""

    _NAME = 'projects_locations_plugins_instances'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsPluginsInstancesService, self).__init__(client)
      self._upload_configs = {
          }

    def Create(self, request, global_params=None):
      r"""Creates a Plugin instance in the API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('Create')
      return self._RunMethod(
          config, request, global_params=global_params)

    Create.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.instances.create',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['pluginInstanceId'],
        relative_path='v1/{+parent}/instances',
        request_field='googleCloudApihubV1PluginInstance',
        request_type_name='ApihubProjectsLocationsPluginsInstancesCreateRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def Delete(self, request, global_params=None):
      r"""Deletes a plugin instance in the API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('Delete')
      return self._RunMethod(
          config, request, global_params=global_params)

    Delete.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}',
        http_method='DELETE',
        method_id='apihub.projects.locations.plugins.instances.delete',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsInstancesDeleteRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def DisableAction(self, request, global_params=None):
      r"""Disables a plugin instance in the API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesDisableActionRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('DisableAction')
      return self._RunMethod(
          config, request, global_params=global_params)

    DisableAction.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}:disableAction',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.instances.disableAction',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:disableAction',
        request_field='googleCloudApihubV1DisablePluginInstanceActionRequest',
        request_type_name='ApihubProjectsLocationsPluginsInstancesDisableActionRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def EnableAction(self, request, global_params=None):
      r"""Enables a plugin instance in the API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesEnableActionRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('EnableAction')
      return self._RunMethod(
          config, request, global_params=global_params)

    EnableAction.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}:enableAction',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.instances.enableAction',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:enableAction',
        request_field='googleCloudApihubV1EnablePluginInstanceActionRequest',
        request_type_name='ApihubProjectsLocationsPluginsInstancesEnableActionRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def ExecuteAction(self, request, global_params=None):
      r"""Executes a plugin instance in the API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesExecuteActionRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('ExecuteAction')
      return self._RunMethod(
          config, request, global_params=global_params)

    ExecuteAction.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}:executeAction',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.instances.executeAction',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:executeAction',
        request_field='googleCloudApihubV1ExecutePluginInstanceActionRequest',
        request_type_name='ApihubProjectsLocationsPluginsInstancesExecuteActionRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Get an API Hub plugin instance.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1PluginInstance) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.instances.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsInstancesGetRequest',
        response_type_name='GoogleCloudApihubV1PluginInstance',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""List all the plugins in a given project and location. `-` can be used as wildcard value for {plugin_id}.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListPluginInstancesResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.instances.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['filter', 'pageSize', 'pageToken'],
        relative_path='v1/{+parent}/instances',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsInstancesListRequest',
        response_type_name='GoogleCloudApihubV1ListPluginInstancesResponse',
        supports_download=False,
    )

    def ManageSourceData(self, request, global_params=None):
      r"""Manages data for a given plugin instance.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesManageSourceDataRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ManagePluginInstanceSourceDataResponse) The response message.
      """
      config = self.GetMethodConfig('ManageSourceData')
      return self._RunMethod(
          config, request, global_params=global_params)

    ManageSourceData.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}:manageSourceData',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.instances.manageSourceData',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:manageSourceData',
        request_field='googleCloudApihubV1ManagePluginInstanceSourceDataRequest',
        request_type_name='ApihubProjectsLocationsPluginsInstancesManageSourceDataRequest',
        response_type_name='GoogleCloudApihubV1ManagePluginInstanceSourceDataResponse',
        supports_download=False,
    )

    def Patch(self, request, global_params=None):
      r"""Updates a plugin instance in the API hub. The following fields in the plugin_instance can be updated currently: * display_name * schedule_cron_expression The update_mask should be used to specify the fields being updated. To update the auth_config and additional_config of the plugin instance, use the ApplyPluginInstanceConfig method.

      Args:
        request: (ApihubProjectsLocationsPluginsInstancesPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1PluginInstance) The response message.
      """
      config = self.GetMethodConfig('Patch')
      return self._RunMethod(
          config, request, global_params=global_params)

    Patch.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/instances/{instancesId}',
        http_method='PATCH',
        method_id='apihub.projects.locations.plugins.instances.patch',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['updateMask'],
        relative_path='v1/{+name}',
        request_field='googleCloudApihubV1PluginInstance',
        request_type_name='ApihubProjectsLocationsPluginsInstancesPatchRequest',
        response_type_name='GoogleCloudApihubV1PluginInstance',
        supports_download=False,
    )

  class ProjectsLocationsPluginsStyleGuideService(base_api.BaseApiService):
    """Service class for the projects_locations_plugins_styleGuide resource."""

    _NAME = 'projects_locations_plugins_styleGuide'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsPluginsStyleGuideService, self).__init__(client)
      self._upload_configs = {
          }

    def GetContents(self, request, global_params=None):
      r"""Get the contents of the style guide.

      Args:
        request: (ApihubProjectsLocationsPluginsStyleGuideGetContentsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1StyleGuideContents) The response message.
      """
      config = self.GetMethodConfig('GetContents')
      return self._RunMethod(
          config, request, global_params=global_params)

    GetContents.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/styleGuide:contents',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.styleGuide.getContents',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:contents',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsStyleGuideGetContentsRequest',
        response_type_name='GoogleCloudApihubV1StyleGuideContents',
        supports_download=False,
    )

  class ProjectsLocationsPluginsService(base_api.BaseApiService):
    """Service class for the projects_locations_plugins resource."""

    _NAME = 'projects_locations_plugins'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsPluginsService, self).__init__(client)
      self._upload_configs = {
          }

    def Create(self, request, global_params=None):
      r"""Create an API Hub plugin resource in the API hub. Once a plugin is created, it can be used to create plugin instances.

      Args:
        request: (ApihubProjectsLocationsPluginsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1Plugin) The response message.
      """
      config = self.GetMethodConfig('Create')
      return self._RunMethod(
          config, request, global_params=global_params)

    Create.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.create',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['pluginId'],
        relative_path='v1/{+parent}/plugins',
        request_field='googleCloudApihubV1Plugin',
        request_type_name='ApihubProjectsLocationsPluginsCreateRequest',
        response_type_name='GoogleCloudApihubV1Plugin',
        supports_download=False,
    )

    def Delete(self, request, global_params=None):
      r"""Delete a Plugin in API hub. Note, only user owned plugins can be deleted via this method.

      Args:
        request: (ApihubProjectsLocationsPluginsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('Delete')
      return self._RunMethod(
          config, request, global_params=global_params)

    Delete.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}',
        http_method='DELETE',
        method_id='apihub.projects.locations.plugins.delete',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsDeleteRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def Disable(self, request, global_params=None):
      r"""Disables a plugin. The `state` of the plugin after disabling is `DISABLED`.

      Args:
        request: (ApihubProjectsLocationsPluginsDisableRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1Plugin) The response message.
      """
      config = self.GetMethodConfig('Disable')
      return self._RunMethod(
          config, request, global_params=global_params)

    Disable.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}:disable',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.disable',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:disable',
        request_field='googleCloudApihubV1DisablePluginRequest',
        request_type_name='ApihubProjectsLocationsPluginsDisableRequest',
        response_type_name='GoogleCloudApihubV1Plugin',
        supports_download=False,
    )

    def Enable(self, request, global_params=None):
      r"""Enables a plugin. The `state` of the plugin after enabling is `ENABLED`.

      Args:
        request: (ApihubProjectsLocationsPluginsEnableRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1Plugin) The response message.
      """
      config = self.GetMethodConfig('Enable')
      return self._RunMethod(
          config, request, global_params=global_params)

    Enable.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}:enable',
        http_method='POST',
        method_id='apihub.projects.locations.plugins.enable',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:enable',
        request_field='googleCloudApihubV1EnablePluginRequest',
        request_type_name='ApihubProjectsLocationsPluginsEnableRequest',
        response_type_name='GoogleCloudApihubV1Plugin',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Get an API Hub plugin.

      Args:
        request: (ApihubProjectsLocationsPluginsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1Plugin) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsGetRequest',
        response_type_name='GoogleCloudApihubV1Plugin',
        supports_download=False,
    )

    def GetStyleGuide(self, request, global_params=None):
      r"""Get the style guide being used for linting.

      Args:
        request: (ApihubProjectsLocationsPluginsGetStyleGuideRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1StyleGuide) The response message.
      """
      config = self.GetMethodConfig('GetStyleGuide')
      return self._RunMethod(
          config, request, global_params=global_params)

    GetStyleGuide.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/styleGuide',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.getStyleGuide',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsGetStyleGuideRequest',
        response_type_name='GoogleCloudApihubV1StyleGuide',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""List all the plugins in a given project and location.

      Args:
        request: (ApihubProjectsLocationsPluginsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListPluginsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins',
        http_method='GET',
        method_id='apihub.projects.locations.plugins.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['filter', 'pageSize', 'pageToken'],
        relative_path='v1/{+parent}/plugins',
        request_field='',
        request_type_name='ApihubProjectsLocationsPluginsListRequest',
        response_type_name='GoogleCloudApihubV1ListPluginsResponse',
        supports_download=False,
    )

    def UpdateStyleGuide(self, request, global_params=None):
      r"""Update the styleGuide to be used for liniting in by API hub.

      Args:
        request: (ApihubProjectsLocationsPluginsUpdateStyleGuideRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1StyleGuide) The response message.
      """
      config = self.GetMethodConfig('UpdateStyleGuide')
      return self._RunMethod(
          config, request, global_params=global_params)

    UpdateStyleGuide.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/plugins/{pluginsId}/styleGuide',
        http_method='PATCH',
        method_id='apihub.projects.locations.plugins.updateStyleGuide',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['updateMask'],
        relative_path='v1/{+name}',
        request_field='googleCloudApihubV1StyleGuide',
        request_type_name='ApihubProjectsLocationsPluginsUpdateStyleGuideRequest',
        response_type_name='GoogleCloudApihubV1StyleGuide',
        supports_download=False,
    )

  class ProjectsLocationsRuntimeProjectAttachmentsService(base_api.BaseApiService):
    """Service class for the projects_locations_runtimeProjectAttachments resource."""

    _NAME = 'projects_locations_runtimeProjectAttachments'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsRuntimeProjectAttachmentsService, self).__init__(client)
      self._upload_configs = {
          }

    def Create(self, request, global_params=None):
      r"""Attaches a runtime project to the host project.

      Args:
        request: (ApihubProjectsLocationsRuntimeProjectAttachmentsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1RuntimeProjectAttachment) The response message.
      """
      config = self.GetMethodConfig('Create')
      return self._RunMethod(
          config, request, global_params=global_params)

    Create.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/runtimeProjectAttachments',
        http_method='POST',
        method_id='apihub.projects.locations.runtimeProjectAttachments.create',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['runtimeProjectAttachmentId'],
        relative_path='v1/{+parent}/runtimeProjectAttachments',
        request_field='googleCloudApihubV1RuntimeProjectAttachment',
        request_type_name='ApihubProjectsLocationsRuntimeProjectAttachmentsCreateRequest',
        response_type_name='GoogleCloudApihubV1RuntimeProjectAttachment',
        supports_download=False,
    )

    def Delete(self, request, global_params=None):
      r"""Delete a runtime project attachment in the API Hub. This call will detach the runtime project from the host project.

      Args:
        request: (ApihubProjectsLocationsRuntimeProjectAttachmentsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Empty) The response message.
      """
      config = self.GetMethodConfig('Delete')
      return self._RunMethod(
          config, request, global_params=global_params)

    Delete.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/runtimeProjectAttachments/{runtimeProjectAttachmentsId}',
        http_method='DELETE',
        method_id='apihub.projects.locations.runtimeProjectAttachments.delete',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsRuntimeProjectAttachmentsDeleteRequest',
        response_type_name='Empty',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Gets a runtime project attachment.

      Args:
        request: (ApihubProjectsLocationsRuntimeProjectAttachmentsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1RuntimeProjectAttachment) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/runtimeProjectAttachments/{runtimeProjectAttachmentsId}',
        http_method='GET',
        method_id='apihub.projects.locations.runtimeProjectAttachments.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsRuntimeProjectAttachmentsGetRequest',
        response_type_name='GoogleCloudApihubV1RuntimeProjectAttachment',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""List runtime projects attached to the host project.

      Args:
        request: (ApihubProjectsLocationsRuntimeProjectAttachmentsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1ListRuntimeProjectAttachmentsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}/runtimeProjectAttachments',
        http_method='GET',
        method_id='apihub.projects.locations.runtimeProjectAttachments.list',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['filter', 'orderBy', 'pageSize', 'pageToken'],
        relative_path='v1/{+parent}/runtimeProjectAttachments',
        request_field='',
        request_type_name='ApihubProjectsLocationsRuntimeProjectAttachmentsListRequest',
        response_type_name='GoogleCloudApihubV1ListRuntimeProjectAttachmentsResponse',
        supports_download=False,
    )

  class ProjectsLocationsService(base_api.BaseApiService):
    """Service class for the projects_locations resource."""

    _NAME = 'projects_locations'

    def __init__(self, client):
      super(ApihubV1.ProjectsLocationsService, self).__init__(client)
      self._upload_configs = {
          }

    def CollectApiData(self, request, global_params=None):
      r"""Collect API data from a source and push it to Hub's collect layer.

      Args:
        request: (ApihubProjectsLocationsCollectApiDataRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      """
      config = self.GetMethodConfig('CollectApiData')
      return self._RunMethod(
          config, request, global_params=global_params)

    CollectApiData.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}:collectApiData',
        http_method='POST',
        method_id='apihub.projects.locations.collectApiData',
        ordered_params=['location'],
        path_params=['location'],
        query_params=[],
        relative_path='v1/{+location}:collectApiData',
        request_field='googleCloudApihubV1CollectApiDataRequest',
        request_type_name='ApihubProjectsLocationsCollectApiDataRequest',
        response_type_name='GoogleLongrunningOperation',
        supports_download=False,
    )

    def Get(self, request, global_params=None):
      r"""Gets information about a location.

      Args:
        request: (ApihubProjectsLocationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudLocationLocation) The response message.
      """
      config = self.GetMethodConfig('Get')
      return self._RunMethod(
          config, request, global_params=global_params)

    Get.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}',
        http_method='GET',
        method_id='apihub.projects.locations.get',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}',
        request_field='',
        request_type_name='ApihubProjectsLocationsGetRequest',
        response_type_name='GoogleCloudLocationLocation',
        supports_download=False,
    )

    def List(self, request, global_params=None):
      r"""Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.

      Args:
        request: (ApihubProjectsLocationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudLocationListLocationsResponse) The response message.
      """
      config = self.GetMethodConfig('List')
      return self._RunMethod(
          config, request, global_params=global_params)

    List.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations',
        http_method='GET',
        method_id='apihub.projects.locations.list',
        ordered_params=['name'],
        path_params=['name'],
        query_params=['extraLocationTypes', 'filter', 'pageSize', 'pageToken'],
        relative_path='v1/{+name}/locations',
        request_field='',
        request_type_name='ApihubProjectsLocationsListRequest',
        response_type_name='GoogleCloudLocationListLocationsResponse',
        supports_download=False,
    )

    def LookupRuntimeProjectAttachment(self, request, global_params=None):
      r"""Look up a runtime project attachment. This API can be called in the context of any project.

      Args:
        request: (ApihubProjectsLocationsLookupRuntimeProjectAttachmentRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1LookupRuntimeProjectAttachmentResponse) The response message.
      """
      config = self.GetMethodConfig('LookupRuntimeProjectAttachment')
      return self._RunMethod(
          config, request, global_params=global_params)

    LookupRuntimeProjectAttachment.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}:lookupRuntimeProjectAttachment',
        http_method='GET',
        method_id='apihub.projects.locations.lookupRuntimeProjectAttachment',
        ordered_params=['name'],
        path_params=['name'],
        query_params=[],
        relative_path='v1/{+name}:lookupRuntimeProjectAttachment',
        request_field='',
        request_type_name='ApihubProjectsLocationsLookupRuntimeProjectAttachmentRequest',
        response_type_name='GoogleCloudApihubV1LookupRuntimeProjectAttachmentResponse',
        supports_download=False,
    )

    def RetrieveApiViews(self, request, global_params=None):
      r"""Retrieve API views.

      Args:
        request: (ApihubProjectsLocationsRetrieveApiViewsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1RetrieveApiViewsResponse) The response message.
      """
      config = self.GetMethodConfig('RetrieveApiViews')
      return self._RunMethod(
          config, request, global_params=global_params)

    RetrieveApiViews.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}:retrieveApiViews',
        http_method='GET',
        method_id='apihub.projects.locations.retrieveApiViews',
        ordered_params=['parent'],
        path_params=['parent'],
        query_params=['filter', 'pageSize', 'pageToken', 'view'],
        relative_path='v1/{+parent}:retrieveApiViews',
        request_field='',
        request_type_name='ApihubProjectsLocationsRetrieveApiViewsRequest',
        response_type_name='GoogleCloudApihubV1RetrieveApiViewsResponse',
        supports_download=False,
    )

    def SearchResources(self, request, global_params=None):
      r"""Search across API-Hub resources.

      Args:
        request: (ApihubProjectsLocationsSearchResourcesRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleCloudApihubV1SearchResourcesResponse) The response message.
      """
      config = self.GetMethodConfig('SearchResources')
      return self._RunMethod(
          config, request, global_params=global_params)

    SearchResources.method_config = lambda: base_api.ApiMethodInfo(
        flat_path='v1/projects/{projectsId}/locations/{locationsId}:searchResources',
        http_method='POST',
        method_id='apihub.projects.locations.searchResources',
        ordered_params=['location'],
        path_params=['location'],
        query_params=[],
        relative_path='v1/{+location}:searchResources',
        request_field='googleCloudApihubV1SearchResourcesRequest',
        request_type_name='ApihubProjectsLocationsSearchResourcesRequest',
        response_type_name='GoogleCloudApihubV1SearchResourcesResponse',
        supports_download=False,
    )

  class ProjectsService(base_api.BaseApiService):
    """Service class for the projects resource."""

    _NAME = 'projects'

    def __init__(self, client):
      super(ApihubV1.ProjectsService, self).__init__(client)
      self._upload_configs = {
          }
