The deployments definition deployments.json is invalid

I’m new to Apigee X and testing it to see if it fits our needs.

I’ve set up an Apigee X archive.

When I’m running the following command:

$ gcloud beta apigee archives deploy --environment=test

I get the following error:

ERROR: (gcloud.beta.apigee.archives.deploy) Failed to create archive deployment (Bad Request):

ArchiveDeployment(organization='xxxxxxx', environment='test')

Details: The deployments definition src/main/apigee/environments/test/deployments.json is invalid.

json: unknown field "serviceAccount"

It’s deploying fine on the emulator v1.15.2 but fails on Google Cloud.

The deployments.json file structure follows the documentation here: Configurer et déployer des environnements  |  Apigee  |  Google Cloud Documentation

The file looks like :

{

  "proxies": [
    {
      "name": "graphql"
    },
    {
      "name": "graphql-passthrough"
    },
    {
      "name": "rest"
    }
  ],
  "sharedflows": [
    {
      "name": "sf-common-gcloud-logging",
      "serviceAccount": "apigee-logger@sandbox-xxxxxx.iam.gserviceaccount.com"
    }
    {
      "name": "sf-common-security"
    }
  ]
}

I don’t understand why the json schema get validated by the emulator 1.15.2 but not when deploying on the Apigee environment. I can’t neither find further documentation about the expected json structure expected by the Apigee environment.