Restoring a managed service

Cloud Endpoints uses Service Management to manage your API. When you deployed your OpenAPI document by using the gcloud endpoints services deploy command, the command used Service Management to create a managed service for your API.

If you deleted a managed service by using the gcloud endpoints services delete command, Service Management doesn't immediately delete the managed service. Service Management disables the managed service for 30 days, which allows you time to restore it if you need to. After 30 days, Service Management permanently deletes the managed service.

While the managed service is in the disabled state, Service Management doesn't allow the creation of another managed service with the same name.

To restore a managed service:

  1. Make sure that the Google Cloud CLI (gcloud) is authorized to access your data and services on Google Cloud:

    gcloud auth login
    
  2. Restore the managed service and assign it to the Google Cloud project that it was originally created in. Replace [SERVICE_NAME] with the name of your managed service.

    gcloud endpoints services undelete [SERVICE_NAME]
    

Troubleshooting

If the gcloud endpoints services undelete command fails with a permission error similar to:

ERROR: (gcloud.endpoints.services.undelete) User [EMAIL] does not have permission to access service

  • Run gcloud auth login and make sure to choose a user account that has permission to access the project that the managed service is in.

  • Make sure you have been granted the Service Management Administrator IAM role (roles/servicemanagement.admin).

What's next