import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The SSL server is a service module in SSL VPN that provides SSL services and handles packet encapsulation and decapsulation. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const vPNSslVpnServerDemo = new volcenginecc.vpn.SslVpnServer("VPNSslVpnServerDemo", { * compress: false, * clientIpPool: "192.168.xxx.0/26", * description: "修改的SSL服务端描述", * projectName: "default", * port: 1195, * sslVpnServerName: "更新的SSL服务端名称", * localSubnets: [ * "192.168.1.0/24", * "192.168.2.0/24", * ], * vpnGatewayId: "vgw-****", * auth: "SHA1", * cipher: "AES-128-CBC", * clientCertSessionPolicy: "PreemptExisting", * protocol: "TCP", * tags: [{ * value: "env", * key: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:vpn/sslVpnServer:SslVpnServer example "ssl_vpn_server_id" * ``` */ export declare class SslVpnServer extends pulumi.CustomResource { /** * Get an existing SslVpnServer 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?: SslVpnServerState, opts?: pulumi.CustomResourceOptions): SslVpnServer; /** * Returns true if the given object is an instance of SslVpnServer. 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 SslVpnServer; /** * Authentication algorithm for the SSL server. SHA1 (default), MD5, None (no encryption). */ readonly auth: pulumi.Output; /** * Encryption algorithm for the SSL server. AES-128-CBC (default) AES-192-CBC AES-256-CBC None (no encryption). */ readonly cipher: pulumi.Output; /** * Session policy for client certificates. AllowConcurrent: Reuse supported. PreemptExisting: Reuse not supported. */ readonly clientCertSessionPolicy: pulumi.Output; /** * SSL client address pool. In SSL VPN, the client address pool is the address range assigned to the client's virtual network interface, not the client's existing internal network segment. Client address pool mask range: /16 to /28. The client address pool must not conflict with the LocalSubnet or IPSec connection routes. The client address pool must not overlap with 100.64.0.0/10, 169.254.0.0/16, 127.0.0.0/8, 224.0.0.0/4, or 240.0.0.0/4. The number of available IPs in the client address pool must be greater than four times the number of SSL connections selected when creating the VPN gateway. For example, if the number of SSL connections is 10, the client address pool must have more than 40 available IPs. */ readonly clientIpPool: pulumi.Output; /** * Whether to compress transmitted data. true: Enable compression for communication. false (default): Do not compress communication. */ readonly compress: pulumi.Output; /** * Time when the SSL server was created. */ readonly creationTime: pulumi.Output; /** * Description of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), spaces ( ), underscores (_), hyphens (-), equals signs (=), English commas (,), Chinese commas (,), and Chinese periods (。). Length: 0 to 255 characters. If not specified, defaults to an empty string. */ readonly description: pulumi.Output; /** * Indicates whether the current resource is blocked. true: Blocked false: Not blocked. */ readonly isBlocked: pulumi.Output; /** * Local subnet of the SSL server. The local subnet is the address range accessed by clients through the SSL VPN connection. Note: Up to 5 local subnets can be specified, and they must not conflict with the ClientIpPool. */ readonly localSubnets: pulumi.Output; /** * Port used by the SSL server. Default: 1194. Valid port range: 1 ~ 65535. The following ports are not supported: 22, 68, 179, 323, 500, 4500. */ readonly port: pulumi.Output; /** * Project to which the SSL server belongs. If left blank, the default is default, meaning the created resource belongs to the default project. */ readonly projectName: pulumi.Output; /** * Protocol used by the SSL server. Options: TCP (default): TCP protocol. UDP: UDP protocol. */ readonly protocol: pulumi.Output; /** * ID of the SSL server. */ readonly sslVpnServerId: pulumi.Output; /** * Name of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), underscores (_), and hyphens (-). Length: 1 to 128 characters. If not specified, defaults to the SSL server ID. */ readonly sslVpnServerName: pulumi.Output; /** * Status of the SSL server. Available: Available Creating: Creating Pending: In progress Deleting: Deleting. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Modify the time of the SSL server. */ readonly updateTime: pulumi.Output; /** * ID of the VPN gateway used by the SSL server. */ readonly vpnGatewayId: pulumi.Output; /** * Create a SslVpnServer 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: SslVpnServerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SslVpnServer resources. */ export interface SslVpnServerState { /** * Authentication algorithm for the SSL server. SHA1 (default), MD5, None (no encryption). */ auth?: pulumi.Input; /** * Encryption algorithm for the SSL server. AES-128-CBC (default) AES-192-CBC AES-256-CBC None (no encryption). */ cipher?: pulumi.Input; /** * Session policy for client certificates. AllowConcurrent: Reuse supported. PreemptExisting: Reuse not supported. */ clientCertSessionPolicy?: pulumi.Input; /** * SSL client address pool. In SSL VPN, the client address pool is the address range assigned to the client's virtual network interface, not the client's existing internal network segment. Client address pool mask range: /16 to /28. The client address pool must not conflict with the LocalSubnet or IPSec connection routes. The client address pool must not overlap with 100.64.0.0/10, 169.254.0.0/16, 127.0.0.0/8, 224.0.0.0/4, or 240.0.0.0/4. The number of available IPs in the client address pool must be greater than four times the number of SSL connections selected when creating the VPN gateway. For example, if the number of SSL connections is 10, the client address pool must have more than 40 available IPs. */ clientIpPool?: pulumi.Input; /** * Whether to compress transmitted data. true: Enable compression for communication. false (default): Do not compress communication. */ compress?: pulumi.Input; /** * Time when the SSL server was created. */ creationTime?: pulumi.Input; /** * Description of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), spaces ( ), underscores (_), hyphens (-), equals signs (=), English commas (,), Chinese commas (,), and Chinese periods (。). Length: 0 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * Indicates whether the current resource is blocked. true: Blocked false: Not blocked. */ isBlocked?: pulumi.Input; /** * Local subnet of the SSL server. The local subnet is the address range accessed by clients through the SSL VPN connection. Note: Up to 5 local subnets can be specified, and they must not conflict with the ClientIpPool. */ localSubnets?: pulumi.Input[]>; /** * Port used by the SSL server. Default: 1194. Valid port range: 1 ~ 65535. The following ports are not supported: 22, 68, 179, 323, 500, 4500. */ port?: pulumi.Input; /** * Project to which the SSL server belongs. If left blank, the default is default, meaning the created resource belongs to the default project. */ projectName?: pulumi.Input; /** * Protocol used by the SSL server. Options: TCP (default): TCP protocol. UDP: UDP protocol. */ protocol?: pulumi.Input; /** * ID of the SSL server. */ sslVpnServerId?: pulumi.Input; /** * Name of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), underscores (_), and hyphens (-). Length: 1 to 128 characters. If not specified, defaults to the SSL server ID. */ sslVpnServerName?: pulumi.Input; /** * Status of the SSL server. Available: Available Creating: Creating Pending: In progress Deleting: Deleting. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Modify the time of the SSL server. */ updateTime?: pulumi.Input; /** * ID of the VPN gateway used by the SSL server. */ vpnGatewayId?: pulumi.Input; } /** * The set of arguments for constructing a SslVpnServer resource. */ export interface SslVpnServerArgs { /** * Authentication algorithm for the SSL server. SHA1 (default), MD5, None (no encryption). */ auth?: pulumi.Input; /** * Encryption algorithm for the SSL server. AES-128-CBC (default) AES-192-CBC AES-256-CBC None (no encryption). */ cipher?: pulumi.Input; /** * Session policy for client certificates. AllowConcurrent: Reuse supported. PreemptExisting: Reuse not supported. */ clientCertSessionPolicy?: pulumi.Input; /** * SSL client address pool. In SSL VPN, the client address pool is the address range assigned to the client's virtual network interface, not the client's existing internal network segment. Client address pool mask range: /16 to /28. The client address pool must not conflict with the LocalSubnet or IPSec connection routes. The client address pool must not overlap with 100.64.0.0/10, 169.254.0.0/16, 127.0.0.0/8, 224.0.0.0/4, or 240.0.0.0/4. The number of available IPs in the client address pool must be greater than four times the number of SSL connections selected when creating the VPN gateway. For example, if the number of SSL connections is 10, the client address pool must have more than 40 available IPs. */ clientIpPool: pulumi.Input; /** * Whether to compress transmitted data. true: Enable compression for communication. false (default): Do not compress communication. */ compress?: pulumi.Input; /** * Description of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), spaces ( ), underscores (_), hyphens (-), equals signs (=), English commas (,), Chinese commas (,), and Chinese periods (。). Length: 0 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * Local subnet of the SSL server. The local subnet is the address range accessed by clients through the SSL VPN connection. Note: Up to 5 local subnets can be specified, and they must not conflict with the ClientIpPool. */ localSubnets: pulumi.Input[]>; /** * Port used by the SSL server. Default: 1194. Valid port range: 1 ~ 65535. The following ports are not supported: 22, 68, 179, 323, 500, 4500. */ port?: pulumi.Input; /** * Project to which the SSL server belongs. If left blank, the default is default, meaning the created resource belongs to the default project. */ projectName?: pulumi.Input; /** * Protocol used by the SSL server. Options: TCP (default): TCP protocol. UDP: UDP protocol. */ protocol?: pulumi.Input; /** * Name of the SSL server to be created. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, periods (.), underscores (_), and hyphens (-). Length: 1 to 128 characters. If not specified, defaults to the SSL server ID. */ sslVpnServerName?: pulumi.Input; tags?: pulumi.Input[]>; /** * ID of the VPN gateway used by the SSL server. */ vpnGatewayId: pulumi.Input; }