Skip to main content
To delete a contract, please use federated-graph delete.

Usage

Exclude (the items that have the tag(s) specified will be removed from the source federated graph)

By default, all top-level nodes will be included in the schema unless explicitly excluded.
npx wgc contract update <name> --source <contract-name> --exclude internal

Include (the items that have the tag(s) specified will be included in the source federated graph)

Child nodes inherit inclusion from their parent unless explicitly excluded. For example, an included Object would include all its field unless explicitly excluded. Similarly, an included field would include all its field arguments unless explicitly excluded.
By default, no top-level nodes will be included in the schema unless explicitly included. Child nodes inherit inclusion from their parents unless explicitly excluded.
npx wgc contract update <name> --source <contract-name> --include public

Include and exclude together

Minimum Requirements
PackageMinimum version
wgc0.126.2
The include and exclude tag sets must be mutually exclusive. If the same tag is added to both the include and exclude sets, an error will be returned.
If both include and exclude tags are provided, the behaviour is thus:
  1. The schema starts blank (no nodes)
  2. Top-level (parent) nodes (Enums, Inputs, Interfaces, Objects, Scalars, and Unions) are included if they define a specified tag to include.
  3. Child-level nodes (Enum values, Input fields, Interface fields, Object fields) are also included unless the child defines a specified tag to exclude.
  4. Argument nodes (Object field arguments and Interface field arguments) are included if the corresponding field is included unless the field argument defines a specified tag to exclude.
npx wgc contract update <name> --source <contract-name> --include public --exclude internal

Description

The npx wgc contract update command allows you to update the tag filters for the contract. This will result in overwriting existing ones and causes a recomposition of the contract graph.

Parameters

  • <name>: The name of the contract graph you want to update.

Options

  • -n, --namespace : The namespace of the federated graph (Default: “default”).
  • --exclude : The list of tags that should be excluded from the source graph schema.
  • --include : The list of tags that should be included from the source graph schema.
  • -r , --routing-url: The routing URL of your router. This URL defines the endpoint where the router will be accessible. The contract graph will be accessible through this router.
  • --admission-webhook-url <url> the base url of the admission webhook. This is the url that the controlplane will use to implement admission control for the contract graph. Example: https://admission.example.com (without the /validate-config path name)
  • --admission-webhook-secret: Allows you to sign requests (HMAC) made to your admission webhook url. The header containing this signature is X-Cosmo-Signature-256
  • --readme : The markdown file which describes the contract graph.
  • --suppress-warnings: This flag suppresses any warnings produced by composition.

Examples

Updates a contract graph named production-external with the new exclude tags: experimental and deprecated:
npx wgc contract update production-external --exclude experimental deprecated
Updates a contract graph named production-external with the new include tags: public and api:
npx wgc contract update production-external --include public api
Updates a contract graph named public-api with the new include tags core and api and the new exclude tags classified and internal:
npx wgc contract update public-api --include core api --exclude classified internal