aiven / aiven-client

aiven-client (avn) is the official command-line client for Aiven
Apache License 2.0
87 stars 33 forks source link

AVN: Create integration of a Aiven solution but the destination service is in another project #376

Open dcop7 opened 9 months ago

dcop7 commented 9 months ago

I want to create a service integration with a Aiven solution: Monitor Logs in OpenSearch To give some context. I'm trying to activate the Monitor Logs in OpenSearch of PostgreSQL instances. This OpenSearch instance is in a different project than the PostgreSQL instance. In the console, when I try to create the integration, it shoes 2 options to choose from: "Project name" and "Service name". Then I choose the other project and select the service name.

But when I try to use the avn client (v 4.0.0), I can't. Executing the command: avn service integration-create -h I have this options:

options:
  -h, --help            show this help message and exit
  --project PROJECT     Project name to use, default None
  -t INTEGRATION_TYPE, --integration-type INTEGRATION_TYPE
                        Integration type
  -s SOURCE_SERVICE, --source-service SOURCE_SERVICE
                        Source service name
  -d DEST_SERVICE, --dest-service DEST_SERVICE
                        Destination service name
  -S SOURCE_ENDPOINT_ID, --source-endpoint-id SOURCE_ENDPOINT_ID
                        Source integration endpoint id
  -D DEST_ENDPOINT_ID, --dest-endpoint-id DEST_ENDPOINT_ID
                        Destination integration endpoint id
  -c KEY=VALUE          Apply a configuration setting. See 'avn service types -v' for available values.
  --user-config-json USER_CONFIG_JSON
                        JSON string or path (preceded by '@') to a JSON configuration file
  --json                Raw json output

So, the command should be something like this: avn service integration-create --project source_project_test -s source_service_test --dest-service destination_service_test -t logs --user-config-json '{"elasticsearch_index_days_max": 3, "elasticsearch_index_prefix": "logs"}'

But I have the error saying: Destination service 'destination_service_test' does not exist"

I think it gives this error because it is searching in the same project. How can I set a different project for the destionation? I've tried "--dest-project" but this option doesn't exist (error: unrecognized arguments: --dest-project).

Am I missing something? Or I can't create this native integration using AVN client? I know I have the option to choose external source OpenSearch and point to the existing Aiven instance in a different project. But I would prefer to have the native solution.