import * as pulumi from "@pulumi/pulumi"; /** * Gets information about a Public Gateway PAT rule. For further information, please see the * API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * import * as scaleway from "@pulumi/scaleway"; * * const sg01 = new scaleway.InstanceSecurityGroup("sg01", { * inboundDefaultPolicy: "drop", * outboundDefaultPolicy: "accept", * inboundRules: [{ * action: "accept", * port: 22, * protocol: "TCP", * }], * }); * const srv01 = new scaleway.InstanceServer("srv01", { * type: "PLAY2-NANO", * image: "ubuntu_jammy", * securityGroupId: sg01.id, * }); * const pn01 = new scaleway.VpcPrivateNetwork("pn01", {}); * const pnic01 = new scaleway.InstancePrivateNic("pnic01", { * serverId: srv01.id, * privateNetworkId: pn01.id, * }); * const dhcp01 = new scaleway.VpcPublicGatewayDhcp("dhcp01", {subnet: "192.168.0.0/24"}); * const ip01 = new scaleway.VpcPublicGatewayIp("ip01", {}); * const pg01 = new scaleway.VpcPublicGateway("pg01", { * type: "VPC-GW-S", * ipId: ip01.id, * }); * const gn01 = new scaleway.VpcGatewayNetwork("gn01", { * gatewayId: pg01.id, * privateNetworkId: pn01.id, * dhcpId: dhcp01.id, * cleanupDhcp: true, * enableMasquerade: true, * }); * const rsv01 = new scaleway.VpcPublicGatewayDhcpReservation("rsv01", { * gatewayNetworkId: gn01.id, * macAddress: pnic01.macAddress, * ipAddress: "192.168.0.7", * }); * const pat01 = new scaleway.VpcPublicGatewayPatRule("pat01", { * gatewayId: pg01.id, * privateIp: rsv01.ipAddress, * privatePort: 22, * publicPort: 2202, * protocol: "tcp", * }); * const main = scaleway.getVpcPublicGatewayPatRuleOutput({ * patRuleId: pat01.id, * }); * ``` */ export declare function getVpcPublicGatewayPatRule(args: GetVpcPublicGatewayPatRuleArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getVpcPublicGatewayPatRule. */ export interface GetVpcPublicGatewayPatRuleArgs { /** * The ID of the PAT rule to retrieve */ patRuleId: string; /** * `zone`) The zone in which * the rule exists. */ zone?: string; } /** * A collection of values returned by getVpcPublicGatewayPatRule. */ export interface GetVpcPublicGatewayPatRuleResult { readonly createdAt: string; /** * The ID of the Public Gateway. */ readonly gatewayId: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly organizationId: string; readonly patRuleId: string; /** * The private IP address to forward data to. */ readonly privateIp: string; /** * The private port to translate to. */ readonly privatePort: number; /** * The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`. */ readonly protocol: string; /** * The public port to listen on. */ readonly publicPort: number; readonly updatedAt: string; readonly zone?: string; } /** * Gets information about a Public Gateway PAT rule. For further information, please see the * API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * import * as scaleway from "@pulumi/scaleway"; * * const sg01 = new scaleway.InstanceSecurityGroup("sg01", { * inboundDefaultPolicy: "drop", * outboundDefaultPolicy: "accept", * inboundRules: [{ * action: "accept", * port: 22, * protocol: "TCP", * }], * }); * const srv01 = new scaleway.InstanceServer("srv01", { * type: "PLAY2-NANO", * image: "ubuntu_jammy", * securityGroupId: sg01.id, * }); * const pn01 = new scaleway.VpcPrivateNetwork("pn01", {}); * const pnic01 = new scaleway.InstancePrivateNic("pnic01", { * serverId: srv01.id, * privateNetworkId: pn01.id, * }); * const dhcp01 = new scaleway.VpcPublicGatewayDhcp("dhcp01", {subnet: "192.168.0.0/24"}); * const ip01 = new scaleway.VpcPublicGatewayIp("ip01", {}); * const pg01 = new scaleway.VpcPublicGateway("pg01", { * type: "VPC-GW-S", * ipId: ip01.id, * }); * const gn01 = new scaleway.VpcGatewayNetwork("gn01", { * gatewayId: pg01.id, * privateNetworkId: pn01.id, * dhcpId: dhcp01.id, * cleanupDhcp: true, * enableMasquerade: true, * }); * const rsv01 = new scaleway.VpcPublicGatewayDhcpReservation("rsv01", { * gatewayNetworkId: gn01.id, * macAddress: pnic01.macAddress, * ipAddress: "192.168.0.7", * }); * const pat01 = new scaleway.VpcPublicGatewayPatRule("pat01", { * gatewayId: pg01.id, * privateIp: rsv01.ipAddress, * privatePort: 22, * publicPort: 2202, * protocol: "tcp", * }); * const main = scaleway.getVpcPublicGatewayPatRuleOutput({ * patRuleId: pat01.id, * }); * ``` */ export declare function getVpcPublicGatewayPatRuleOutput(args: GetVpcPublicGatewayPatRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getVpcPublicGatewayPatRule. */ export interface GetVpcPublicGatewayPatRuleOutputArgs { /** * The ID of the PAT rule to retrieve */ patRuleId: pulumi.Input; /** * `zone`) The zone in which * the rule exists. */ zone?: pulumi.Input; }