// *** 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; }