import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages an Aiven [service integration](https://aiven.io/docs/platform/concepts/service-integration). * * > Services integrations are not supported for services running on hobbyist plans. * * You can set up an integration between two Aiven services or an Aiven service and an external * service. For example, you can send metrics from an Aiven service to a Grafana service to show dashboards, or create an observability pipeline by shipping logs * into Aiven for OpenSearch or Aiven for Clickhouse. For external integrations, you also need an * integration endpoint. * * You can also use service integrations to enable and use the disk autoscaler. * * > **Warning** * For services managed by Terraform, removing an autoscaler integration on services with `additionalDiskSpace` resets the service disk space to the service plan's disk size. * See [Remove the autoscaler](https://www.terraform.io/providers/aiven/aiven/latest/docs/guides/disk-autoscaler#remove-the-autoscaler) for more. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * // Integrate Kafka and Thanos services for metrics * const exampleIntegration = new aiven.ServiceIntegration("example_integration", { * project: exampleProject.project, * integrationType: "metrics", * sourceServiceName: exampleKafka.serviceName, * destinationServiceName: exampleThanos.serviceName, * }); * // Use disk autoscaler with a PostgreSQL service * const autoscalerEndpoint = new aiven.ServiceIntegrationEndpoint("autoscaler_endpoint", { * autoscalerUserConfig: { * autoscalings: [{ * capGb: 200, * type: "autoscale_disk", * }], * }, * project: exampleProject.project, * endpointName: "disk-autoscaler-200GiB", * endpointType: "autoscaler", * }); * const autoscalerIntegration = new aiven.ServiceIntegration("autoscaler_integration", { * project: exampleProject.project, * integrationType: "autoscaler", * sourceServiceName: examplePg.serviceName, * destinationEndpointId: autoscalerEndpoint.id, * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/serviceIntegration:ServiceIntegration example_integration PROJECT/INTEGRATION_ID * ``` */ export declare class ServiceIntegration extends pulumi.CustomResource { /** * Get an existing ServiceIntegration resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ServiceIntegrationState, opts?: pulumi.CustomResourceOptions): ServiceIntegration; /** * Returns true if the given object is an instance of ServiceIntegration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ServiceIntegration; /** * ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly clickhouseCredentialsUserConfig: pulumi.Output; /** * ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly clickhouseKafkaUserConfig: pulumi.Output; /** * ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly clickhousePostgresqlUserConfig: pulumi.Output; /** * Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly datadogUserConfig: pulumi.Output; /** * Destination endpoint for the integration. */ readonly destinationEndpointId: pulumi.Output; /** * Destination service for the integration. */ readonly destinationServiceName: pulumi.Output; /** * Destination service project name */ readonly destinationServiceProject: pulumi.Output; /** * ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly externalAwsCloudwatchLogsUserConfig: pulumi.Output; /** * ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly externalAwsCloudwatchMetricsUserConfig: pulumi.Output; /** * ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly externalElasticsearchLogsUserConfig: pulumi.Output; /** * ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly externalOpensearchLogsUserConfig: pulumi.Output; /** * FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly flinkExternalPostgresqlUserConfig: pulumi.Output; /** * The ID of the Aiven service integration. */ readonly integrationId: pulumi.Output; /** * Type of the service integration. The possible values are `alertmanager`, `autoscaler`, `caching`, `clickhouseCredentials`, `clickhouseKafka`, `clickhousePostgresql`, `dashboard`, `datadog`, `datahubMetadataIngestion`, `datasource`, `disasterRecovery`, `externalAwsCloudwatchLogs`, `externalAwsCloudwatchMetrics`, `externalElasticsearchLogs`, `externalGoogleCloudLogging`, `externalOpensearchLogs`, `flink`, `flinkExternalBigquery`, `flinkExternalKafka`, `flinkExternalPostgresql`, `internalConnectivity`, `jolokia`, `kafkaConnect`, `kafkaConnectPostgresql`, `kafkaLogs`, `kafkaMirrormaker`, `logs`, `metrics`, `opensearchCrossClusterReplication`, `opensearchCrossClusterSearch`, `opentelemetry`, `prometheus`, `readReplica`, `rsyslog`, `schemaRegistryProxy`, `serviceComposition`, `stresstester`, `thanosDistributedQuery`, `thanosMigrate`, `thanosObjectStorage`, `thanoscompactor`, `thanosquery`, `thanosruler`, `thanosstore`, `vector` and `vmalert`. */ readonly integrationType: pulumi.Output; /** * KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly kafkaConnectUserConfig: pulumi.Output; /** * KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly kafkaLogsUserConfig: pulumi.Output; /** * KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly kafkaMirrormakerUserConfig: pulumi.Output; /** * Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly logsUserConfig: pulumi.Output; /** * Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly metricsUserConfig: pulumi.Output; /** * Project the integration belongs to. */ readonly project: pulumi.Output; /** * Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly prometheusUserConfig: pulumi.Output; /** * Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly rsyslogUserConfig: pulumi.Output; /** * Source endpoint for the integration. */ readonly sourceEndpointId: pulumi.Output; /** * Source service for the integration (if any) */ readonly sourceServiceName: pulumi.Output; /** * Source service project name */ readonly sourceServiceProject: pulumi.Output; /** * Create a ServiceIntegration resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ServiceIntegrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ServiceIntegration resources. */ export interface ServiceIntegrationState { /** * ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhouseCredentialsUserConfig?: pulumi.Input; /** * ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhouseKafkaUserConfig?: pulumi.Input; /** * ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhousePostgresqlUserConfig?: pulumi.Input; /** * Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ datadogUserConfig?: pulumi.Input; /** * Destination endpoint for the integration. */ destinationEndpointId?: pulumi.Input; /** * Destination service for the integration. */ destinationServiceName?: pulumi.Input; /** * Destination service project name */ destinationServiceProject?: pulumi.Input; /** * ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalAwsCloudwatchLogsUserConfig?: pulumi.Input; /** * ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalAwsCloudwatchMetricsUserConfig?: pulumi.Input; /** * ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalElasticsearchLogsUserConfig?: pulumi.Input; /** * ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalOpensearchLogsUserConfig?: pulumi.Input; /** * FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ flinkExternalPostgresqlUserConfig?: pulumi.Input; /** * The ID of the Aiven service integration. */ integrationId?: pulumi.Input; /** * Type of the service integration. The possible values are `alertmanager`, `autoscaler`, `caching`, `clickhouseCredentials`, `clickhouseKafka`, `clickhousePostgresql`, `dashboard`, `datadog`, `datahubMetadataIngestion`, `datasource`, `disasterRecovery`, `externalAwsCloudwatchLogs`, `externalAwsCloudwatchMetrics`, `externalElasticsearchLogs`, `externalGoogleCloudLogging`, `externalOpensearchLogs`, `flink`, `flinkExternalBigquery`, `flinkExternalKafka`, `flinkExternalPostgresql`, `internalConnectivity`, `jolokia`, `kafkaConnect`, `kafkaConnectPostgresql`, `kafkaLogs`, `kafkaMirrormaker`, `logs`, `metrics`, `opensearchCrossClusterReplication`, `opensearchCrossClusterSearch`, `opentelemetry`, `prometheus`, `readReplica`, `rsyslog`, `schemaRegistryProxy`, `serviceComposition`, `stresstester`, `thanosDistributedQuery`, `thanosMigrate`, `thanosObjectStorage`, `thanoscompactor`, `thanosquery`, `thanosruler`, `thanosstore`, `vector` and `vmalert`. */ integrationType?: pulumi.Input; /** * KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaConnectUserConfig?: pulumi.Input; /** * KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaLogsUserConfig?: pulumi.Input; /** * KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaMirrormakerUserConfig?: pulumi.Input; /** * Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ logsUserConfig?: pulumi.Input; /** * Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ metricsUserConfig?: pulumi.Input; /** * Project the integration belongs to. */ project?: pulumi.Input; /** * Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ prometheusUserConfig?: pulumi.Input; /** * Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ rsyslogUserConfig?: pulumi.Input; /** * Source endpoint for the integration. */ sourceEndpointId?: pulumi.Input; /** * Source service for the integration (if any) */ sourceServiceName?: pulumi.Input; /** * Source service project name */ sourceServiceProject?: pulumi.Input; } /** * The set of arguments for constructing a ServiceIntegration resource. */ export interface ServiceIntegrationArgs { /** * ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhouseCredentialsUserConfig?: pulumi.Input; /** * ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhouseKafkaUserConfig?: pulumi.Input; /** * ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ clickhousePostgresqlUserConfig?: pulumi.Input; /** * Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ datadogUserConfig?: pulumi.Input; /** * Destination endpoint for the integration. */ destinationEndpointId?: pulumi.Input; /** * Destination service for the integration. */ destinationServiceName?: pulumi.Input; /** * Destination service project name */ destinationServiceProject?: pulumi.Input; /** * ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalAwsCloudwatchLogsUserConfig?: pulumi.Input; /** * ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalAwsCloudwatchMetricsUserConfig?: pulumi.Input; /** * ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalElasticsearchLogsUserConfig?: pulumi.Input; /** * ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ externalOpensearchLogsUserConfig?: pulumi.Input; /** * FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ flinkExternalPostgresqlUserConfig?: pulumi.Input; /** * Type of the service integration. The possible values are `alertmanager`, `autoscaler`, `caching`, `clickhouseCredentials`, `clickhouseKafka`, `clickhousePostgresql`, `dashboard`, `datadog`, `datahubMetadataIngestion`, `datasource`, `disasterRecovery`, `externalAwsCloudwatchLogs`, `externalAwsCloudwatchMetrics`, `externalElasticsearchLogs`, `externalGoogleCloudLogging`, `externalOpensearchLogs`, `flink`, `flinkExternalBigquery`, `flinkExternalKafka`, `flinkExternalPostgresql`, `internalConnectivity`, `jolokia`, `kafkaConnect`, `kafkaConnectPostgresql`, `kafkaLogs`, `kafkaMirrormaker`, `logs`, `metrics`, `opensearchCrossClusterReplication`, `opensearchCrossClusterSearch`, `opentelemetry`, `prometheus`, `readReplica`, `rsyslog`, `schemaRegistryProxy`, `serviceComposition`, `stresstester`, `thanosDistributedQuery`, `thanosMigrate`, `thanosObjectStorage`, `thanoscompactor`, `thanosquery`, `thanosruler`, `thanosstore`, `vector` and `vmalert`. */ integrationType: pulumi.Input; /** * KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaConnectUserConfig?: pulumi.Input; /** * KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaLogsUserConfig?: pulumi.Input; /** * KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ kafkaMirrormakerUserConfig?: pulumi.Input; /** * Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ logsUserConfig?: pulumi.Input; /** * Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ metricsUserConfig?: pulumi.Input; /** * Project the integration belongs to. */ project: pulumi.Input; /** * Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ prometheusUserConfig?: pulumi.Input; /** * Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ rsyslogUserConfig?: pulumi.Input; /** * Source endpoint for the integration. */ sourceEndpointId?: pulumi.Input; /** * Source service for the integration (if any) */ sourceServiceName?: pulumi.Input; /** * Source service project name */ sourceServiceProject?: pulumi.Input; } //# sourceMappingURL=serviceIntegration.d.ts.map