apigeecli command to import all kvms from one environment to other - apigeex

Hi @dchiesa1 @kurtkanaskie @ssvaidyanathan As part of ApigeeX 2021 to ApigeeX 2024 entitlement conversion we are consolidating the environments & need help with kvm migration step from one step to other. We have bunch of KVMs created in each environment. Export step works but import doesnt. Could you please help with a sample command with apigeecli to import all kvms at once from one environment to other? Is that possible?

export sample command:

apigeecli kvms export -o gcp-apigee-test -e dev3

 

 

Solved Solved
3 4 142
1 ACCEPTED SOLUTION

Did you try the import command?

apigeecli kvms import -f samples/kvms for example pointing to the folder where you exported your kvm files. Make sure you update the file names pointing to the new target environment. 

View solution in original post

4 REPLIES 4

Did you try the import command?

apigeecli kvms import -f samples/kvms for example pointing to the folder where you exported your kvm files. Make sure you update the file names pointing to the new target environment. 

thanks @ssvaidyanathan . It would be nice if the github documentation for apigeecli could be updated with some of the info like "update the file names pointing to the new target environment". 

This is a good question and one which many customers will have to deal with. 

In the simplest situation you have multiple sharded envs (e.g. dev1, dev2) and they all have the same KVMs. In this case this works:

$ apigeecli kvms export --org=$ORG --env=dev1
$ apigeecli kvms export --org=$ORG --env=dev2

$ ll 
env__dev1__common-config__kvmfile__0.json
env__dev1__quota-config__kvmfile__0.json
env__dev1__spike-config__kvmfile__0.json
env__dev2__common-config__kvmfile__0.json
env__dev2__quota-config__kvmfile__0.json
env__dev2__spike-config__kvmfile__0.json

Then rename the "dev1" files and remove the others and run import

$ ll
env__dev__common-config__kvmfile__0.json
env__dev__quota-config__kvmfile__0.json
env__dev__spike-config__kvmfile__0.json

$ apigeecli kvms import --org=$ORG --folder=`pwd`

thanks Kurt. @kurtkanaskie , @ssvaidyanathan  , We were able to perform export & import kvms & target servers. Is there an automated way to update products with dev2 & dev3 to  include dev1 environment & also deploy api proxies of dev2/dev3 to dev1 using apigeecli as part of consolidation of environments in 2024 entitlements?