Provides information about all Linode Firewall Templates.
Example Usage
The following example shows how one might use this data source to list all available Firewall Templates:
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const all = linode.getFirewallTemplates({});
export const firewallTemplateSlugs = all.then(all => all.firewallTemplates);
import pulumi
import pulumi_linode as linode
all = linode.get_firewall_templates()
pulumi.export("firewallTemplateSlugs", all.firewall_templates)
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
all, err := linode.GetFirewallTemplates(ctx, &linode.GetFirewallTemplatesArgs{}, nil)
if err != nil {
return err
}
ctx.Export("firewallTemplateSlugs", all.FirewallTemplates)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var all = Linode.GetFirewallTemplates.Invoke();
return new Dictionary<string, object?>
{
["firewallTemplateSlugs"] = all.Apply(getFirewallTemplatesResult => getFirewallTemplatesResult.FirewallTemplates),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.LinodeFunctions;
import com.pulumi.linode.inputs.GetFirewallTemplatesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var all = LinodeFunctions.getFirewallTemplates(GetFirewallTemplatesArgs.builder()
.build());
ctx.export("firewallTemplateSlugs", all.firewallTemplates());
}
}
variables:
all:
fn::invoke:
function: linode:getFirewallTemplates
arguments: {}
outputs:
firewallTemplateSlugs: ${all.firewallTemplates}
Or with some filters to get a subset of the results.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const filtered = linode.getFirewallTemplates({
filters: [{
name: "slug",
values: ["public"],
matchBy: "exact",
}],
});
export const firewallTemplateSlugs = filtered.then(filtered => filtered.firewallTemplates);
import pulumi
import pulumi_linode as linode
filtered = linode.get_firewall_templates(filters=[{
"name": "slug",
"values": ["public"],
"match_by": "exact",
}])
pulumi.export("firewallTemplateSlugs", filtered.firewall_templates)
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
filtered, err := linode.GetFirewallTemplates(ctx, &linode.GetFirewallTemplatesArgs{
Filters: []linode.GetFirewallTemplatesFilter{
{
Name: "slug",
Values: []string{
"public",
},
MatchBy: pulumi.StringRef("exact"),
},
},
}, nil)
if err != nil {
return err
}
ctx.Export("firewallTemplateSlugs", filtered.FirewallTemplates)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var filtered = Linode.GetFirewallTemplates.Invoke(new()
{
Filters = new[]
{
new Linode.Inputs.GetFirewallTemplatesFilterInputArgs
{
Name = "slug",
Values = new[]
{
"public",
},
MatchBy = "exact",
},
},
});
return new Dictionary<string, object?>
{
["firewallTemplateSlugs"] = filtered.Apply(getFirewallTemplatesResult => getFirewallTemplatesResult.FirewallTemplates),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.LinodeFunctions;
import com.pulumi.linode.inputs.GetFirewallTemplatesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var filtered = LinodeFunctions.getFirewallTemplates(GetFirewallTemplatesArgs.builder()
.filters(GetFirewallTemplatesFilterArgs.builder()
.name("slug")
.values("public")
.matchBy("exact")
.build())
.build());
ctx.export("firewallTemplateSlugs", filtered.firewallTemplates());
}
}
variables:
filtered:
fn::invoke:
function: linode:getFirewallTemplates
arguments:
filters:
- name: slug
values:
- public
matchBy: exact
outputs:
firewallTemplateSlugs: ${filtered.firewallTemplates}
Filterable Fields
slug
Using getFirewallTemplates
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getFirewallTemplates(args: GetFirewallTemplatesArgs, opts?: InvokeOptions): Promise<GetFirewallTemplatesResult>
function getFirewallTemplatesOutput(args: GetFirewallTemplatesOutputArgs, opts?: InvokeOptions): Output<GetFirewallTemplatesResult>def get_firewall_templates(filters: Optional[Sequence[GetFirewallTemplatesFilter]] = None,
opts: Optional[InvokeOptions] = None) -> GetFirewallTemplatesResult
def get_firewall_templates_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetFirewallTemplatesFilterArgs]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetFirewallTemplatesResult]func GetFirewallTemplates(ctx *Context, args *GetFirewallTemplatesArgs, opts ...InvokeOption) (*GetFirewallTemplatesResult, error)
func GetFirewallTemplatesOutput(ctx *Context, args *GetFirewallTemplatesOutputArgs, opts ...InvokeOption) GetFirewallTemplatesResultOutput> Note: This function is named GetFirewallTemplates in the Go SDK.
public static class GetFirewallTemplates
{
public static Task<GetFirewallTemplatesResult> InvokeAsync(GetFirewallTemplatesArgs args, InvokeOptions? opts = null)
public static Output<GetFirewallTemplatesResult> Invoke(GetFirewallTemplatesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetFirewallTemplatesResult> getFirewallTemplates(GetFirewallTemplatesArgs args, InvokeOptions options)
public static Output<GetFirewallTemplatesResult> getFirewallTemplates(GetFirewallTemplatesArgs args, InvokeOptions options)
fn::invoke:
function: linode:index/getFirewallTemplates:getFirewallTemplates
arguments:
# arguments dictionaryThe following arguments are supported:
getFirewallTemplates Result
The following output properties are available:
Supporting Types
GetFirewallTemplatesFilter
- Name string
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- Values List<string>
- A list of values for the filter to allow. These values should all be in string form.
- Match
By string - The method to match the field by. (
exact,regex,substring; defaultexact)
- Name string
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- Values []string
- A list of values for the filter to allow. These values should all be in string form.
- Match
By string - The method to match the field by. (
exact,regex,substring; defaultexact)
- name String
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- values List<String>
- A list of values for the filter to allow. These values should all be in string form.
- match
By String - The method to match the field by. (
exact,regex,substring; defaultexact)
- name string
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- values string[]
- A list of values for the filter to allow. These values should all be in string form.
- match
By string - The method to match the field by. (
exact,regex,substring; defaultexact)
- name str
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- values Sequence[str]
- A list of values for the filter to allow. These values should all be in string form.
- match_
by str - The method to match the field by. (
exact,regex,substring; defaultexact)
- name String
- The name of the field to filter by. See the Filterable Fields section for a complete list of filterable fields.
- values List<String>
- A list of values for the filter to allow. These values should all be in string form.
- match
By String - The method to match the field by. (
exact,regex,substring; defaultexact)
GetFirewallTemplatesFirewallTemplate
- Inbound
Policy string - The default behavior for inbound traffic.
- Inbounds
List<Get
Firewall Templates Firewall Template Inbound> - A list of firewall rules specifying allowed inbound network traffic.
- Outbound
Policy string - The default behavior for outbound traffic.
- Outbounds
List<Get
Firewall Templates Firewall Template Outbound> - A list of firewall rules specifying allowed outbound network traffic.
- Slug string
- The slug of the firewall template.
- Inbound
Policy string - The default behavior for inbound traffic.
- Inbounds
[]Get
Firewall Templates Firewall Template Inbound - A list of firewall rules specifying allowed inbound network traffic.
- Outbound
Policy string - The default behavior for outbound traffic.
- Outbounds
[]Get
Firewall Templates Firewall Template Outbound - A list of firewall rules specifying allowed outbound network traffic.
- Slug string
- The slug of the firewall template.
- inbound
Policy String - The default behavior for inbound traffic.
- inbounds
List<Get
Firewall Templates Firewall Template Inbound> - A list of firewall rules specifying allowed inbound network traffic.
- outbound
Policy String - The default behavior for outbound traffic.
- outbounds
List<Get
Firewall Templates Firewall Template Outbound> - A list of firewall rules specifying allowed outbound network traffic.
- slug String
- The slug of the firewall template.
- inbound
Policy string - The default behavior for inbound traffic.
- inbounds
Get
Firewall Templates Firewall Template Inbound[] - A list of firewall rules specifying allowed inbound network traffic.
- outbound
Policy string - The default behavior for outbound traffic.
- outbounds
Get
Firewall Templates Firewall Template Outbound[] - A list of firewall rules specifying allowed outbound network traffic.
- slug string
- The slug of the firewall template.
- inbound_
policy str - The default behavior for inbound traffic.
- inbounds
Sequence[Get
Firewall Templates Firewall Template Inbound] - A list of firewall rules specifying allowed inbound network traffic.
- outbound_
policy str - The default behavior for outbound traffic.
- outbounds
Sequence[Get
Firewall Templates Firewall Template Outbound] - A list of firewall rules specifying allowed outbound network traffic.
- slug str
- The slug of the firewall template.
- inbound
Policy String - The default behavior for inbound traffic.
- inbounds List<Property Map>
- A list of firewall rules specifying allowed inbound network traffic.
- outbound
Policy String - The default behavior for outbound traffic.
- outbounds List<Property Map>
- A list of firewall rules specifying allowed outbound network traffic.
- slug String
- The slug of the firewall template.
GetFirewallTemplatesFirewallTemplateInbound
GetFirewallTemplatesFirewallTemplateOutbound
Package Details
- Repository
- Linode pulumi/pulumi-linode
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
linodeTerraform Provider.
