// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** * ## # incus.NetworkAcl * * Provides information about an Incus network ACL. * See Incus network ACL [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_acls/) for more details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as incus from "@kiterun/incus"; * * const _this = incus.getNetworkAcl({ * name: "default", * }); * export const networkAclName = _this.then(_this => _this.name); * ``` */ export function getNetworkAcl( args: GetNetworkAclArgs, opts?: pulumi.InvokeOptions, ): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke( "incus:index/getNetworkAcl:getNetworkAcl", { description: args.description, egresses: args.egresses, ingresses: args.ingresses, name: args.name, project: args.project, remote: args.remote, }, opts, ); } /** * A collection of arguments for invoking getNetworkAcl. */ export interface GetNetworkAclArgs { /** * Description of the rule. */ description?: string; /** * List of egress rules. */ egresses?: inputs.GetNetworkAclEgress[]; /** * List of ingress rules. */ ingresses?: inputs.GetNetworkAclIngress[]; /** * **Required** - Name of the network ACL. */ name: string; /** * *Optional* - Name of the project where the network ACL is be stored. */ project?: string; /** * *Optional* - The remote in which the resource was created. If * not provided, the provider's default remote will be used. */ remote?: string; } /** * A collection of values returned by getNetworkAcl. */ export interface GetNetworkAclResult { /** * Map of key/value pairs of config settings. */ readonly config: { [key: string]: string }; /** * Description of the rule. */ readonly description: string; /** * List of egress rules. */ readonly egresses: outputs.GetNetworkAclEgress[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * List of ingress rules. */ readonly ingresses: outputs.GetNetworkAclIngress[]; readonly name: string; readonly project?: string; readonly remote?: string; } /** * ## # incus.NetworkAcl * * Provides information about an Incus network ACL. * See Incus network ACL [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_acls/) for more details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as incus from "@kiterun/incus"; * * const _this = incus.getNetworkAcl({ * name: "default", * }); * export const networkAclName = _this.then(_this => _this.name); * ``` */ export function getNetworkAclOutput( args: GetNetworkAclOutputArgs, opts?: pulumi.InvokeOutputOptions, ): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput( "incus:index/getNetworkAcl:getNetworkAcl", { description: args.description, egresses: args.egresses, ingresses: args.ingresses, name: args.name, project: args.project, remote: args.remote, }, opts, ); } /** * A collection of arguments for invoking getNetworkAcl. */ export interface GetNetworkAclOutputArgs { /** * Description of the rule. */ description?: pulumi.Input; /** * List of egress rules. */ egresses?: pulumi.Input[]>; /** * List of ingress rules. */ ingresses?: pulumi.Input[]>; /** * **Required** - Name of the network ACL. */ name: pulumi.Input; /** * *Optional* - Name of the project where the network ACL is be stored. */ project?: pulumi.Input; /** * *Optional* - The remote in which the resource was created. If * not provided, the provider's default remote will be used. */ remote?: pulumi.Input; }