This topic explains how to delete environments. For an introduction, see About environments and environment groups.
About deleting environments
  To delete an environment properly, you must make several configuration changes and
  apply them to your cluster. These changes include removing the environment definition and
  references to it from
  your overrides file, deleting the synchronizer, runtime,
  and udca components, and finally re-applying your overrides to
  restore your cluster without
  including the environment you wish to delete.
  The reason you can't only delete the environment in one step is because the other elements,
  synchronizer, runtime,
  and udca are connected to each environment through their internal configurations. Only by
  deleting them and re-applying them can you properly delete an environment.
How to delete an environment
Assume that you have two environments, test and prod. In your overrides file, the definitions might look something like this:
...
virtualhosts:
  - name: default-test
    hostAliases: ["api-test.example.com"]
    sslCertPath: ./certs/fullchain-test.pem
    sslKeyPath: ./certs/privkey-test.pem
      env: test
  - name: default-prod
    hostAliases: ["api.example.com"]
    sslCertPath: ./certs/fullchain.pem
    sslKeyPath: ./certs/privkey.pem
      env: prod
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...To delete the prod environment, follow these steps:
- Copy your original overrides file -- the one that contains both the prod
    and test environment definitions --
    to a new file called, for example, prod-delete.yaml.
- Open prod-delete.yaml.
- Delete the testenvironment definition fromenvsandvirtualhosts, leaving only the prod definitions. For example:... virtualhosts: - name: default-prod hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem env: prod ... envs: - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ...
- Remove everything else from prod-delete.yamlexcept thecassandraconfig, if present:After making the above changes, your overrides file should look something like this: ... virtualhosts: - name: default-prod hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem env: prod envs: - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json cassandra: replicaCount: 3 resources: requests: cpu: 3500m memory: 7Gi storage: storageClass: pd-ssd capacity: 10Gi
- Run this command to delete the specified components:
   apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer 
- Open your original overrides file (the one that includes both the test and prod environment definitions).
- Delete the prodenvironment definition from theenvsandvirtualhostselements. You only want thetestenvironment definition to be present in the file.
- Apply the modified overrides file to your cluster. This command will recreate the deleted
    elements and, because it is omitted, not recreate the prodenvironment.apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer 
- Save your changes. 
- Open a browser and navigate to the hybrid UI at Apigee UI.
- Remove the environment using the steps described Delete an existing environment in the Hybrid UI.
You're not quite done. You must now update the environments in the hybrid UI.