GoogleCloudPlatform / application-integration-management-toolkit

This tool lets you interact with Application Integration, Integration Connectors or Apigee Integration/Connector APIs. The tool lets you manage (create, del, get, list) integrations, connections etc.
Apache License 2.0
22 stars 16 forks source link

[FR] Decouple Integration and Connector configuration/scaffolding #281

Closed carlosmscabral closed 1 month ago

carlosmscabral commented 1 month ago

Is your feature request related to a problem? Please describe. I want to make my integrations more configurable and reusable across projects. For that, I am using Config Variables as the Connection Names, so I can dynamically use the same src JSON across projects and just change the config variable for pointing to a different connection.

When I scaffold a configuration such as this, the overrides file will "render" the actual connection name (from the Config Variable current value I've done my scaffold). When I deploy this into a different project, just changing the config variable for the connection name, the overrides takes precedence and the newly deployed integration won't be using a config variable as the connection string, but rather the "render" configuration of where I scaffolded it. I need to manually change the connector json file and the overrides file to make it work - instead of just changing a single variable in the config-vars json file.

Describe the solution you'd like I'd like to be able to control this behavior. Maybe a flag where I can scaffold only the integration source and config files, and another where I just scaffold connectors configs (given a single connection can be used by many different integrations, it just makes sense). The link between an integration and a connection should be able to be able to be done via Config Variables.

Describe alternatives you've considered

Additional context

srinandan commented 1 month ago

This feature already exists:

integrationcli integrations scaffold --help
Create a scaffolding for the integration flow and dependencies

Usage:
  integrationcli integrations scaffold [flags]

Flags:
...
  -n, --name string         Integration flow name
      --skip-authconfigs    Exclude authconfigs from scaffold
      --skip-connectors     Exclude connectors from scaffold
  ...