import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Listener resource in Oracle Cloud Infrastructure Load Balancer service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/loadbalancer/latest/Listener * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/load_balancer * * Adds a listener to a load balancer. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testListener = new oci.loadbalancer.Listener("test_listener", { * defaultBackendSetName: testBackendSet.name, * loadBalancerId: testLoadBalancer.id, * name: listenerName, * port: Number(listenerPort), * protocol: listenerProtocol, * connectionConfiguration: { * idleTimeoutInSeconds: listenerConnectionConfigurationIdleTimeoutInSeconds, * backendTcpProxyProtocolOptions: listenerConnectionConfigurationBackendTcpProxyProtocolOptions, * backendTcpProxyProtocolVersion: Number(listenerConnectionConfigurationBackendTcpProxyProtocolVersion), * }, * hostnameNames: [testHostname.name], * pathRouteSetName: testPathRouteSet.name, * routingPolicyName: testLoadBalancerRoutingPolicy.name, * ruleSetNames: [testRuleSet.name], * sslConfiguration: { * certificateName: testCertificate.name, * hasSessionResumption: listenerSslConfigurationHasSessionResumption === "true", * certificateIds: listenerSslConfigurationCertificateIds, * cipherSuiteName: listenerSslConfigurationCipherSuiteName, * protocols: listenerSslConfigurationProtocols, * serverOrderPreference: listenerSslConfigurationServerOrderPreference, * trustedCertificateAuthorityIds: listenerSslConfigurationTrustedCertificateAuthorityIds, * verifyDepth: Number(listenerSslConfigurationVerifyDepth), * verifyPeerCertificate: listenerSslConfigurationVerifyPeerCertificate === "true", * }, * }); * ``` * * ## Import * * Listeners can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:LoadBalancer/listener:Listener test_listener "loadBalancers/{loadBalancerId}/listeners/{listenerName}" * ``` */ export declare class Listener extends pulumi.CustomResource { /** * Get an existing Listener 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?: ListenerState, opts?: pulumi.CustomResourceOptions): Listener; /** * Returns true if the given object is an instance of Listener. 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 Listener; /** * (Updatable) Configuration details for the connection between the client and backend servers. */ readonly connectionConfiguration: pulumi.Output; /** * (Updatable) The name of the associated backend set. Example: `exampleBackendSet` */ readonly defaultBackendSetName: pulumi.Output; /** * (Updatable) An array of hostname resource names. */ readonly hostnameNames: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a listener. */ readonly loadBalancerId: pulumi.Output; /** * A friendly name for the listener. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleListener` */ readonly name: pulumi.Output; /** * (Updatable) Deprecated. Please use `routingPolicies` instead. * * The name of the set of path-based routing rules, [PathRouteSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/PathRouteSet/), applied to this listener's traffic. * * Example: `examplePathRouteSet` */ readonly pathRouteSetName: pulumi.Output; /** * (Updatable) The communication port for the listener. Example: `80` */ readonly port: pulumi.Output; /** * (Updatable) The protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [ListProtocols](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerProtocol/ListProtocols) operation. Example: `HTTP` */ readonly protocol: pulumi.Output; /** * (Updatable) The name of the routing policy applied to this listener's traffic. Example: `exampleRoutingPolicy` */ readonly routingPolicyName: pulumi.Output; /** * (Updatable) The names of the [rule sets](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/RuleSet/) to apply to the listener. Example: ["exampleRuleSet"] */ readonly ruleSetNames: pulumi.Output; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ readonly sslConfiguration: pulumi.Output; readonly state: pulumi.Output; /** * Create a Listener 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: ListenerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Listener resources. */ export interface ListenerState { /** * (Updatable) Configuration details for the connection between the client and backend servers. */ connectionConfiguration?: pulumi.Input; /** * (Updatable) The name of the associated backend set. Example: `exampleBackendSet` */ defaultBackendSetName?: pulumi.Input; /** * (Updatable) An array of hostname resource names. */ hostnameNames?: pulumi.Input[] | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a listener. */ loadBalancerId?: pulumi.Input; /** * A friendly name for the listener. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleListener` */ name?: pulumi.Input; /** * (Updatable) Deprecated. Please use `routingPolicies` instead. * * The name of the set of path-based routing rules, [PathRouteSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/PathRouteSet/), applied to this listener's traffic. * * Example: `examplePathRouteSet` */ pathRouteSetName?: pulumi.Input; /** * (Updatable) The communication port for the listener. Example: `80` */ port?: pulumi.Input; /** * (Updatable) The protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [ListProtocols](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerProtocol/ListProtocols) operation. Example: `HTTP` */ protocol?: pulumi.Input; /** * (Updatable) The name of the routing policy applied to this listener's traffic. Example: `exampleRoutingPolicy` */ routingPolicyName?: pulumi.Input; /** * (Updatable) The names of the [rule sets](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/RuleSet/) to apply to the listener. Example: ["exampleRuleSet"] */ ruleSetNames?: pulumi.Input[] | undefined>; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sslConfiguration?: pulumi.Input; state?: pulumi.Input; } /** * The set of arguments for constructing a Listener resource. */ export interface ListenerArgs { /** * (Updatable) Configuration details for the connection between the client and backend servers. */ connectionConfiguration?: pulumi.Input; /** * (Updatable) The name of the associated backend set. Example: `exampleBackendSet` */ defaultBackendSetName: pulumi.Input; /** * (Updatable) An array of hostname resource names. */ hostnameNames?: pulumi.Input[] | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a listener. */ loadBalancerId: pulumi.Input; /** * A friendly name for the listener. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleListener` */ name?: pulumi.Input; /** * (Updatable) Deprecated. Please use `routingPolicies` instead. * * The name of the set of path-based routing rules, [PathRouteSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/PathRouteSet/), applied to this listener's traffic. * * Example: `examplePathRouteSet` */ pathRouteSetName?: pulumi.Input; /** * (Updatable) The communication port for the listener. Example: `80` */ port: pulumi.Input; /** * (Updatable) The protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [ListProtocols](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerProtocol/ListProtocols) operation. Example: `HTTP` */ protocol: pulumi.Input; /** * (Updatable) The name of the routing policy applied to this listener's traffic. Example: `exampleRoutingPolicy` */ routingPolicyName?: pulumi.Input; /** * (Updatable) The names of the [rule sets](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/RuleSet/) to apply to the listener. Example: ["exampleRuleSet"] */ ruleSetNames?: pulumi.Input[] | undefined>; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sslConfiguration?: pulumi.Input; } //# sourceMappingURL=listener.d.ts.map