import * as pulumi from "@pulumi/pulumi"; /** * The Service Component data source provides information about the existing Aiven service Component. * * Service components can be defined to get the connection info for specific service. Services may support multiple different access routes (VPC peering and public access), have additional components or support various authentication methods. Each of these may be represented by different DNS name or TCP port and the specific component to match can be selected by specifying appropriate filters as shown below. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const sc1 = aiven.getServiceComponent({ * project: project1.project, * serviceName: service1.serviceName, * component: "kafka", * route: "dynamic", * kafkaAuthenticationMethod: "certificate", * }); * ``` */ export declare function getServiceComponent(args: GetServiceComponentArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getServiceComponent. */ export interface GetServiceComponentArgs { /** * Service component name */ component: string; /** * Kafka authentication method. This is a value specific to the 'kafka' service component. The possible values are `certificate` and `sasl`. */ kafkaAuthenticationMethod?: string; /** * Kafka certificate used. The possible values are `letsencrypt` and `projectCa`. */ kafkaSslCa?: string; /** * Privatelink connection ID */ privatelinkConnectionId?: string; /** * Project name */ project: string; /** * Network access route. The possible values are `dynamic`, `private`, `privatelink` and `public`. */ route?: string; /** * Service name */ serviceName?: string; /** * Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components that may disable encryption */ ssl?: boolean; /** * DNS usage name. The possible values are `disasterRecovery`, `haReplica`, `primary` and `replica`. */ usage?: string; } /** * A collection of values returned by getServiceComponent. */ export interface GetServiceComponentResult { /** * Service component name */ readonly component: string; /** * DNS name for connecting to the service component */ readonly host: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Kafka authentication method. This is a value specific to the 'kafka' service component. The possible values are `certificate` and `sasl`. */ readonly kafkaAuthenticationMethod?: string; /** * Kafka certificate used. The possible values are `letsencrypt` and `projectCa`. */ readonly kafkaSslCa: string; /** * Port number for connecting to the service component */ readonly port: number; /** * Privatelink connection ID */ readonly privatelinkConnectionId: string; /** * Project name */ readonly project: string; /** * Network access route. The possible values are `dynamic`, `private`, `privatelink` and `public`. */ readonly route?: string; /** * Service name */ readonly serviceName?: string; /** * Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components that may disable encryption */ readonly ssl?: boolean; /** * DNS usage name. The possible values are `disasterRecovery`, `haReplica`, `primary` and `replica`. */ readonly usage?: string; } /** * The Service Component data source provides information about the existing Aiven service Component. * * Service components can be defined to get the connection info for specific service. Services may support multiple different access routes (VPC peering and public access), have additional components or support various authentication methods. Each of these may be represented by different DNS name or TCP port and the specific component to match can be selected by specifying appropriate filters as shown below. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const sc1 = aiven.getServiceComponent({ * project: project1.project, * serviceName: service1.serviceName, * component: "kafka", * route: "dynamic", * kafkaAuthenticationMethod: "certificate", * }); * ``` */ export declare function getServiceComponentOutput(args: GetServiceComponentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getServiceComponent. */ export interface GetServiceComponentOutputArgs { /** * Service component name */ component: pulumi.Input; /** * Kafka authentication method. This is a value specific to the 'kafka' service component. The possible values are `certificate` and `sasl`. */ kafkaAuthenticationMethod?: pulumi.Input; /** * Kafka certificate used. The possible values are `letsencrypt` and `projectCa`. */ kafkaSslCa?: pulumi.Input; /** * Privatelink connection ID */ privatelinkConnectionId?: pulumi.Input; /** * Project name */ project: pulumi.Input; /** * Network access route. The possible values are `dynamic`, `private`, `privatelink` and `public`. */ route?: pulumi.Input; /** * Service name */ serviceName?: pulumi.Input; /** * Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components that may disable encryption */ ssl?: pulumi.Input; /** * DNS usage name. The possible values are `disasterRecovery`, `haReplica`, `primary` and `replica`. */ usage?: pulumi.Input; } //# sourceMappingURL=getServiceComponent.d.ts.map