1. Packages
  2. Packages
  3. UpCloud
  4. API Docs
  5. FirewallRuleset
Viewing docs for UpCloud v0.16.0
published on Wednesday, Jul 15, 2026 by UpCloudLtd
upcloud logo
Viewing docs for UpCloud v0.16.0
published on Wednesday, Jul 15, 2026 by UpCloudLtd

    This resource represents an UpCloud SDN firewall ruleset. Rules are managed as an ordered list; their position in the API is determined by their order in the rules list.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as upcloud from "@upcloud/pulumi-upcloud";
    
    // Create a stateful firewall ruleset with default DNS rules enabled
    const example = new upcloud.FirewallRuleset("example", {
        name: "example-ruleset",
        description: "Example firewall ruleset for production servers",
        defaultDnsRulesEnabled: true,
        labels: {
            environment: "production",
            managed_by: "terraform",
        },
    });
    // Create a firewall ruleset attached to a specific server
    const exampleServer = new upcloud.Server("example", {
        hostname: "terraform.example.tld",
        zone: "de-fra1",
        plan: "1xCPU-1GB",
        template: {
            storage: "Ubuntu Server 24.04 LTS (Noble Numbat)",
        },
        networkInterfaces: [{
            type: "utility",
        }],
    });
    const serverRuleset = new upcloud.FirewallRuleset("server_ruleset", {
        name: "server-ruleset",
        description: "Firewall rules for example server",
        serverUuid: exampleServer.id,
    });
    
    import pulumi
    import pulumi_upcloud as upcloud
    
    # Create a stateful firewall ruleset with default DNS rules enabled
    example = upcloud.FirewallRuleset("example",
        name="example-ruleset",
        description="Example firewall ruleset for production servers",
        default_dns_rules_enabled=True,
        labels={
            "environment": "production",
            "managed_by": "terraform",
        })
    # Create a firewall ruleset attached to a specific server
    example_server = upcloud.Server("example",
        hostname="terraform.example.tld",
        zone="de-fra1",
        plan="1xCPU-1GB",
        template={
            "storage": "Ubuntu Server 24.04 LTS (Noble Numbat)",
        },
        network_interfaces=[{
            "type": "utility",
        }])
    server_ruleset = upcloud.FirewallRuleset("server_ruleset",
        name="server-ruleset",
        description="Firewall rules for example server",
        server_uuid=example_server.id)
    
    package main
    
    import (
    	"github.com/UpCloudLtd/pulumi-upcloud/sdk/go/upcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a stateful firewall ruleset with default DNS rules enabled
    		_, err := upcloud.NewFirewallRuleset(ctx, "example", &upcloud.FirewallRulesetArgs{
    			Name:                   pulumi.String("example-ruleset"),
    			Description:            pulumi.String("Example firewall ruleset for production servers"),
    			DefaultDnsRulesEnabled: pulumi.Bool(true),
    			Labels: pulumi.StringMap{
    				"environment": pulumi.String("production"),
    				"managed_by":  pulumi.String("terraform"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Create a firewall ruleset attached to a specific server
    		exampleServer, err := upcloud.NewServer(ctx, "example", &upcloud.ServerArgs{
    			Hostname: pulumi.String("terraform.example.tld"),
    			Zone:     pulumi.String("de-fra1"),
    			Plan:     pulumi.String("1xCPU-1GB"),
    			Template: &upcloud.ServerTemplateArgs{
    				Storage: pulumi.String("Ubuntu Server 24.04 LTS (Noble Numbat)"),
    			},
    			NetworkInterfaces: upcloud.ServerNetworkInterfaceArray{
    				&upcloud.ServerNetworkInterfaceArgs{
    					Type: pulumi.String("utility"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = upcloud.NewFirewallRuleset(ctx, "server_ruleset", &upcloud.FirewallRulesetArgs{
    			Name:        pulumi.String("server-ruleset"),
    			Description: pulumi.String("Firewall rules for example server"),
    			ServerUuid:  exampleServer.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using UpCloud = UpCloud.Pulumi.UpCloud;
    
    return await Deployment.RunAsync(() => 
    {
        // Create a stateful firewall ruleset with default DNS rules enabled
        var example = new UpCloud.FirewallRuleset("example", new()
        {
            Name = "example-ruleset",
            Description = "Example firewall ruleset for production servers",
            DefaultDnsRulesEnabled = true,
            Labels = 
            {
                { "environment", "production" },
                { "managed_by", "terraform" },
            },
        });
    
        // Create a firewall ruleset attached to a specific server
        var exampleServer = new UpCloud.Server("example", new()
        {
            Hostname = "terraform.example.tld",
            Zone = "de-fra1",
            Plan = "1xCPU-1GB",
            Template = new UpCloud.Inputs.ServerTemplateArgs
            {
                Storage = "Ubuntu Server 24.04 LTS (Noble Numbat)",
            },
            NetworkInterfaces = new[]
            {
                new UpCloud.Inputs.ServerNetworkInterfaceArgs
                {
                    Type = "utility",
                },
            },
        });
    
        var serverRuleset = new UpCloud.FirewallRuleset("server_ruleset", new()
        {
            Name = "server-ruleset",
            Description = "Firewall rules for example server",
            ServerUuid = exampleServer.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.upcloud.FirewallRuleset;
    import com.pulumi.upcloud.FirewallRulesetArgs;
    import com.pulumi.upcloud.Server;
    import com.pulumi.upcloud.ServerArgs;
    import com.pulumi.upcloud.inputs.ServerTemplateArgs;
    import com.pulumi.upcloud.inputs.ServerNetworkInterfaceArgs;
    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) {
            // Create a stateful firewall ruleset with default DNS rules enabled
            var example = new FirewallRuleset("example", FirewallRulesetArgs.builder()
                .name("example-ruleset")
                .description("Example firewall ruleset for production servers")
                .defaultDnsRulesEnabled(true)
                .labels(Map.ofEntries(
                    Map.entry("environment", "production"),
                    Map.entry("managed_by", "terraform")
                ))
                .build());
    
            // Create a firewall ruleset attached to a specific server
            var exampleServer = new Server("exampleServer", ServerArgs.builder()
                .hostname("terraform.example.tld")
                .zone("de-fra1")
                .plan("1xCPU-1GB")
                .template(ServerTemplateArgs.builder()
                    .storage("Ubuntu Server 24.04 LTS (Noble Numbat)")
                    .build())
                .networkInterfaces(ServerNetworkInterfaceArgs.builder()
                    .type("utility")
                    .build())
                .build());
    
            var serverRuleset = new FirewallRuleset("serverRuleset", FirewallRulesetArgs.builder()
                .name("server-ruleset")
                .description("Firewall rules for example server")
                .serverUuid(exampleServer.id())
                .build());
    
        }
    }
    
    resources:
      # Create a stateful firewall ruleset with default DNS rules enabled
      example:
        type: upcloud:FirewallRuleset
        properties:
          name: example-ruleset
          description: Example firewall ruleset for production servers
          defaultDnsRulesEnabled: true # Add labels for organization
          labels:
            environment: production
            managed_by: terraform
      # Create a firewall ruleset attached to a specific server
      exampleServer:
        type: upcloud:Server
        name: example
        properties:
          hostname: terraform.example.tld
          zone: de-fra1
          plan: 1xCPU-1GB
          template:
            storage: Ubuntu Server 24.04 LTS (Noble Numbat)
          networkInterfaces:
            - type: utility
      serverRuleset:
        type: upcloud:FirewallRuleset
        name: server_ruleset
        properties:
          name: server-ruleset
          description: Firewall rules for example server
          serverUuid: ${exampleServer.id}
    
    Example coming soon!
    

    Create FirewallRuleset Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new FirewallRuleset(name: string, args?: FirewallRulesetArgs, opts?: CustomResourceOptions);
    @overload
    def FirewallRuleset(resource_name: str,
                        args: Optional[FirewallRulesetArgs] = None,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def FirewallRuleset(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        default_dns_rules_enabled: Optional[bool] = None,
                        description: Optional[str] = None,
                        enabled: Optional[bool] = None,
                        labels: Optional[Mapping[str, str]] = None,
                        name: Optional[str] = None,
                        rules: Optional[Sequence[FirewallRulesetRuleArgs]] = None,
                        server_uuid: Optional[str] = None)
    func NewFirewallRuleset(ctx *Context, name string, args *FirewallRulesetArgs, opts ...ResourceOption) (*FirewallRuleset, error)
    public FirewallRuleset(string name, FirewallRulesetArgs? args = null, CustomResourceOptions? opts = null)
    public FirewallRuleset(String name, FirewallRulesetArgs args)
    public FirewallRuleset(String name, FirewallRulesetArgs args, CustomResourceOptions options)
    
    type: upcloud:FirewallRuleset
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "upcloud_firewall_ruleset" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args FirewallRulesetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args FirewallRulesetArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args FirewallRulesetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FirewallRulesetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FirewallRulesetArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var firewallRulesetResource = new UpCloud.FirewallRuleset("firewallRulesetResource", new()
    {
        DefaultDnsRulesEnabled = false,
        Description = "string",
        Enabled = false,
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Rules = new[]
        {
            new UpCloud.Inputs.FirewallRulesetRuleArgs
            {
                Direction = "string",
                Family = "string",
                Action = "string",
                Enabled = false,
                IcmpType = 0,
                DestinationPortEnd = 0,
                DestinationPortStart = 0,
                DestinationAddressEnd = "string",
                DestinationAddressCidr = "string",
                Comment = "string",
                DestinationAddressStart = "string",
                Position = 0,
                Protocol = "string",
                SourceAddressCidr = "string",
                SourceAddressEnd = "string",
                SourceAddressStart = "string",
                SourcePortEnd = 0,
                SourcePortStart = 0,
            },
        },
        ServerUuid = "string",
    });
    
    example, err := upcloud.NewFirewallRuleset(ctx, "firewallRulesetResource", &upcloud.FirewallRulesetArgs{
    	DefaultDnsRulesEnabled: pulumi.Bool(false),
    	Description:            pulumi.String("string"),
    	Enabled:                pulumi.Bool(false),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Rules: upcloud.FirewallRulesetRuleArray{
    		&upcloud.FirewallRulesetRuleArgs{
    			Direction:               pulumi.String("string"),
    			Family:                  pulumi.String("string"),
    			Action:                  pulumi.String("string"),
    			Enabled:                 pulumi.Bool(false),
    			IcmpType:                pulumi.Int(0),
    			DestinationPortEnd:      pulumi.Int(0),
    			DestinationPortStart:    pulumi.Int(0),
    			DestinationAddressEnd:   pulumi.String("string"),
    			DestinationAddressCidr:  pulumi.String("string"),
    			Comment:                 pulumi.String("string"),
    			DestinationAddressStart: pulumi.String("string"),
    			Position:                pulumi.Int(0),
    			Protocol:                pulumi.String("string"),
    			SourceAddressCidr:       pulumi.String("string"),
    			SourceAddressEnd:        pulumi.String("string"),
    			SourceAddressStart:      pulumi.String("string"),
    			SourcePortEnd:           pulumi.Int(0),
    			SourcePortStart:         pulumi.Int(0),
    		},
    	},
    	ServerUuid: pulumi.String("string"),
    })
    
    resource "upcloud_firewall_ruleset" "firewallRulesetResource" {
      lifecycle {
        create_before_destroy = true
      }
      default_dns_rules_enabled = false
      description               = "string"
      enabled                   = false
      labels = {
        "string" = "string"
      }
      name = "string"
      rules {
        direction                 = "string"
        family                    = "string"
        action                    = "string"
        enabled                   = false
        icmp_type                 = 0
        destination_port_end      = 0
        destination_port_start    = 0
        destination_address_end   = "string"
        destination_address_cidr  = "string"
        comment                   = "string"
        destination_address_start = "string"
        position                  = 0
        protocol                  = "string"
        source_address_cidr       = "string"
        source_address_end        = "string"
        source_address_start      = "string"
        source_port_end           = 0
        source_port_start         = 0
      }
      server_uuid = "string"
    }
    
    var firewallRulesetResource = new FirewallRuleset("firewallRulesetResource", FirewallRulesetArgs.builder()
        .defaultDnsRulesEnabled(false)
        .description("string")
        .enabled(false)
        .labels(Map.of("string", "string"))
        .name("string")
        .rules(FirewallRulesetRuleArgs.builder()
            .direction("string")
            .family("string")
            .action("string")
            .enabled(false)
            .icmpType(0)
            .destinationPortEnd(0)
            .destinationPortStart(0)
            .destinationAddressEnd("string")
            .destinationAddressCidr("string")
            .comment("string")
            .destinationAddressStart("string")
            .position(0)
            .protocol("string")
            .sourceAddressCidr("string")
            .sourceAddressEnd("string")
            .sourceAddressStart("string")
            .sourcePortEnd(0)
            .sourcePortStart(0)
            .build())
        .serverUuid("string")
        .build());
    
    firewall_ruleset_resource = upcloud.FirewallRuleset("firewallRulesetResource",
        default_dns_rules_enabled=False,
        description="string",
        enabled=False,
        labels={
            "string": "string",
        },
        name="string",
        rules=[{
            "direction": "string",
            "family": "string",
            "action": "string",
            "enabled": False,
            "icmp_type": 0,
            "destination_port_end": 0,
            "destination_port_start": 0,
            "destination_address_end": "string",
            "destination_address_cidr": "string",
            "comment": "string",
            "destination_address_start": "string",
            "position": 0,
            "protocol": "string",
            "source_address_cidr": "string",
            "source_address_end": "string",
            "source_address_start": "string",
            "source_port_end": 0,
            "source_port_start": 0,
        }],
        server_uuid="string")
    
    const firewallRulesetResource = new upcloud.FirewallRuleset("firewallRulesetResource", {
        defaultDnsRulesEnabled: false,
        description: "string",
        enabled: false,
        labels: {
            string: "string",
        },
        name: "string",
        rules: [{
            direction: "string",
            family: "string",
            action: "string",
            enabled: false,
            icmpType: 0,
            destinationPortEnd: 0,
            destinationPortStart: 0,
            destinationAddressEnd: "string",
            destinationAddressCidr: "string",
            comment: "string",
            destinationAddressStart: "string",
            position: 0,
            protocol: "string",
            sourceAddressCidr: "string",
            sourceAddressEnd: "string",
            sourceAddressStart: "string",
            sourcePortEnd: 0,
            sourcePortStart: 0,
        }],
        serverUuid: "string",
    });
    
    type: upcloud:FirewallRuleset
    properties:
        defaultDnsRulesEnabled: false
        description: string
        enabled: false
        labels:
            string: string
        name: string
        rules:
            - action: string
              comment: string
              destinationAddressCidr: string
              destinationAddressEnd: string
              destinationAddressStart: string
              destinationPortEnd: 0
              destinationPortStart: 0
              direction: string
              enabled: false
              family: string
              icmpType: 0
              position: 0
              protocol: string
              sourceAddressCidr: string
              sourceAddressEnd: string
              sourceAddressStart: string
              sourcePortEnd: 0
              sourcePortStart: 0
        serverUuid: string
    

    FirewallRuleset Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The FirewallRuleset resource accepts the following input properties:

    DefaultDnsRulesEnabled bool
    Whether default DNS rules are enabled.
    Description string
    Description of the firewall ruleset.
    Enabled bool
    Whether the ruleset is enabled.
    Labels Dictionary<string, string>
    Ruleset labels as key/value pairs.
    Name string
    Name of the firewall ruleset.
    Rules List<UpCloud.Pulumi.UpCloud.Inputs.FirewallRulesetRule>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    ServerUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    DefaultDnsRulesEnabled bool
    Whether default DNS rules are enabled.
    Description string
    Description of the firewall ruleset.
    Enabled bool
    Whether the ruleset is enabled.
    Labels map[string]string
    Ruleset labels as key/value pairs.
    Name string
    Name of the firewall ruleset.
    Rules []FirewallRulesetRuleArgs
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    ServerUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    default_dns_rules_enabled bool
    Whether default DNS rules are enabled.
    description string
    Description of the firewall ruleset.
    enabled bool
    Whether the ruleset is enabled.
    labels map(string)
    Ruleset labels as key/value pairs.
    name string
    Name of the firewall ruleset.
    rules list(object)
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    server_uuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    defaultDnsRulesEnabled Boolean
    Whether default DNS rules are enabled.
    description String
    Description of the firewall ruleset.
    enabled Boolean
    Whether the ruleset is enabled.
    labels Map<String,String>
    Ruleset labels as key/value pairs.
    name String
    Name of the firewall ruleset.
    rules List<FirewallRulesetRule>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid String
    Optional server UUID to bind with this ruleset. Create-only in API.
    defaultDnsRulesEnabled boolean
    Whether default DNS rules are enabled.
    description string
    Description of the firewall ruleset.
    enabled boolean
    Whether the ruleset is enabled.
    labels {[key: string]: string}
    Ruleset labels as key/value pairs.
    name string
    Name of the firewall ruleset.
    rules FirewallRulesetRule[]
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    default_dns_rules_enabled bool
    Whether default DNS rules are enabled.
    description str
    Description of the firewall ruleset.
    enabled bool
    Whether the ruleset is enabled.
    labels Mapping[str, str]
    Ruleset labels as key/value pairs.
    name str
    Name of the firewall ruleset.
    rules Sequence[FirewallRulesetRuleArgs]
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    server_uuid str
    Optional server UUID to bind with this ruleset. Create-only in API.
    defaultDnsRulesEnabled Boolean
    Whether default DNS rules are enabled.
    description String
    Description of the firewall ruleset.
    enabled Boolean
    Whether the ruleset is enabled.
    labels Map<String>
    Ruleset labels as key/value pairs.
    name String
    Name of the firewall ruleset.
    rules List<Property Map>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid String
    Optional server UUID to bind with this ruleset. Create-only in API.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the FirewallRuleset resource produces the following output properties:

    CreatedAt string
    Creation timestamp.
    Id string
    The provider-assigned unique ID for this managed resource.
    UpdatedAt string
    Last update timestamp.
    Version int
    Ruleset version.
    CreatedAt string
    Creation timestamp.
    Id string
    The provider-assigned unique ID for this managed resource.
    UpdatedAt string
    Last update timestamp.
    Version int
    Ruleset version.
    created_at string
    Creation timestamp.
    id string
    The provider-assigned unique ID for this managed resource.
    updated_at string
    Last update timestamp.
    version number
    Ruleset version.
    createdAt String
    Creation timestamp.
    id String
    The provider-assigned unique ID for this managed resource.
    updatedAt String
    Last update timestamp.
    version Integer
    Ruleset version.
    createdAt string
    Creation timestamp.
    id string
    The provider-assigned unique ID for this managed resource.
    updatedAt string
    Last update timestamp.
    version number
    Ruleset version.
    created_at str
    Creation timestamp.
    id str
    The provider-assigned unique ID for this managed resource.
    updated_at str
    Last update timestamp.
    version int
    Ruleset version.
    createdAt String
    Creation timestamp.
    id String
    The provider-assigned unique ID for this managed resource.
    updatedAt String
    Last update timestamp.
    version Number
    Ruleset version.

    Look up Existing FirewallRuleset Resource

    Get an existing FirewallRuleset resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FirewallRulesetState, opts?: CustomResourceOptions): FirewallRuleset
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[str] = None,
            default_dns_rules_enabled: Optional[bool] = None,
            description: Optional[str] = None,
            enabled: Optional[bool] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            rules: Optional[Sequence[FirewallRulesetRuleArgs]] = None,
            server_uuid: Optional[str] = None,
            updated_at: Optional[str] = None,
            version: Optional[int] = None) -> FirewallRuleset
    func GetFirewallRuleset(ctx *Context, name string, id IDInput, state *FirewallRulesetState, opts ...ResourceOption) (*FirewallRuleset, error)
    public static FirewallRuleset Get(string name, Input<string> id, FirewallRulesetState? state, CustomResourceOptions? opts = null)
    public static FirewallRuleset get(String name, Output<String> id, FirewallRulesetState state, CustomResourceOptions options)
    resources:  _:    type: upcloud:FirewallRuleset    get:      id: ${id}
    import {
      to = upcloud_firewall_ruleset.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreatedAt string
    Creation timestamp.
    DefaultDnsRulesEnabled bool
    Whether default DNS rules are enabled.
    Description string
    Description of the firewall ruleset.
    Enabled bool
    Whether the ruleset is enabled.
    Labels Dictionary<string, string>
    Ruleset labels as key/value pairs.
    Name string
    Name of the firewall ruleset.
    Rules List<UpCloud.Pulumi.UpCloud.Inputs.FirewallRulesetRule>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    ServerUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    UpdatedAt string
    Last update timestamp.
    Version int
    Ruleset version.
    CreatedAt string
    Creation timestamp.
    DefaultDnsRulesEnabled bool
    Whether default DNS rules are enabled.
    Description string
    Description of the firewall ruleset.
    Enabled bool
    Whether the ruleset is enabled.
    Labels map[string]string
    Ruleset labels as key/value pairs.
    Name string
    Name of the firewall ruleset.
    Rules []FirewallRulesetRuleArgs
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    ServerUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    UpdatedAt string
    Last update timestamp.
    Version int
    Ruleset version.
    created_at string
    Creation timestamp.
    default_dns_rules_enabled bool
    Whether default DNS rules are enabled.
    description string
    Description of the firewall ruleset.
    enabled bool
    Whether the ruleset is enabled.
    labels map(string)
    Ruleset labels as key/value pairs.
    name string
    Name of the firewall ruleset.
    rules list(object)
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    server_uuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    updated_at string
    Last update timestamp.
    version number
    Ruleset version.
    createdAt String
    Creation timestamp.
    defaultDnsRulesEnabled Boolean
    Whether default DNS rules are enabled.
    description String
    Description of the firewall ruleset.
    enabled Boolean
    Whether the ruleset is enabled.
    labels Map<String,String>
    Ruleset labels as key/value pairs.
    name String
    Name of the firewall ruleset.
    rules List<FirewallRulesetRule>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid String
    Optional server UUID to bind with this ruleset. Create-only in API.
    updatedAt String
    Last update timestamp.
    version Integer
    Ruleset version.
    createdAt string
    Creation timestamp.
    defaultDnsRulesEnabled boolean
    Whether default DNS rules are enabled.
    description string
    Description of the firewall ruleset.
    enabled boolean
    Whether the ruleset is enabled.
    labels {[key: string]: string}
    Ruleset labels as key/value pairs.
    name string
    Name of the firewall ruleset.
    rules FirewallRulesetRule[]
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid string
    Optional server UUID to bind with this ruleset. Create-only in API.
    updatedAt string
    Last update timestamp.
    version number
    Ruleset version.
    created_at str
    Creation timestamp.
    default_dns_rules_enabled bool
    Whether default DNS rules are enabled.
    description str
    Description of the firewall ruleset.
    enabled bool
    Whether the ruleset is enabled.
    labels Mapping[str, str]
    Ruleset labels as key/value pairs.
    name str
    Name of the firewall ruleset.
    rules Sequence[FirewallRulesetRuleArgs]
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    server_uuid str
    Optional server UUID to bind with this ruleset. Create-only in API.
    updated_at str
    Last update timestamp.
    version int
    Ruleset version.
    createdAt String
    Creation timestamp.
    defaultDnsRulesEnabled Boolean
    Whether default DNS rules are enabled.
    description String
    Description of the firewall ruleset.
    enabled Boolean
    Whether the ruleset is enabled.
    labels Map<String>
    Ruleset labels as key/value pairs.
    name String
    Name of the firewall ruleset.
    rules List<Property Map>
    Ordered list of firewall rules. Rules are applied in list order; the position attribute reflects the 1-based index assigned by the API and cannot be configured.
    serverUuid String
    Optional server UUID to bind with this ruleset. Create-only in API.
    updatedAt String
    Last update timestamp.
    version Number
    Ruleset version.

    Supporting Types

    FirewallRulesetRule, FirewallRulesetRuleArgs

    Action string
    Rule action.
    Direction string
    Traffic direction the rule applies to.
    Family string
    Address family.
    Comment string
    Rule comment.
    DestinationAddressCidr string
    Destination CIDR block.
    DestinationAddressEnd string
    End of destination IP address range.
    DestinationAddressStart string
    Start of destination IP address range.
    DestinationPortEnd int
    End of destination port range.
    DestinationPortStart int
    Start of destination port range.
    Enabled bool
    Whether the rule is enabled.
    IcmpType int
    ICMP type number.
    Position int
    Rule position (1-based). Computed from the rule's index in the list.
    Protocol string
    IP protocol.
    SourceAddressCidr string
    Source CIDR block.
    SourceAddressEnd string
    End of source IP address range.
    SourceAddressStart string
    Start of source IP address range.
    SourcePortEnd int
    End of source port range.
    SourcePortStart int
    Start of source port range.
    Action string
    Rule action.
    Direction string
    Traffic direction the rule applies to.
    Family string
    Address family.
    Comment string
    Rule comment.
    DestinationAddressCidr string
    Destination CIDR block.
    DestinationAddressEnd string
    End of destination IP address range.
    DestinationAddressStart string
    Start of destination IP address range.
    DestinationPortEnd int
    End of destination port range.
    DestinationPortStart int
    Start of destination port range.
    Enabled bool
    Whether the rule is enabled.
    IcmpType int
    ICMP type number.
    Position int
    Rule position (1-based). Computed from the rule's index in the list.
    Protocol string
    IP protocol.
    SourceAddressCidr string
    Source CIDR block.
    SourceAddressEnd string
    End of source IP address range.
    SourceAddressStart string
    Start of source IP address range.
    SourcePortEnd int
    End of source port range.
    SourcePortStart int
    Start of source port range.
    action string
    Rule action.
    direction string
    Traffic direction the rule applies to.
    family string
    Address family.
    comment string
    Rule comment.
    destination_address_cidr string
    Destination CIDR block.
    destination_address_end string
    End of destination IP address range.
    destination_address_start string
    Start of destination IP address range.
    destination_port_end number
    End of destination port range.
    destination_port_start number
    Start of destination port range.
    enabled bool
    Whether the rule is enabled.
    icmp_type number
    ICMP type number.
    position number
    Rule position (1-based). Computed from the rule's index in the list.
    protocol string
    IP protocol.
    source_address_cidr string
    Source CIDR block.
    source_address_end string
    End of source IP address range.
    source_address_start string
    Start of source IP address range.
    source_port_end number
    End of source port range.
    source_port_start number
    Start of source port range.
    action String
    Rule action.
    direction String
    Traffic direction the rule applies to.
    family String
    Address family.
    comment String
    Rule comment.
    destinationAddressCidr String
    Destination CIDR block.
    destinationAddressEnd String
    End of destination IP address range.
    destinationAddressStart String
    Start of destination IP address range.
    destinationPortEnd Integer
    End of destination port range.
    destinationPortStart Integer
    Start of destination port range.
    enabled Boolean
    Whether the rule is enabled.
    icmpType Integer
    ICMP type number.
    position Integer
    Rule position (1-based). Computed from the rule's index in the list.
    protocol String
    IP protocol.
    sourceAddressCidr String
    Source CIDR block.
    sourceAddressEnd String
    End of source IP address range.
    sourceAddressStart String
    Start of source IP address range.
    sourcePortEnd Integer
    End of source port range.
    sourcePortStart Integer
    Start of source port range.
    action string
    Rule action.
    direction string
    Traffic direction the rule applies to.
    family string
    Address family.
    comment string
    Rule comment.
    destinationAddressCidr string
    Destination CIDR block.
    destinationAddressEnd string
    End of destination IP address range.
    destinationAddressStart string
    Start of destination IP address range.
    destinationPortEnd number
    End of destination port range.
    destinationPortStart number
    Start of destination port range.
    enabled boolean
    Whether the rule is enabled.
    icmpType number
    ICMP type number.
    position number
    Rule position (1-based). Computed from the rule's index in the list.
    protocol string
    IP protocol.
    sourceAddressCidr string
    Source CIDR block.
    sourceAddressEnd string
    End of source IP address range.
    sourceAddressStart string
    Start of source IP address range.
    sourcePortEnd number
    End of source port range.
    sourcePortStart number
    Start of source port range.
    action str
    Rule action.
    direction str
    Traffic direction the rule applies to.
    family str
    Address family.
    comment str
    Rule comment.
    destination_address_cidr str
    Destination CIDR block.
    destination_address_end str
    End of destination IP address range.
    destination_address_start str
    Start of destination IP address range.
    destination_port_end int
    End of destination port range.
    destination_port_start int
    Start of destination port range.
    enabled bool
    Whether the rule is enabled.
    icmp_type int
    ICMP type number.
    position int
    Rule position (1-based). Computed from the rule's index in the list.
    protocol str
    IP protocol.
    source_address_cidr str
    Source CIDR block.
    source_address_end str
    End of source IP address range.
    source_address_start str
    Start of source IP address range.
    source_port_end int
    End of source port range.
    source_port_start int
    Start of source port range.
    action String
    Rule action.
    direction String
    Traffic direction the rule applies to.
    family String
    Address family.
    comment String
    Rule comment.
    destinationAddressCidr String
    Destination CIDR block.
    destinationAddressEnd String
    End of destination IP address range.
    destinationAddressStart String
    Start of destination IP address range.
    destinationPortEnd Number
    End of destination port range.
    destinationPortStart Number
    Start of destination port range.
    enabled Boolean
    Whether the rule is enabled.
    icmpType Number
    ICMP type number.
    position Number
    Rule position (1-based). Computed from the rule's index in the list.
    protocol String
    IP protocol.
    sourceAddressCidr String
    Source CIDR block.
    sourceAddressEnd String
    End of source IP address range.
    sourceAddressStart String
    Start of source IP address range.
    sourcePortEnd Number
    End of source port range.
    sourcePortStart Number
    Start of source port range.

    Package Details

    Repository
    upcloud UpCloudLtd/pulumi-upcloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the upcloud Terraform Provider.
    upcloud logo
    Viewing docs for UpCloud v0.16.0
    published on Wednesday, Jul 15, 2026 by UpCloudLtd

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial