import * as pulumi from "@pulumi/pulumi"; /** * Approves an Azure Private Link connection to an Aiven service with an associated endpoint IP. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * import * as azurerm from "@pulumi/azurerm"; * * const staticIps: aiven.StaticIp[] = []; * for (let range = 0; range < 2; range++) { * staticIps.push(new aiven.StaticIp(`static_ips-${range}`, { * project: projectId, * cloudName: region, * })); * } * const _default = new aiven.Pg("default", { * pgUserConfig: { * privatelinkAccess: { * pg: true, * pgbouncer: true, * }, * pgVersion: "13", * staticIps: true, * }, * serviceName: "postgres", * project: aivenProjectId, * projectVpcId: aivenProjectVpcId, * cloudName: region, * plan: plan, * staticIps: staticIps.map(sip => (sip.staticIpAddressId)), * }); * const privatelink = new aiven.AzurePrivatelink("privatelink", { * project: aivenProjectId, * serviceName: _default.name, * userSubscriptionIds: [azureSubscriptionId], * }); * const endpoint = new azurerm.index.PrivateEndpoint("endpoint", { * privateServiceConnection: [{ * name: _default.name, * privateConnectionResourceId: privatelink.azureServiceId, * isManualConnection: true, * requestMessage: _default.name, * }], * name: "postgres-endpoint", * location: region, * resourceGroupName: azureResourceGroup.name, * subnetId: azureSubnetId, * }, { * dependsOn: [privatelink], * }); * const approval = new aiven.AzurePrivatelinkConnectionApproval("approval", { * project: aivenProjectId, * serviceName: _default.serviceName, * endpointIpAddress: endpoint.privateServiceConnection[0].privateIpAddress, * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/azurePrivatelinkConnectionApproval:AzurePrivatelinkConnectionApproval approval PROJECT/SERVICE_NAME * ``` */ export declare class AzurePrivatelinkConnectionApproval extends pulumi.CustomResource { /** * Get an existing AzurePrivatelinkConnectionApproval 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?: AzurePrivatelinkConnectionApprovalState, opts?: pulumi.CustomResourceOptions): AzurePrivatelinkConnectionApproval; /** * Returns true if the given object is an instance of AzurePrivatelinkConnectionApproval. 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 AzurePrivatelinkConnectionApproval; /** * IP address of Azure private endpoint. */ readonly endpointIpAddress: pulumi.Output; /** * The ID of the Private Link connection. */ readonly privatelinkConnectionId: pulumi.Output; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ readonly project: pulumi.Output; /** * The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ readonly serviceName: pulumi.Output; /** * The state of the Private Link connection. */ readonly state: pulumi.Output; /** * Create a AzurePrivatelinkConnectionApproval 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: AzurePrivatelinkConnectionApprovalArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AzurePrivatelinkConnectionApproval resources. */ export interface AzurePrivatelinkConnectionApprovalState { /** * IP address of Azure private endpoint. */ endpointIpAddress?: pulumi.Input; /** * The ID of the Private Link connection. */ privatelinkConnectionId?: pulumi.Input; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ project?: pulumi.Input; /** * The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ serviceName?: pulumi.Input; /** * The state of the Private Link connection. */ state?: pulumi.Input; } /** * The set of arguments for constructing a AzurePrivatelinkConnectionApproval resource. */ export interface AzurePrivatelinkConnectionApprovalArgs { /** * IP address of Azure private endpoint. */ endpointIpAddress?: pulumi.Input; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ project: pulumi.Input; /** * The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ serviceName: pulumi.Input; } //# sourceMappingURL=azurePrivatelinkConnectionApproval.d.ts.map